]> code.delx.au - gnu-emacs/commitdiff
Trailing whitespace deleted.
authorJuanma Barranquero <lekktu@gmail.com>
Tue, 4 Feb 2003 14:56:31 +0000 (14:56 +0000)
committerJuanma Barranquero <lekktu@gmail.com>
Tue, 4 Feb 2003 14:56:31 +0000 (14:56 +0000)
499 files changed:
ChangeLog
FTP
INSTALL
Makefile.in
README
admin/alloc-colors.c
admin/build-configs
admin/emacs-pretesters
admin/make-emacs
admin/nt/README-ftp-server
admin/revdiff
configure.in
etc/COOKIES
etc/ChangeLog
etc/DEBUG
etc/JOKES
etc/LEDIT
etc/LINUX-GNU
etc/LPF
etc/MAILINGLISTS
etc/MH-E-NEWS
etc/ONEWS
etc/ONEWS.1
etc/ONEWS.2
etc/ONEWS.4
etc/ORDERS.EUROPE
etc/ORDERS.JAPAN
etc/OTHER.EMACSES
etc/PROBLEMS
etc/SERVICE
etc/TERMS
etc/TODO
etc/TUTORIAL
etc/TUTORIAL.cs
etc/TUTORIAL.de
etc/TUTORIAL.fr
etc/TUTORIAL.ja
etc/TUTORIAL.nl
etc/TUTORIAL.pl
etc/TUTORIAL.ru
etc/TUTORIAL.sk
etc/TUTORIAL.sl
etc/TUTORIAL.sv
etc/TUTORIAL.th
etc/WHY-FREE
etc/Xkeymap.txt
etc/calccard.tex
etc/condom.1
etc/cs-refcard.tex
etc/cs-survival.tex
etc/de-refcard.tex
etc/edt-user.doc
etc/emacs.1
etc/emacs.bash
etc/fr-drdref.tex
etc/fr-refcard.tex
etc/fr-survival.tex
etc/future-bug
etc/gnu.xpm
etc/gnus-tut.txt
etc/ledit.l
etc/ms-7bkermit
etc/pl-refcard.tex
etc/refcard.tex
etc/rgb.txt
etc/sk-refcard.tex
etc/sk-survival.tex
etc/survival.tex
etc/tasks.texi
etc/termcap.src
etc/vipcard.tex
etc/viperCard.tex
install-sh
leim/ChangeLog
leim/Makefile.in
leim/makefile.nt
leim/makefile.w32-in
leim/quail/cyril-jis.el
leim/quail/cyrillic.el
leim/quail/ethiopic.el
leim/quail/greek.el
leim/quail/hangul.el
leim/quail/hangul3.el
leim/quail/hanja.el
leim/quail/hebrew.el
leim/quail/japanese.el
leim/quail/latin-alt.el
leim/quail/latin-ltx.el
leim/quail/latin-pre.el
leim/quail/lrt.el
leim/quail/thai.el
leim/quail/tibetan.el
leim/quail/vntelex.el
lib-src/ChangeLog
lib-src/b2m.pl
lib-src/ebrowse.c
lib-src/emacstool.c
lib-src/make-docfile.c
lib-src/makefile.nt
lib-src/movemail.c
lib-src/ntlib.c
lib-src/pop.c
lib-src/profile.c
lib-src/rcs-checkin
lib-src/update-game-score.c
lib-src/yow.c
lispintro/INSTALL
lispintro/Makefile.old
lispintro/README
lispintro/configure
lispintro/install-sh
lispintro/texinfo.tex
lispref/Makefile.in
lispref/README
lispref/abbrevs.texi
lispref/advice.texi
lispref/anti.texi
lispref/backups.texi
lispref/buffers.texi
lispref/calendar.texi
lispref/commands.texi
lispref/compile.texi
lispref/configure
lispref/control.texi
lispref/customize.texi
lispref/debugging.texi
lispref/display.texi
lispref/edebug.texi
lispref/elisp-covers.texi
lispref/elisp.texi
lispref/errors.texi
lispref/eval.texi
lispref/files.texi
lispref/frames.texi
lispref/front-cover-1.texi
lispref/functions.texi
lispref/gpl.texi
lispref/hash.texi
lispref/help.texi
lispref/hooks.texi
lispref/index.perm
lispref/intro.texi
lispref/keymaps.texi
lispref/lists.texi
lispref/loading.texi
lispref/locals.texi
lispref/macros.texi
lispref/maps.texi
lispref/markers.texi
lispref/minibuf.texi
lispref/modes.texi
lispref/nonascii.texi
lispref/numbers.texi
lispref/objects.texi
lispref/permute-index
lispref/positions.texi
lispref/processes.texi
lispref/searching.texi
lispref/sequences.texi
lispref/streams.texi
lispref/strings.texi
lispref/symbols.texi
lispref/syntax.texi
lispref/text.texi
lispref/tindex.pl
lispref/tips.texi
lispref/two-volume-cross-refs.txt
lispref/two.el
lispref/variables.texi
lispref/vol1.texi
lispref/vol2.texi
lispref/windows.texi
lwlib/ChangeLog
lwlib/lwlib-Xaw.c
lwlib/lwlib-Xaw.h
lwlib/lwlib-Xlw.c
lwlib/lwlib-Xm.c
lwlib/lwlib-Xm.h
lwlib/lwlib-utils.c
lwlib/lwlib.c
lwlib/lwlib.h
lwlib/xlwmenu.c
mac/ChangeLog
mac/INSTALL
mac/inc/config.h
mac/inc/m-mac.h
mac/make-package
mac/makefile.MPW
mac/src/chdir.c
make-dist
man/ChangeLog
man/Makefile.in
man/ack.texi
man/ada-mode.texi
man/basic.texi
man/buffers.texi
man/building.texi
man/calc.texi
man/calendar.texi
man/cc-mode.texi
man/cl.texi
man/cmdargs.texi
man/commands.texi
man/custom.texi
man/dired-x.texi
man/display.texi
man/ebrowse.texi
man/emacs-mime.texi
man/emacs.texi
man/entering.texi
man/eshell.texi
man/eudc.texi
man/files.texi
man/fixit.texi
man/forms.texi
man/frames.texi
man/glossary.texi
man/gnus-faq.texi
man/gnus.texi
man/idlwave.texi
man/indent.texi
man/killing.texi
man/macos.texi
man/maintaining.texi
man/mark.texi
man/message.texi
man/mh-e.texi
man/misc.texi
man/msdog.texi
man/mule.texi
man/pcl-cvs.texi
man/programs.texi
man/reftex.texi
man/rmail.texi
man/sc.texi
man/screen.texi
man/texinfo.tex
man/text.texi
man/tramp.texi
man/trouble.texi
man/vip.texi
man/viper.texi
man/widget.texi
man/xresources.texi
msdos/ChangeLog
msdos/mainmake
msdos/mainmake.v2
nt/INSTALL
nt/addpm.c
nt/addsection.c
nt/cmdproxy.c
nt/config.nt
nt/ddeclient.c
nt/gmake.defs
nt/inc/sys/time.h
nt/makefile.def
nt/makefile.nt
nt/makefile.w32-in
nt/nmake.defs
nt/preprep.c
oldXMenu/Activate.c
oldXMenu/AddPane.c
oldXMenu/AddSel.c
oldXMenu/ChgSel.c
oldXMenu/Create.c
oldXMenu/DelPane.c
oldXMenu/DelSel.c
oldXMenu/Destroy.c
oldXMenu/FindPane.c
oldXMenu/InsPane.c
oldXMenu/InsSel.c
oldXMenu/Internal.c
oldXMenu/Locate.c
oldXMenu/Post.c
oldXMenu/README
oldXMenu/Recomp.c
oldXMenu/SetSel.c
oldXMenu/X10.h
oldXMenu/XCrAssoc.c
oldXMenu/XDestAssoc.c
oldXMenu/XLookAssoc.c
oldXMenu/XMakeAssoc.c
oldXMenu/XMenu.h
oldXMenu/XMenuInt.h
oldXMenu/insque.c
src/.gdbinit
src/ChangeLog.3
src/ChangeLog.4
src/ChangeLog.5
src/ChangeLog.6
src/ChangeLog.7
src/ChangeLog.8
src/ChangeLog.9
src/abbrev.c
src/alloc.c
src/alloca.s
src/atimer.c
src/atimer.h
src/blockinput.h
src/buffer.c
src/buffer.h
src/callint.c
src/callproc.c
src/casetab.c
src/category.c
src/category.h
src/ccl.c
src/ccl.h
src/charset.c
src/cm.c
src/coding.c
src/composite.c
src/composite.h
src/config.in
src/dired.c
src/dispextern.h
src/dispnew.c
src/doc.c
src/ecrt0.c
src/editfns.c
src/eval.c
src/filelock.c
src/floatfns.c
src/fontset.h
src/frame.c
src/frame.h
src/gmalloc.c
src/gtkutil.c
src/gtkutil.h
src/hftctl.c
src/indent.h
src/insdel.c
src/keyboard.c
src/keyboard.h
src/lread.c
src/m/7300.h
src/m/alliant-2800.h
src/m/alliant.h
src/m/alliant1.h
src/m/alliant4.h
src/m/alpha.h
src/m/altos.h
src/m/amdahl.h
src/m/amdx86-64.h
src/m/apollo.h
src/m/att3b.h
src/m/celerity.h
src/m/convex.h
src/m/cydra5.h
src/m/delta88k.h
src/m/dpx2.h
src/m/dual.h
src/m/elxsi.h
src/m/gould-np1.h
src/m/gould.h
src/m/hp800.h
src/m/hp9000s300.h
src/m/i860.h
src/m/ibm370aix.h
src/m/ibmps2-aix.h
src/m/ibmrs6000.h
src/m/ibmrt-aix.h
src/m/ibmrt.h
src/m/ibms390.h
src/m/intel386.h
src/m/irist.h
src/m/is386.h
src/m/isi-ov.h
src/m/masscomp.h
src/m/mega68.h
src/m/mg1.h
src/m/mips-siemens.h
src/m/mips.h
src/m/mips4.h
src/m/news-risc.h
src/m/news.h
src/m/nh3000.h
src/m/nh4000.h
src/m/ns16000.h
src/m/ns32000.h
src/m/nu.h
src/m/orion.h
src/m/orion105.h
src/m/plexus.h
src/m/pmax.h
src/m/powermac.h
src/m/powerpcle.h
src/m/pyramid.h
src/m/sequent-ptx.h
src/m/sequent.h
src/m/sparc.h
src/m/sps7.h
src/m/sr2k.h
src/m/stride.h
src/m/sun1.h
src/m/sun2.h
src/m/sun3-68881.h
src/m/sun3-fpa.h
src/m/sun3-soft.h
src/m/sun3.h
src/m/sun386.h
src/m/symmetry.h
src/m/tad68k.h
src/m/tahoe.h
src/m/tandem-s2.h
src/m/targon31.h
src/m/tek4300.h
src/m/tekxd88.h
src/m/template.h
src/m/tower32.h
src/m/tower32v3.h
src/m/ustation.h
src/m/vax.h
src/m/wicat.h
src/m/windowsnt.h
src/m/xps100.h
src/mac.c
src/macmenu.c
src/macros.c
src/macterm.c
src/macterm.h
src/marker.c
src/msdos.c
src/print.c
src/process.c
src/puresize.h
src/ralloc.c
src/regex.c
src/region-cache.c
src/region-cache.h
src/s/386bsd.h
src/s/aix4-1.h
src/s/bsd4-1.h
src/s/cygwin.h
src/s/darwin.h
src/s/freebsd.h
src/s/hiuxmpp.h
src/s/hiuxwe2.h
src/s/hpux8.h
src/s/irix5-0.h
src/s/irix5-2.h
src/s/ms-w32.h
src/s/netbsd.h
src/s/ptx.h
src/s/sco4.h
src/s/sco5.h
src/s/template.h
src/s/umax.h
src/s/vms.h
src/scroll.c
src/search.c
src/sunfns.c
src/syntax.c
src/syntax.h
src/sysdep.c
src/syssignal.h
src/systime.h
src/systty.h
src/syswait.h
src/term.c
src/termhooks.h
src/tparam.c
src/undo.c
src/unexaix.c
src/unexalpha.c
src/unexconvex.c
src/unexec.c
src/unexenix.c
src/unexhp9k800.c
src/unexmacosx.c
src/unexnext.c
src/unexsni.c
src/unexsunos4.c
src/unexw32.c
src/vm-limit.c
src/w32.c
src/w32.h
src/w32bdf.c
src/w32bdf.h
src/w32console.c
src/w32fns.c
src/w32inevt.c
src/w32inevt.h
src/w32menu.c
src/w32proc.c
src/w32reg.c
src/w32term.h
src/w32xfns.c
src/widget.c
src/widgetprv.h
src/window.c
src/window.h
src/xdisp.c
src/xfaces.c
src/xfns.c
src/xmenu.c
src/xterm.c
src/xterm.h
update-subdirs

index a6a987163e7b48d131bdb86e16f20f50a201309e..d0e6b3b175401d1f9b1e719364b23ee2b04cd91e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
 
        * make-dist: Make links for files under lisp/language.
 
-1997-02-20  Kenichi Handa <handa@etl.go.jp>
+1997-02-20  Kenichi Handa  <handa@etl.go.jp>
 
        * update-subdirs: Exclude the directory "language" from subdirs.
 
        * config.sub: Use `pc', not `unknown', when canonicalizing
        the vendor for ...86.
 
-1996-07-15  David Mosberger-Tang <davidm@AZStarNet.com>
+1996-07-15  David Mosberger-Tang  <davidm@AZStarNet.com>
 
        * configure.in: Check for termios.h header.
 
        * configure.in (arm-acorn-riscix1.1*, arm-acorn-riscix1.2*):
        riscix.h renamed to acorn.h.
 
-1994-09-21  Michael Ben-Gershon (mybg@cs.huji.ac.il)
+1994-09-21  Michael Ben-Gershon  (mybg@cs.huji.ac.il)
 
        * configure.in (arm-acorn-riscix1.1*, arm-acorn-riscix1.2*):
        New configurations.
diff --git a/FTP b/FTP
index 256d16ff6be40429545e484837cf2b19c63f65bd..ea3d599d69905a43f34a080f6aaa00aed08a81c9 100644 (file)
--- a/FTP
+++ b/FTP
@@ -42,7 +42,7 @@ http://www.gzip.org.
 
 Descriptions of GNU software are available at
        http://www.gnu.org/software/software.html
- and in the Free Software Directory at 
+ and in the Free Software Directory at
         http://www.gnu.org/directory/index.html
 
 * Alternative Internet FTP Sources
@@ -57,7 +57,7 @@ United States:
 
 
 California - mirrors.kernel.org/gnu, http://mirrors.kernel.org/gnu
-California - gatekeeper.dec.com/pub/GNU/ 
+California - gatekeeper.dec.com/pub/GNU/
 California - ftp.keystealth.org/pub/gnu/
 Illinois - uiarchive.cso.uiuc.edu/pub/ftp/ftp.gnu.org/gnu/
 Indiana - ftp.in-span.net/pub/mirrors/ftp.gnu.org/
@@ -116,7 +116,7 @@ Japan - ftp.ring.gr.jp/pub/GNU/
 Japan - mirrors.hbi.co.jp/gnu/
 Japan - ftp.ayamura.org/pub/gnu/
 Korea - cair-archive.kaist.ac.kr/pub/gnu/ (Internet address 143.248.186.3)
-Korea - ftpmirror.hanyang.ac.kr/GNU/ 
+Korea - ftpmirror.hanyang.ac.kr/GNU/
 Korea - ftp.linux.sarang.net/mirror/gnu/gnu/ (also mirrors alpha.gnu.org/gnu/ at ../alpha/)
 Korea - ftp.xgate.co.kr/pub/mirror/gnu/
 Saudi Arabia - ftp.isu.net.sa/pub/gnu/
@@ -173,7 +173,7 @@ Sweden - ftp.sunet.se/pub/gnu/; also mirrors /non-gnu
 Sweden - ftp.chl.chalmers.se/pub/gnu/
 Switzerland - sunsite.cnlab-switch.ch/mirror/gnu/
 Ukraine - mirddin.farlep.net/pub/GNU/
-United Kingdom - ftp.mcc.ac.uk/pub/gnu/ 
+United Kingdom - ftp.mcc.ac.uk/pub/gnu/
 United Kingdom - ftp.mirror.ac.uk/sites/ftp.gnu.org/pub/gnu/
 United Kingdom - ftp.warwick.ac.uk/pub/gnu/ (Internet address 137.205.192.13)
 United Kingdom - ftp.hands.com/ftp.gnu.org/
diff --git a/INSTALL b/INSTALL
index ab9c805725979414670cdc0f402fb75afe741362..a429a95aeeffb9fb79162100e5d3b607a192f67d 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -59,7 +59,7 @@ that, so please refer to them if the simple procedure does not work.
      with some non-default options), always clean the source
      directories before running `configure' again:
 
-               make distclean 
+               make distclean
                ./configure
 
   5. Invoke the `make' program:
@@ -127,10 +127,10 @@ colored icons in the toolbar if XPM support is not compiled in.
 Here's the list of these optional libraries, and the URLs where they
 can be found:
 
-  . libXaw3d for fancy 3D-style 
+  . libXaw3d for fancy 3D-style
       scroll bars:    ftp://ftp.x.org/contrib/widgets/Xaw3d/
   . libxpm for XPM:   ftp://ftp.x.org/contrib/libraries/
-                     Get version 3.4k or later, which lets Emacs 
+                     Get version 3.4k or later, which lets Emacs
                      use its own color allocation functions.
   . libpng for PNG:   ftp://www.libpng.org/pub/png/
   . libz (for PNG):   http://www.info-zip.org/pub/infozip/zlib/
@@ -138,7 +138,7 @@ can be found:
                       Get version 6b -- 6a is reported to fail in
                       Emacs.
   . libtiff for TIFF: http://www.libtiff.org/
-  . libungif for GIF: 
+  . libungif for GIF:
       http://prtr-13.ucsc.edu/~badger/software/libungif/index.shtml
       Ensure you get version 4.1.0b1 or higher of libungif -- a bug in
       4.1.0 can crash Emacs.
@@ -226,7 +226,7 @@ least 2.8 MB and can reach 100 MB or more.  If the swapping space is
 insufficient, you will get an error in the command `temacs -batch -l
 loadup dump', found in `./src/Makefile.in', or possibly when
 running the final dumped Emacs.
+
 Building Emacs requires about 140 MB of disk space (including the
 Emacs sources) Once installed, Emacs occupies about 77 MB in the file
 system where it is installed; this includes the executable files, Lisp
@@ -582,7 +582,7 @@ Here is a complete list of the variables you may want to set.
        We create the following subdirectories under `libexecdir':
        - `emacs/VERSION/CONFIGURATION-NAME', containing executable
                programs used by Emacs that users are not expected to run
-               themselves.  
+               themselves.
        `VERSION' is the number of the Emacs version you are installing,
        and `CONFIGURATION-NAME' is the argument you gave to the
        `configure' program to identify the architecture and operating
index 32168dff55e59c387307f30c30dff722f76d2935..4ad187a84879b36c99c0e04d7670c5470103d028 100644 (file)
 #      with them.
 #
 #      Delete `.dvi' files here if they are not part of the distribution.
-# 
+#
 # make distclean
 #      Delete all files from the current directory that are created by
 #      configuring or building the program.  If you have unpacked the
 #      source and built the program without creating any other files,
 #      `make distclean' should leave only the files that were in the
 #      distribution.
-# 
+#
 # make maintainer-clean
 #      Delete everything from the current directory that can be
 #      reconstructed with this Makefile.  This typically includes
@@ -171,7 +171,7 @@ lisppath=@lisppath@
 # building.  This is only used during the process of
 # compiling Emacs, to help Emacs find its lisp files
 # before they've been installed in their final location.
-# It's usually identical to lisppath, except that 
+# It's usually identical to lisppath, except that
 # it does not include locallisppath, and the
 # entry for the directory containing the installed lisp
 # files has been replaced with ../lisp.  This should be a
@@ -236,7 +236,7 @@ COPYDIR = ${srcdir}/etc ${srcdir}/lisp
 COPYDESTS = ${etcdir} ${lispdir}
 
 # Set to FRC to force running autoconf and autoheader
-MAINT = 
+MAINT =
 
 all: ${SUBDIR} leim
 
@@ -579,7 +579,7 @@ mostlyclean: FRC
 ###      record the configuration.  Also preserve files that could be made
 ###      by building, but normally aren't because the distribution comes
 ###      with them.
-### 
+###
 ###      Delete `.dvi' files here if they are not part of the distribution.
 clean: FRC
        (cd src;      $(MAKE) $(MFLAGS) clean)
@@ -618,7 +618,7 @@ distclean: FRC
 ###      reconstructed with this Makefile.  This typically includes
 ###      everything deleted by distclean, plus more: C source files
 ###      produced by Bison, tags tables, info files, and so on.
-### 
+###
 ###      One exception, however: `make maintainer-clean' should not delete
 ###      `configure' even if `configure' can be remade using a rule in the
 ###      Makefile.  More generally, `make maintainer-clean' should not delete
diff --git a/README b/README
index af6a51903007d991a77482c1a332488bd4a11bb9..357c08ff3b360820cff55d15351581a552e6bdac 100644 (file)
--- a/README
+++ b/README
@@ -53,10 +53,10 @@ this script will help you distribute your version to others.
 There are several subdirectories:
 
 `src'       holds the C code for Emacs (the Emacs Lisp interpreter and
-            its primitives, the redisplay code, and some basic editing 
+            its primitives, the redisplay code, and some basic editing
             functions).
 `lisp'      holds the Emacs Lisp code for Emacs (most everything else).
-`leim'      holds the library of Emacs input methods, Lisp code and 
+`leim'      holds the library of Emacs input methods, Lisp code and
             auxiliary data files required to type international characters
             which can't be directly produced by your keyboard.
 `lib-src'   holds the source code for some utility programs for use by or
index d293007bb7b38f938dc92a5934405e54e74df78a..4be2038ef1ca210878481e03b3741244008349a6 100644 (file)
@@ -60,7 +60,7 @@ main (int argc, char **argv)
       case 'n':
        ncolors = atoi (optarg);
        break;
-       
+
       case '?':
        usage (argv[0]);
       }
@@ -98,7 +98,7 @@ main (int argc, char **argv)
              ++nallocated;
            }
        }
-      
+
       ++color.red;
       ++color.green;
       ++color.blue;
index 5827276bf5e567a6b3ab4d674684d0778a906eea..06ea9cb2875634245bb0750fa9dc4c48dc01139e 100755 (executable)
@@ -80,14 +80,14 @@ foreach $config (@configs)
     unlink "config.cache";
 
     $rc = system ("$root/configure $configure_options >>$log 2>&1");
-    if ($rc != 0) 
+    if ($rc != 0)
       {
        print "configure failed\n";
        exit 1;
       }
 
     $rc = system ("make-emacs --all $make_options >>$log 2>&1");
-    if ($rc != 0) 
+    if ($rc != 0)
       {
        print "Make failed\n";
        exit 1;
index 05ce8f40bde541da444e7465a82fb90c6b47b3f8..10ab3fd0da61b356cd0e931258bfe6741f6025a9 100644 (file)
@@ -173,7 +173,7 @@ of function calling.
 
 By printing the remaining elements of args, you can see the argument
 values.  Here's how to print the first argument:
-  
+
    p args[1]
    pr
 
@@ -194,7 +194,7 @@ First, use these commands:
     cd src
     gdb emacs
     b xmenu.c:1209
-    r -q 
+    r -q
 
 Then type C-x 5 2 to create a new frame, and it hits the breakpoint:
 
@@ -207,9 +207,9 @@ Then type C-x 5 2 to create a new frame, and it hits the breakpoint:
     $2 = (struct frame *) 0x3f0800
     (gdb) p *$
     $3 = {
-      size = 536871989, 
-      next = 0x366240, 
-      name = 809661752, 
+      size = 536871989,
+      next = 0x366240,
+      name = 809661752,
       [...]
     }
     (gdb) p $3->name
@@ -258,7 +258,7 @@ this vector.  `recent_keys' is updated in keyboard.c by the command
   XVECTOR (recent_keys)->contents[recent_keys_index] = c;
 
 So we define a GDB command `xvector-elts', so the last 10 keystrokes
-are printed by 
+are printed by
 
     xvector-elts recent_keys recent_keys_index 10
 
@@ -270,7 +270,7 @@ where you can define xvector-elts as follows:
     xvector
     set $foo = $
     while $i < $arg2
-    p $foo->contents[$arg1-($i++)] 
+    p $foo->contents[$arg1-($i++)]
     pr
     end
     document xvector-elts
@@ -339,7 +339,7 @@ configure makes a mistake.  But note that config.cache reads:
 
 # Giving --cache-file=/dev/null disables caching, for debugging configure.
 
-or more simply, 
+or more simply,
 
 rm config.cache
 ./configure
index ac9d9d763d25c3f8d6dcc385f5dcf2102f581028..fa7310ce94d1a40c90fffaf87f425f5d94f2f02e 100755 (executable)
@@ -111,7 +111,7 @@ if (@ARGV && $ARGV[0] eq "all")
 
 system ("$make clean versionclean") if $all;
 
-if ($wall) 
+if ($wall)
   {
     $warn = "-Wall";
   }
@@ -125,14 +125,14 @@ $defs = "-DGLYPH_DEBUG=1" unless $optim;
 $defs = "$defs -DGC_CHECK_MARKED_OBJECTS=1" if $check_marked;
 $defs = "$defs -DENABLE_CHECKING=1" if $enable_checking;
 
-if ($profile) 
+if ($profile)
   {
     $opts = "-pg";
     $defs = "$defs -DPROFILING=1";
   }
 else
   {
-    if ($use_stabs) 
+    if ($use_stabs)
       {
        $opts = "-gstabs";
       }
index 29f8e36d340c254c4267397ff1477a8a84b44816..20b8e9f87cfeb1aaadfaba972efc0dab99803b56 100644 (file)
@@ -4,7 +4,7 @@
                              Version 20.7
 
                             June 13, 2000
-               
+
   This directory contains source and precompiled distributions for GNU
   Emacs on Windows NT and Windows 95/98/2000.  This port is a part of
   the standard GNU Emacs distribution from the Free Software Foundation;
 * Unpacking distributions
 
   Programs for handling the distribution file formats can be found in
-  the utilities directory: 
+  the utilities directory:
 
     ftp://ftp.gnu.org/gnu/windows/emacs/utilities
 
index f145da19c4ac436b24937678b815ac43439ed02f..416c572d1967c17ae64eb9709f7f0c2e59aeeb28 100755 (executable)
 
 use File::Basename;
 
-if (@ARGV < 3) 
+if (@ARGV < 3)
 {
   print <<USAGE;
 revdiff FILE OLD NEW
-    
+
 Get a diff of FILE between revisions OLD and NEW.  Store the
 diff in a file named FILE-OLD-NEW.diff.
 
@@ -48,7 +48,7 @@ USAGE
 $file = shift @ARGV;
 $old  = shift @ARGV;
 
-sub diffit 
+sub diffit
 {
   my ($old, $new) = @_;
   print "cvs diff -r$old -r$new $file >$file-$old-$new.diff\n";
@@ -64,9 +64,9 @@ sub current_revision ($)
   die "Can't find $entries" unless -f $entries;
   open (IN, "<$entries") or die "Cannot open $entries";
   my $rev;
-  while ($line = <IN>) 
+  while ($line = <IN>)
     {
-      if ($line =~ m,/$base/([^/]+),) 
+      if ($line =~ m,/$base/([^/]+),)
        {
          $rev = $1;
          break;
@@ -81,7 +81,7 @@ if ($old eq "-")
   {
     $old = current_revision ($file);
   }
-elsif ($old =~ /^-(\d+)$/) 
+elsif ($old =~ /^-(\d+)$/)
   {
     my $offset = $1;
     $old = current_revision ($file);
@@ -90,15 +90,15 @@ elsif ($old =~ /^-(\d+)$/)
     $old = sprintf ("%d.%d", $1, $minor);
   }
 
-while (@ARGV) 
+while (@ARGV)
   {
     my $new = shift @ARGV;
     if ($new =~ /^[+]\d+$/)
       {
        my $n = $new;
-       for ($i = 0; $i < $n; ++$i) 
+       for ($i = 0; $i < $n; ++$i)
          {
-           unless ($old =~ /(.*)\.(\d+)$/) 
+           unless ($old =~ /(.*)\.(\d+)$/)
              {
                die "Internal error";
              }
@@ -107,13 +107,13 @@ while (@ARGV)
            diffit ($old, $new);
            $old = $new;
          }
-      } 
-    elsif ($new =~ /^[-]\d+$/) 
+      }
+    elsif ($new =~ /^[-]\d+$/)
       {
        my $n = - $new;
-       for ($i = 0; $i < $n; ++$i) 
+       for ($i = 0; $i < $n; ++$i)
          {
-           unless ($old =~ /(.*)\.(\d+)$/) 
+           unless ($old =~ /(.*)\.(\d+)$/)
              {
                die "Internal error";
              }
@@ -123,7 +123,7 @@ while (@ARGV)
            $old = $new;
          }
       }
-    else 
+    else
       {
        diffit ($old, $new);
        $old = $new;
index ed53769c4d3e22747612811de1fd8272a199f75f..9898061d56e3f6fd18f711850ac2b5ff53bdafa1 100644 (file)
@@ -77,7 +77,7 @@ dnl This should be the last --with option, because --with-x is
 dnl added later on when we find the path of X, and it's best to
 dnl keep them together visually.
 AC_ARG_WITH(x-toolkit,
-[  --with-x-toolkit=KIT    use an X toolkit 
+[  --with-x-toolkit=KIT    use an X toolkit
                               (KIT = yes/lucid/athena/motif/gtk/no)],
 [        case "${withval}" in
            y | ye | yes )      val=athena ;;
@@ -1068,7 +1068,7 @@ case "${canonical}" in
       *-xenix* )               opsys=xenix ;;
       *-linux-gnu* )           opsys=gnu-linux ;;
       *-sco3.2v4* )            opsys=sco4 ; NON_GNU_CPP=/lib/cpp  ;;
-      *-sco3.2v5* )            opsys=sco5 
+      *-sco3.2v5* )            opsys=sco5
                                NON_GNU_CPP=/lib/cpp
                                # Prevent -belf from being passed to $CPP.
                                # /lib/cpp does not accept it.
@@ -1112,7 +1112,7 @@ case "${canonical}" in
 
   ## AMD x86-64 Linux-based GNU system
   x86_64-*-linux-gnu* )
-    machine=amdx86-64 opsys=gnu-linux 
+    machine=amdx86-64 opsys=gnu-linux
   ;;
 
   * )
@@ -1333,7 +1333,7 @@ configure___ use_mmap_for_buffers=no
 
 #ifndef LD_SWITCH_X_SITE_AUX
 #define LD_SWITCH_X_SITE_AUX
-#endif  
+#endif
 
 configure___ ld_switch_system=LD_SWITCH_SYSTEM
 configure___ ld_switch_machine=LD_SWITCH_MACHINE
@@ -1447,7 +1447,7 @@ AC_CACHE_CHECK(for speed_t, emacs_cv_speed_t,
   [AC_TRY_COMPILE([#include <termios.h>], [speed_t x = 1;],
     emacs_cv_speed_t=yes, emacs_cv_speed_t=no)])
 if test $emacs_cv_speed_t = yes; then
-  AC_DEFINE(HAVE_SPEED_T, 1, 
+  AC_DEFINE(HAVE_SPEED_T, 1,
           [Define to 1 if `speed_t' is declared by <termios.h>.])
 fi
 
@@ -1469,7 +1469,7 @@ if test $emacs_cv_struct_timeval = yes; then
 fi
 
 AC_CACHE_CHECK(for struct exception, emacs_cv_struct_exception,
-AC_TRY_COMPILE([#include <math.h>], 
+AC_TRY_COMPILE([#include <math.h>],
 [static struct exception x; x.arg1 = x.arg2 = x.retval; x.name = ""; x.type = 1;],
   emacs_cv_struct_exception=yes, emacs_cv_struct_exception=no))
 HAVE_EXCEPTION=$emacs_cv_struct_exception
@@ -1498,7 +1498,7 @@ dnl This isn't useful because we can't turn on use of `inline' unless
 dnl the compiler groks `extern inline'.
 dnl AC_C_INLINE
 AC_CACHE_CHECK([for void * support], emacs_cv_void_star,
-  [AC_TRY_COMPILE(, [void * foo;], 
+  [AC_TRY_COMPILE(, [void * foo;],
                    emacs_cv_void_star=yes, emacs_cv_void_star=no)])
 if test $emacs_cv_void_star = yes; then
   AC_DEFINE(POINTER_TYPE, void)
@@ -1599,7 +1599,7 @@ HAVE_MENUS=no
 case ${HAVE_X11} in
   yes ) HAVE_MENUS=yes ;;
 esac
-  
+
 if test "${opsys}" = "hpux9"; then
   case "${x_libraries}" in
     *X11R4* )
@@ -1827,7 +1827,7 @@ AC_DEFUN(PKG_CHECK_MODULES, [
         else
             $1_CFLAGS=""
             $1_LIBS=""
-            ## If we have a custom action on failure, don't print errors, but 
+            ## If we have a custom action on failure, don't print errors, but
             ## do set a variable so people can do so.
             $1_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
             ifelse([$4], ,echo $$1_PKG_ERRORS,)
@@ -1978,7 +1978,7 @@ Motif version prior to 2.1.
     if test ${HAVE_LIBXP} = yes; then
       AC_DEFINE(HAVE_LIBXP, 1,
                [Define to 1 if you have the Xp library (-lXp).])
-    fi 
+    fi
   fi
 fi
 
@@ -1996,7 +1996,7 @@ if test "${HAVE_X11}" = "yes"; then
     fi
   fi
 fi
-  
+
 dnl Use toolkit scroll bars if configured for GTK or X toolkit and either
 dnl using Motif or Xaw3d is available, and unless
 dnl --with-toolkit-scroll-bars=no was specified.
@@ -2055,7 +2055,7 @@ no_return_alloc_pixels
     AC_DEFINE(HAVE_XPM, 1, [Define to 1 if you have the Xpm libary (-lXpm).])
   fi
 fi
-  
+
 ### Use -ljpeg if available, unless `--with-jpeg=no'.
 HAVE_JPEG=no
 if test "${HAVE_X11}" = "yes"; then
@@ -2072,13 +2072,13 @@ if test "${HAVE_X11}" = "yes"; then
     AC_EGREP_CPP([version= *(6[2-9]|[7-9][0-9])],
         [#include <jpeglib.h>
         version=JPEG_LIB_VERSION
-],    
+],
         AC_DEFINE(HAVE_JPEG),
         [AC_MSG_WARN([libjpeg found, but not version 6b or later])
         HAVE_JPEG=no])
   fi
 fi
-  
+
 ### Use -lpng if available, unless `--with-png=no'.
 HAVE_PNG=no
 if test "${HAVE_X11}" = "yes"; then
@@ -2091,7 +2091,7 @@ if test "${HAVE_X11}" = "yes"; then
     AC_DEFINE(HAVE_PNG, 1, [Define to 1 if you have the png library (-lpng).])
   fi
 fi
-  
+
 ### Use -ltiff if available, unless `--with-tiff=no'.
 HAVE_TIFF=no
 if test "${HAVE_X11}" = "yes"; then
@@ -2107,7 +2107,7 @@ if test "${HAVE_X11}" = "yes"; then
     AC_DEFINE(HAVE_TIFF, 1, [Define to 1 if you have the tiff library (-ltiff).])
   fi
 fi
-  
+
 ### Use -lgif if available, unless `--with-gif=no'.
 HAVE_GIF=no
 if test "${HAVE_X11}" = "yes"; then
@@ -2158,7 +2158,7 @@ if test "${HAVE_X11}" = "yes"; then
     esac
   fi
 fi
-  
+
 # If netdb.h doesn't declare h_errno, we must declare it by hand.
 AC_CACHE_CHECK(whether netdb declares h_errno,
               emacs_cv_netdb_declares_h_errno,
@@ -2588,7 +2588,7 @@ Boston, MA 02111-1307, USA.  */
 
 
 /* No code in Emacs #includes config.h twice, but some bits of code
-   intended to work with other packages as well (like gmalloc.c) 
+   intended to work with other packages as well (like gmalloc.c)
    think they can include it as many times as they like.  */
 #ifndef EMACS_CONFIG_H
 #define EMACS_CONFIG_H
@@ -2812,7 +2812,7 @@ typedef unsigned size_t;
 #ifdef __GNUC__
 #  ifndef GC_SETJMP_WORKS
   /* GC_SETJMP_WORKS is nearly always appropriate for GCC --
-     see NON_SAVING_SETJMP in the target descriptions.  */   
+     see NON_SAVING_SETJMP in the target descriptions.  */
   /* Exceptions (see NON_SAVING_SETJMP in target description) are ns32k,
      SCO5 non-ELF (but Emacs specifies ELF) and SVR3 on x86.
      Fixme: Deal with ns32k, SVR3.  */
@@ -2835,7 +2835,7 @@ typedef unsigned size_t;
 
 #endif /* EMACS_CONFIG_H */
 
-/* 
+/*
 Local Variables:
 mode: c
 End:
index 41f8afee249cc42c01349fa701a7b669ba83a226..fa8894795f0e5b4e199ceeb0177eae400ed9fcf1 100644 (file)
@@ -14,8 +14,8 @@ her for her charge card number, and she gave it to them
 thinking the cost would be $15 to $25.  It turned out
 to be $200!
 
-Therefore, this person is giving the recipe to anyone 
-and everyone she knows (and doesn't know) so that 
+Therefore, this person is giving the recipe to anyone
+and everyone she knows (and doesn't know) so that
 someone can get use of her $200.  Anyway, just keep
 passing it on.
 
@@ -27,7 +27,7 @@ Add:                  4 eggs
                        2 tsp. vanilla
 
 Mis together in
-separate bowl:         4 cups flour 
+separate bowl:         4 cups flour
                        5 cups oatmeal (put small
  amounts of oatmeal in blender until it turns to
  powder.  Measure out 5 cups of oatmeal and only
@@ -45,7 +45,7 @@ Add:                  24 oz. bag of chocolate chips and
 Add:                   3 cups chopped nuts (any kind)
 
 Bake on greased cookie sheet (make golf ball sized balls) and
-bake about two inches apart.  Bake at 350 degrees for 8 - 10 
+bake about two inches apart.  Bake at 350 degrees for 8 - 10
 minutes. DO NOT OVERBAKE.  Makes 112.
 \f
 From: ucdavis!lll-lcc!hplabs!parcvax!bane@ucbvax.berkeley.edu (John R. Bane)
@@ -56,14 +56,14 @@ want to send me your SnailMail address, I'll be glad to send you a
 dollar (I would like to suggest this to the net, but I think there is
 some netiquette rule against asking for money - or is that only money
 for oneself?) to help defray the cost (it's not much, but if EVERYone
-who took the recipe sent you a dollar, it would help). 
+who took the recipe sent you a dollar, it would help).
 
-Here also is another cookie recipe which I'm very fond of. 
+Here also is another cookie recipe which I'm very fond of.
 
 Makes 6-8 dozen
 Bake at 375 degrees for ~10 min.
 
-Cream together: 
+Cream together:
 
 1 cup shortening (I use Weight Watcher's Reduced Calorie Margarine!)
 1/4 cup peanut butter (I recommend the non-sugared kind)
@@ -104,7 +104,7 @@ I make them.
 \f
 Chocolate Chip Cookies - Glamorous, crunchy, rich with chocolate bits & nuts.
 
-Also known as "Toll House" Cookies ... from Kenneth and Ruth Wakefield's 
+Also known as "Toll House" Cookies ... from Kenneth and Ruth Wakefield's
 charming New England Toll House on the outskirts of Whitman, Massachusetts.
 These cookies were first introduced to American homemakers in 1939 through
 our series of radio talks on "Famous Foods From Famous Eating Places."
index cfe4b05b9aae4469a299a0237b0f1f71234af5fb..ebfe99e6f3a127cf129b162a13f251d850efe551 100644 (file)
 
        * ps-prin0.ps: Changed comment version (6.0).
 
-2000-08-24  Wlodzimierz Bzyl <matwb@univ.gda.pl>
+2000-08-24  Wlodzimierz Bzyl  <matwb@univ.gda.pl>
 
        * survival.tex: New file.
 
index a0ac04d4ab018488cfc0fe967c22394adce4f73b..eb2a336444685346b4c62c64c58bb49bf39c17d3 100644 (file)
--- a/etc/DEBUG
+++ b/etc/DEBUG
@@ -115,7 +115,7 @@ First, use these commands:
     cd src
     gdb emacs
     b xmenu.c:1296
-    r -q 
+    r -q
 
 Then type C-x 5 2 to create a new frame, and it hits the breakpoint:
 
@@ -128,9 +128,9 @@ Then type C-x 5 2 to create a new frame, and it hits the breakpoint:
     $2 = (struct frame *) 0x3f0800
     (gdb) p *$
     $3 = {
-      size = 536871989, 
-      next = 0x366240, 
-      name = 809661752, 
+      size = 536871989,
+      next = 0x366240,
+      name = 809661752,
       [...]
     }
     (gdb) p $3->name
@@ -177,7 +177,7 @@ this vector.  `recent_keys' is updated in keyboard.c by the command
   XVECTOR (recent_keys)->contents[recent_keys_index] = c;
 
 So we define a GDB command `xvector-elts', so the last 10 keystrokes
-are printed by 
+are printed by
 
     xvector-elts recent_keys recent_keys_index 10
 
@@ -189,7 +189,7 @@ where you can define xvector-elts as follows:
     xvector
     set $foo = $
     while $i < $arg2
-    p $foo->contents[$arg1-($i++)] 
+    p $foo->contents[$arg1-($i++)]
     pr
     end
     document xvector-elts
@@ -217,7 +217,7 @@ of function calling.
 
 By printing the remaining elements of args, you can see the argument
 values.  Here's how to print the first argument:
-  
+
    p args[1]
    pr
 
@@ -230,7 +230,7 @@ conveniently.  For example:
 
 and, assuming that "xtype" says that args[0] is a symbol:
 
-   xsymbol 
+   xsymbol
 
 ** Debugging what happens while preloading and dumping Emacs
 
@@ -450,7 +450,7 @@ and keyboard events, or LessTif menus behave weirdly, it might be
 helpful to set the `DEBUGSOURCES' and `DEBUG_FILE' environment
 variables, so that one can see what LessTif was doing at this point.
 For instance
-  
+
   export DEBUGSOURCES="RowColumn.c:MenuShell.c:MenuUtil.c"
   export DEBUG_FILE=/usr/tmp/LESSTIF_TRACE
   emacs &
index 78c808bb53ec726a49d4ca146b543421ce808a11..ec0afca0168309d40eaffdc7b854da26203a325f 100644 (file)
--- a/etc/JOKES
+++ b/etc/JOKES
@@ -20,7 +20,7 @@ A:  Gnugat.   (Though it contains little gnutrition.)
 Q:  What do you call a computer filled with air?
 A:  Gnumatic.
 
-Q:  What do you call a novice hacker who keeps pestering you 
+Q:  What do you call a novice hacker who keeps pestering you
     with foolish questions?
 A:  A gnuisance.
 
@@ -100,7 +100,7 @@ exit
 ?
 bye
 ?
-hello? 
+hello?
 ?
 eat flaming death
 ?
@@ -173,12 +173,12 @@ Swapping
 Even a
 Master of
 Arts
-Comes 
+Comes
 Simpler
 
 Emacs
 Manuals
-Are 
+Are
 Cryptic and
 Surreal
 
@@ -206,13 +206,13 @@ All
 Computer
 Storage
 
-Even 
-My 
+Even
+My
 Aunt
 Crashes the
 System
 
-Eradication of 
+Eradication of
 Memory
 Accomplished with
 Complete
@@ -312,7 +312,7 @@ Accused of
 Communist
 Subversion
 
-Extensibility and 
+Extensibility and
 Modifiability
 Aggravate
 Confirmed
@@ -384,9 +384,9 @@ Architecture
 Comes
 Simpler
 
-Erasing 
+Erasing
 Minds
-Allows 
+Allows
 Complete
 Submission
 
@@ -402,7 +402,7 @@ Absolutely
 Considered
 Sine que non
 
-Emacs 
+Emacs
 Makers
 Are
 Crazy
@@ -463,14 +463,14 @@ Someone at a luncheon suggested it meant:
 
 Evenings,
 Mornings,
-And a 
+And a
 Couple of
 Saturdays
 
 (In reference to the odd hours that went into the creation of my
 implementation).
 
--- 
+--
 
        Warren Montgomery
        ihnss!warren
@@ -493,10 +493,10 @@ Home:     36 Porter Street, Somerville, MA  02143, USA   +1 (617) 623-7739
 Pleeeeeeeze!!!  Nice try on the meaning of EMACS.  I believe the
 correct acronym is:
 
-Emacs 
+Emacs
 Makes
-All 
-Computing 
+All
+Computing
 Simple
 
 Thank you, and Good Night
@@ -514,7 +514,7 @@ Apparently-To: emacs-netnews-distribution@mit-prep
 > More recursive acronyms, anyone?
 Many people have also seen FINE Is Not Emacs, but the one that has
 character is THief Isn't Even Fine.
--- 
+--
 ## Bill Stewart, AT&T Bell Labs, Holmdel NJ 1-201-949-0705 ihnp4!ho95c!wcs
 
 Path: mit-eddie!think!harvard!bbnccv!bbncca!linus!decvax!mcnc!ncsu!uvacs!edison!ta2
@@ -526,13 +526,13 @@ Organization: General Electric's Mountain Resort
 Apparently-To: emacs-netnews-distribution@mit-prep
 
 > GNU = Gnu's Not UNIX. There is also MINCE, for Mince Is Not a Complete Emacs.
-> 
+>
 > More recursive acronyms, anyone?
-> 
+>
 
 For the DEC-system-10/20: FINE - Fine Is Not Emacs.....
 
--- 
+--
 ...............
 tom allebrandi 2, general electric aco, charlottesville, va
 {decvax,duke}!mcnc!ncsu!uvacs!edison!ta2
@@ -613,10 +613,10 @@ Ever Made A Control-key Setup?
 Emacs: My Alternative Computer Story
 Emacs Made Almost Completely Screwed
        (by extensive use of M-x global-unset-key)
-Emacs Macht Alle Computer Schoen 
+Emacs Macht Alle Computer Schoen
        (deutsch)  (=Emacs makes all computers beautiful)
 Each Mail A Continued Surprise
-Every Mode Acknowledges Customized Strokes 
+Every Mode Acknowledges Customized Strokes
        (keystrokes, of course :-)
 Eating Memory And Cycle-Sucking
 Everyday Material Almost Compiled Successfully
index ff274ce46bf976430bea186fea22fa559942bd74..009243f5ec074b03948f0a16e8fc4e79936cdb06 100644 (file)
--- a/etc/LEDIT
+++ b/etc/LEDIT
@@ -17,7 +17,7 @@ To get it to work, one must:
 
      cc leditcfns.c
 
-   - Edit ledit.l, changing the line beginning "(cfasl" to 
+   - Edit ledit.l, changing the line beginning "(cfasl" to
      have the right pathname for the cfns file you compiled in
      the last step.
 
@@ -69,7 +69,7 @@ doesn't run under Unix, this is probably the next best thing.
 I have tried the 2 window method (shell in lower window, lisp code in
 upper), and have found it a little awkward.  It does have certain
 advantages, but most of the time, I get be fine using M-C-D to save a
-defun for lisp, and C-X Z to jump back to LISP.  C-E RETURN from lisp 
+defun for lisp, and C-X Z to jump back to LISP.  C-E RETURN from lisp
 is also mnemonic for getting back to gnumacs.
 
 I hope this helps somewhat.
index f3c5eeadaa0bd35505e76f790201e35313632466..8d55f1a5c2d38abbea8b9b2c0752b0b1158bc7f2 100644 (file)
@@ -124,7 +124,7 @@ others to write free software, instead of proprietary software.
 
 However, it is not enough just to talk about freedom; we must also
 make sure people know the reasons it is worth listening to what we
-say.  
+say.
 
 Long explanations such as our philosophical articles are one way of
 informing the public, but you may not want to spend so much time on
diff --git a/etc/LPF b/etc/LPF
index 93226e691a5f5614fa2982999aa10cdb89eeff34..df821a966bffb4c8d4452df5761a813c8f3a5f98 100644 (file)
--- a/etc/LPF
+++ b/etc/LPF
@@ -62,7 +62,7 @@ Chris Hofstader can be reached at (617) 492-0023; FAX (617) 497-1632.
     P.O.Box 9171
     Cambridge, Massachusetts 02139
 
-(Outside the US, please send a check in US dollars on a bank 
+(Outside the US, please send a check in US dollars on a bank
 having a US correspondent bank, to save us check cashing fees.)
 
 Your name:
index 09f4c8ac0c2fc75829dcf49a76cae45cc55dd6ff..c9fe8e067080591aedc3418a8fa6ec30077bb7b6 100644 (file)
@@ -331,7 +331,7 @@ See section '* General Information about bug-* lists and reporting
 program bugs'.
 
 * help-gnustep-request@gnu.org to subscribe to help-gnustep
-** gnUSENET newsgroup: gnu.gnustep.help        
+** gnUSENET newsgroup: gnu.gnustep.help
 ** Send contributions to: help-gnustep@gnu.org
 ** FAQ-URL: none known
 ** FAQ-Archive-name: none known
@@ -344,7 +344,7 @@ instead of posting them here.
 See section '* General Information about help-* lists'.
 
 * discuss-gnustep-request@gnu.org to subscribe to discuss-gnustep
-** gnUSENET newsgroup: gnu.gnustep.discuss     
+** gnUSENET newsgroup: gnu.gnustep.discuss
 ** Send contributions to: discuss-gnustep@gnu.org
 ** FAQ-URL: none known
 ** FAQ-Archive-name: none known
@@ -411,7 +411,7 @@ list info-gnu@gnu.org (see above).
 ** gnUSENET newsgroup: NONE
 ** Send contributions to: discuss-gnu-electric@gnu.org
 
-This list is the place for user discussion of Gnu Electric, a 
+This list is the place for user discussion of Gnu Electric, a
 sophisticated electrical CAD system that can handle many forms of
 circuit design.  Please send bug reports to bug-gnu-electric@gnu.org
 (see next entry).
@@ -583,7 +583,7 @@ program bugs'.
 ** NCURSES bug reports to: bug-ncurses@gnu.org
 
 This list distributes, to the active maintainers of ncurses
-(a free implementation of the Unix curses API) bug reports and fixes 
+(a free implementation of the Unix curses API) bug reports and fixes
 for, and suggestions for improvements in ncurses.  Users can also
 subscribe to this list.
 
@@ -977,7 +977,7 @@ program bugs'.
 
 This list distributes, to the active maintainers of zebra (a GPLed
 program to manage TCP/IP based routing protocols), bug reports, bug fixes,
-and suggestions for improvements to zebra.  User discussion of zebra 
+and suggestions for improvements to zebra.  User discussion of zebra
 also occurs here.
 
 There are no other GNU mailing lists or gnUSENET newsgroups for zebra.
@@ -1337,7 +1337,7 @@ discussion of bug fixes and patches.
 
 This list is unmoderated.
 
-* gpc-request@gnu.de to subscribe to gpc 
+* gpc-request@gnu.de to subscribe to gpc
 ** gnUSENET newsgroup: None at present.
 ** Send contributions to: gpc@gnu.de
 
index 8a8ea8c66cf827f1a12723f62f4f044ca826d8da..4e0cf683ab5d49ddb5a3138c34ec24f9b68049f2 100644 (file)
@@ -372,7 +372,7 @@ writing.
 *** Speedbar
 
 There is now support for the speedbar. Try "M-x speedbar" (closes SF
-#503727). 
+#503727).
 
 Press the middle mouse button on the `+' icons to open a folder,
 middle mouse button on a folder name to open the folder. Folders with
@@ -453,7 +453,7 @@ http://freshmeat.net/redir/compface/1439/url_tgz/compface-1.4.tar.gz.
 
 It has also been observed that if you don't see the faces, you might
 have to do this (for unknown reasons):
-    
+
     mv /usr/local/include/compface.h /usr/include/
 
 *** Graphical Smileys
@@ -639,7 +639,7 @@ gave supercite fits (closes SF #629153).
 "M-q (fill-paragraph)" now fills quoted paragraphs (for example,
 starting with "> ") correctly (closes SF #489927).
 
-*** mh-next-undeleted-msg, mh-previous-undeleted-msg 
+*** mh-next-undeleted-msg, mh-previous-undeleted-msg
 
 If there are no more undeleted messages the point remains at its
 original position and a message is produced (closes SF #494304).
@@ -853,7 +853,7 @@ visible. If the bottom of a message is showing, SPC (mh-page-msg)
 moves to the next message (respecting the direction you are moving
 through the folder).
 
-The threading commands "T u (mh-next-unseen-subject-thread)", 
+The threading commands "T u (mh-next-unseen-subject-thread)",
 "T t (mh-toggle-subject-thread)", "T s (mh-narrow-to-subject-thread)",
 and "T k (mh-delete-subject-thread)" have been added. These functions
 do not offer threading in the true sense of the word, but do allow
index 3d40baa585820c16e1fbc74fdab949dcb91d150c..283e7b9cbad88fa4f9db7bad40afcb8a246d9519 100644 (file)
--- a/etc/ONEWS
+++ b/etc/ONEWS
@@ -908,7 +908,7 @@ that buffer.
 highlighting based not only on what's visible in the buffer, but on
 other data structures.
 
-**** Old packages like `expire-kill' will no longer work.  
+**** Old packages like `expire-kill' will no longer work.
 
 **** `C-c C-l' in the group buffer no longer switches to a different
 buffer, but instead lists killed groups in the group buffer.
@@ -917,7 +917,7 @@ buffer, but instead lists killed groups in the group buffer.
 
 **** The look of all buffers can be changed by setting format-like
 variables.
+
 **** Local spool and several NNTP servers can be used at once.
 
 **** Groups can be combined into virtual groups.
@@ -1006,7 +1006,7 @@ and execute the next logical version control command on them (C-x v v).
 
 *** Starting a new branch.
 
-If you try to lock a version that is not the latest on its branch, 
+If you try to lock a version that is not the latest on its branch,
 VC asks for confirmation in the minibuffer.  If you say no, it offers
 to lock the latest version instead.
 
@@ -1029,7 +1029,7 @@ your working file with the latest version from the master.
 *** RCS customization.
 
 There is a new variable vc-consult-headers.  If it is t (the default),
-VC searches for RCS headers in working files (like `$Id: ONEWS,v 1.6 2002/01/12 15:36:53 pj Exp $') and
+VC searches for RCS headers in working files (like `$Id: ONEWS,v 1.7 2002/08/21 00:18:46 rms Exp $') and
 determines the state of the file from them, not from the master file.
 This is fast and more reliable when you use branches.  (The variable
 was already present in Emacs 19.29, but didn't get mentioned in the
@@ -1058,7 +1058,7 @@ of them.
 
 *** New sexp diary entry type
 
-Reminders that apply in the days leading up to an event. 
+Reminders that apply in the days leading up to an event.
 
 ** The CC-mode package now provides the default C and C++ modes.
 See the manual for documentation of its features.
@@ -1225,16 +1225,16 @@ Loading tpu-edt no longer turns on tpu-edt mode.  In fact, it is no
 longer necessary to explicitly load tpu-edt.  All you need to do to
 turn on tpu-edt is run the tpu-edt function.  Here's how to run
 tpu-edt instead of loading the file:
-  
+
   Running Emacs:   Type      emacs -f tpu-edt
                     not      emacs -l tpu-edt
 
   Within Emacs:    Type      M-x tpu-edt <ret>
                     not      M-x load-library <ret> tpu-edt <ret>
-  
+
   In .emacs:       Use       (tpu-edt)
                    not       (load "tpu-edt")
-  
+
 The default name of the tpu-edt X key definition file has changed from
 ~/.tpu-gnu-keys to ~/.tpu-keys.  If you don't rename the file yourself,
 tpu-edt will offer to rename it the first time you invoke it under
@@ -1250,20 +1250,20 @@ your ~/_emacs, then the screen briefly flickers with the default
 colors before changing to the colors you have specified.  To avoid
 this, the EMACSCOLORS environment variable exists.  It shall be
 defined as a string with the following elements:
-  
+
     set EMACSCOLORS=fb;fb
-  
+
 The first set of "fb" defines the initial foreground and background
 colors using standard dos color numbers (0=black,.., 7=white).
 If specified, the second set of "fb" defines the colors which are
 restored when you leave emacs.
-  
+
 *** The new SUSPEND environment variable can now be set as the shell to
 use when suspending emacs.  This can be used to override the stupid
 limitation on the environment of sub-shells in MS-DOS (they are just
 large enough to hold the currently defined variables, not leaving
 room for more); to overcome this limitation, add this to autoexec.bat:
-  
+
     set SUSPEND=%COMSPEC% /E:2000
 
 ** The escape character can now be displayed on X frames.  Try
@@ -1616,7 +1616,7 @@ mode.
 *** You can use this menu to change the face of the region.
 You can also set the face of the region with the new M-g command.
 
-*** The menu also includes commands for indenting the region, 
+*** The menu also includes commands for indenting the region,
 which locally changes the values of left-margin and fill-column that
 are used.
 
@@ -1770,7 +1770,7 @@ another way.
 
 *** It now works to set bookmarks in Info nodes.
 
-*** Bookmarks can have annotations; type "C-h m" after doing 
+*** Bookmarks can have annotations; type "C-h m" after doing
 "M-x list-bookmarks", for more information on annotations.
 
 *** The bookmark-jump popup menu function is now `bookmark-menu-jump', for
@@ -1816,7 +1816,7 @@ containing an open brace just after a case/default label.
 message displays during long re-indention.  This is a new feature
 which prints percentage complete messages at specified intervals.
 
-** Makefile mode changes. 
+** Makefile mode changes.
 
 *** The electric keys are not enabled by default.
 
@@ -2382,7 +2382,7 @@ expression which is used to recognize files in that format, a decoding
 function, an encoding function, a flag that indicates whether the
 encoding function modifies the buffer, and a mode function.
 
-FROM-FN is called to decode files in that format; it gets two args, BEGIN 
+FROM-FN is called to decode files in that format; it gets two args, BEGIN
         and END, and can make any modifications it likes, returning the new
         end position.  It must make sure that the beginning of the file no
        longer matches REGEXP, or else it will get called again.
@@ -2763,7 +2763,7 @@ Most lisp programs should use the new functions (current-fill-column) and
 (current-left-margin), which return the proper values to use for the
 current line.
 
-**** There are new functions for dealing with margins: 
+**** There are new functions for dealing with margins:
 
 ***** Set-left-margin and set-right-margin (set the value for a region
 and re-fill).  These functions take three arguments: two to specify
@@ -2803,7 +2803,7 @@ the text of the region according to the new value.
 
 **** Filling and auto-fill are disabled if justification is `none'.
 
-**** The auto-fill-function is now called regardless of whether 
+**** The auto-fill-function is now called regardless of whether
 the fill-column has been exceeded; the function can determine on its
 own whether filling (or justification) is necessary.
 
@@ -3291,7 +3291,7 @@ default value is nil.
 comint-completion-fignore.  The default value is nil, but some
 people prefer ("~" "#" "%").
 
-*** The function `comint-watch-for-password-prompt' can be used to 
+*** The function `comint-watch-for-password-prompt' can be used to
 suppress echoing when a subprocess asks for a password.  To use it,
 do this:
 
@@ -3429,7 +3429,7 @@ the basic offset given to a level of indentation.
 
 If, for example, you wanted to change this style:
 
-int foo (int i) 
+int foo (int i)
 {
     switch (i) {
     case 1:
@@ -3443,7 +3443,7 @@ int foo (int i)
 
 into this:
 
-int foo (int i) 
+int foo (int i)
 {
     switch (i) {
       case 1:
@@ -3694,7 +3694,7 @@ The undo and yank commands do this.
 
 ** If you specify an explicit title for a new frame when you create it,
 the title is used as the resource name when looking up X resources to
-control the shape of that frame.  If you don't specify the frame title, 
+control the shape of that frame.  If you don't specify the frame title,
 the value of x-resource-name is used, as before.
 
 ** The frame parameter user-position, if non-nil, says that the user
@@ -3801,7 +3801,7 @@ active on that window are considered.
 
 ** Overlays can have the `invisible' property.
 
-** The function insert-file-contents now takes an optional fifth 
+** The function insert-file-contents now takes an optional fifth
 argument called REPLACE.  If this is t, it means to replace the
 contents of the buffer (actually, just the accessible portion)
 with the contents of the file.
@@ -3912,7 +3912,7 @@ as well by removing them from command-line-args-left.
 and inhibit handling of the file name.  Here is how to do it:
 
 (let ((inhibit-file-name-handlers
-       (cons 'ange-ftp-file-handler 
+       (cons 'ange-ftp-file-handler
              (and (eq inhibit-file-name-operation operation)
                       inhibit-file-name-handlers)))
       (inhibit-file-name-operation operation))
@@ -4114,7 +4114,7 @@ load the library iso-syntax.  (This is not new.)
 ** M-TAB in Text mode now runs the command ispell-complete-word
 which performs completion using the spelling dictionary.
 
-The spelling correction submenu now includes this command 
+The spelling correction submenu now includes this command
 and another command which completes a word fragment (that is,
 it doesn't assume that the text to be completed starts at the
 beginning of a word.
@@ -4617,11 +4617,11 @@ minibuffer window, and returns t if the window is currently active.
 \f
 * Changes in version 19.17.
 
-** When Emacs displays a list of completions in a buffer, 
+** When Emacs displays a list of completions in a buffer,
 you can select a completion by clicking mouse button 2
 on that completion.
 
-** Use the command `list-faces-display' to display a list of 
+** Use the command `list-faces-display' to display a list of
 all the currently defined faces, showing what they look like.
 
 ** Menu bar items from local maps now come after the usual items.
@@ -4636,8 +4636,8 @@ constants, names of functions being defined, and so on.
 
 ** Dunnet, an adventure game, is now available.
 
-** Several major modes now have their own menu bar items, 
-including Dired, Rmail, and Sendmail.  We would like to add 
+** Several major modes now have their own menu bar items,
+including Dired, Rmail, and Sendmail.  We would like to add
 suitable menu bar items to other major modes.
 
 ** The key binding C-x a C-h has been eliminated.
@@ -4821,7 +4821,7 @@ and c-backward-conditional).
 
 ** The Edit entry in the menu bar has a new alternative:
 "Choose Next Paste".  It gives you a menu showing the various
-strings in the kill ring; click on one to select it as the text 
+strings in the kill ring; click on one to select it as the text
 to be yanked ("pasted") the next time you yank.
 
 ** If you enable Transient Mark mode and set `mark-even-if-inactive' to
@@ -5151,7 +5151,7 @@ buffer is very large.
 ** You can quit while Emacs is waiting to read or write files.
 
 ** The arrow keys now have default bindings to move in the appropriate
-directions. 
+directions.
 
 ** You can suppress next-line's habit of inserting a newline when
 called at the end of a buffer by setting next-line-add-newlines to nil
@@ -5378,7 +5378,7 @@ M-, to resume a suspended `tags-search' or `tags-query-replace'.
 whether to save a particular buffer.  In addition to `y' or `n', you
 can answer `!' to save all the remaining buffers, `.' to save this
 buffer but not save any others, ESC to stop saving and exit the
-command, and C-h to get help.  These options are analogous to those 
+command, and C-h to get help.  These options are analogous to those
 of `query-replace'.
 
 ** M-x make-symbolic-link does not expand its first argument.
@@ -5594,7 +5594,7 @@ The C-x C-a bindings are also active in source files.
 
 *** The old TeX mode bindings of M-{ and M-} have been moved to C-c {
 and C-c }.  (These commands are `up-list' and `tex-insert-braces';
-they are the TeX equivalents of M-( and M-).)  This is because M-{ 
+they are the TeX equivalents of M-( and M-).)  This is because M-{
 and M-} are now globally defined commands.
 
 *** Changes in Mail mode.
@@ -5872,11 +5872,11 @@ the UNIX `calendar' utility.
 *** There is a new major mode for editing binary files: Hexl mode.
 To use it, use M-x hexl-find-file instead of C-x C-f to visit the file.
 This command converts the file's contents to hexadecimal and lets you
-edit the translation.  When you save the file, it is converted 
+edit the translation.  When you save the file, it is converted
 automatically back to binary.
 
 You can also use M-x hexl-mode to translate an existing buffer into hex.
-Do this if you have already visited a binary file.  
+Do this if you have already visited a binary file.
 
 Hexl mode has a few other commands:
 
@@ -6070,7 +6070,7 @@ etc subdirectory.
 *** Shell mode has been completely replaced.
 The basic idea is the same, but there are new commands available in
 this mode.
-      
+
 TAB now completes the file name before point in the shell buffer.
 To get a list of all possible completions, type M-?.
 
@@ -6082,8 +6082,8 @@ M-n is similar but goes in the opposite direction towards the present.
 When you find the command you wanted, you can edit it, or just
 resubmit it by typing RET.
 
-You can also use M-r and M-s to search for (respectively) earlier or 
-later inputs starting with a given string.  First type the string, 
+You can also use M-r and M-s to search for (respectively) earlier or
+later inputs starting with a given string.  First type the string,
 then type M-r to yank a previous input from the history which starts
 with that string.  You can repeat M-r to find successively earlier
 inputs starting with the same string.  You can start moving in the
@@ -6110,9 +6110,9 @@ current directory, type M-x dirs to re-synchronize.
 M-x send-invisible reads a line of text without echoing it, and
 sends it to the shell.
 
-If you accidentally suspend your process, use M-x comint-continue-subjob 
+If you accidentally suspend your process, use M-x comint-continue-subjob
 to continue it.
-         
+
 *** There is now a convenient way to enable flow control on terminals
 where you can't win without it.  Suppose you want to do this on
 VT-100 and H19 terminals; put the following in your `.emacs' file:
index 06b5405be1e065a447e7464221c6d8e5f440b3c4..3e16b02e7b0ef4199238437d4851dbf0acffe6f8 100644 (file)
@@ -330,7 +330,7 @@ Changes in Emacs 1.12
  the string, it is used unchanged.
 
  One way this feature can be used is to fix bad keyboard
- designes.  For example, on some terminals, Delete is 
+ designes.  For example, on some terminals, Delete is
  Shift-Underscore.  Since Delete is a more useful character
  than Underscore, it is an improvement to make the unshifted
  character Delete and the shifted one Underscore.  This can
@@ -553,7 +553,7 @@ This release mostly fixes bugs.  There are a few new features:
  C-h a now runs the new function command-apropos rather than
  apropos, and shows only symbols with definitions as commands.
 
-* M-x shell sends the command 
+* M-x shell sends the command
     if (-f ~/.emacs_NAME)source ~/.emacs_NAME
  invisibly to the shell when it starts.  Here NAME
  is replaced by the name of shell used,
@@ -955,7 +955,7 @@ Changes in Emacs 1.2
 
  To exit the debugger and return to top level, type `q'.
 
- In the debugger, you can evaluate Lisp expressions by 
+ In the debugger, you can evaluate Lisp expressions by
  typing `e'.  This is equivalent to `M-ESC'.
 
  When the debugger is entered due to an error, that is
@@ -1053,7 +1053,7 @@ Changes in Emacs 1.1
  or more asterisks) and text lines (all other lines).
  The number of asterisks in a heading line are its level;
  the subheadings of a heading line are all following heading
- lines at higher levels, until but not including the next 
+ lines at higher levels, until but not including the next
  heading line at the same or a lower level, regardless
  of intervening text lines.
 
@@ -1066,7 +1066,7 @@ Changes in Emacs 1.1
 
   All editing commands treat hidden outline-mode lines
  as part of the preceding visible line.
+
 * C-x C-z runs save-buffers-kill-emacs
  offers to save each file buffer, then exits.
 
index f0b5dad0b01fe776ff3cd19106189d0c84efb6f2..a4500eeb319f40d71be8dd6c0ca0b66ea64361f3 100644 (file)
@@ -482,7 +482,7 @@ be evaluated directly to repeat a command.
 
 The functions `forward-to-word', `backward-to-word',
 `upcase-char', `mark-beginning-of-buffer' and `mark-end-of-buffer'
-have been removed.  Their definitions can be found in file 
+have been removed.  Their definitions can be found in file
 lisp/unused.el if you need them.
 \f
 Upward Compatible Lisp Programming Changes in Emacs 17
@@ -882,7 +882,7 @@ When you insert a close-paren, the matching open-paren
 is checked for validity.  The close paren must be the kind
 of close-paren that the open-paren says it should match.
 Otherwise, a warning message is printed.  close-paren immediately
-preceded by quoting backslash syntax character is not matched. 
+preceded by quoting backslash syntax character is not matched.
 
 This feature was originally written by shane@mit-ajax.
 
@@ -1286,7 +1286,7 @@ whether the result should be interpreted as a string or a lisp object.
 
 Old functions `read-minibuffer', `eval-minibuffer', `read-string' all
 take second optional string argument which is initial contents of
-minibuffer. 
+minibuffer.
 
 * minibuffer variable names changed (names of keymaps)
 
index 115e07ccd6ca455ccee7af27b730e0c9f6c6a913..1fcb3d1859a202368ade3aa25c462506bbc66722 100644 (file)
@@ -50,7 +50,7 @@ uses Lisp data structures.  It can record much more
 information.  You can use the variables undo-threshold
 and undo-high-threshold to control how much.
 
-* There is no longer a maximum screen height or width. 
+* There is no longer a maximum screen height or width.
 \f
 Changes in version 18.52.
 
index c1455dd7cd187d220bbc394091f25aa62eb49892..eefc64b185877e7029d3bbb37a1912e71e265e57 100644 (file)
@@ -111,7 +111,7 @@ ____ @   800 BEF = ______ BEF  Size _____
 Tax and Shipping Costs
 
                 + ______ BEF   For addresses in Belgium: add 21% sales tax
-                               or give tax exempt number.  
+                               or give tax exempt number.
                 + ______ BEF   Shipping fee for other E.U. countries:
                               150 BEF extra for addresses outside Belgium.
                                For shipments to Italy, please add an
@@ -120,8 +120,8 @@ Tax and Shipping Costs
                               500 BEF.
                 + ______ BEF   Donation to Free Software Foundation
 
-                 ======        
-            TOTAL ______ BEF    
+                 ======
+            TOTAL ______ BEF
 
 
 Note: The shipping fee for foreign destinations covers registered
@@ -197,7 +197,7 @@ contact the FSF.
 
 For orders from outside Belgium:
 
-You are responsible for paying all taxes.  If you refuse to pay the     
-applicable taxes of your country, the shipper will return the order.    
+You are responsible for paying all taxes.  If you refuse to pay the
+applicable taxes of your country, the shipper will return the order.
 
 Bank P.C. : 000-1699992-67     V.A.T. : B.E-586.981.246       HRG : 181.641
index 8dfb5a28466964085033504077ed4680c32e56a5..1bd06614c6b64d8ec8201586bdcc0eeaac0dbf58 100644 (file)
@@ -27,17 +27,17 @@ Prices and contents may change without notice after July 31, 1998.
   organization is ultimately paying (while supplies last).
 
   Source Code CD-ROM November '93 Edition,         Y3,000 ________ __________
-  Version 3 (last with X11R5), if an individual 
+  Version 3 (last with X11R5), if an individual
   is ultimately paying (while supplies last).
 
   Subscription to next four editions of the      Y125,000 ________ __________
   Compiler Tools Binaries CD-ROMs.
 
   Subscription to next four editions of the      Y125,000 ________ __________
-  Source Code CD-ROMs. 
+  Source Code CD-ROMs.
 
 * GNU Software for MS-DOS and MS-Windows          Y20,000 ________ __________
-  (CD-ROM and book) if a corporation or other 
+  (CD-ROM and book) if a corporation or other
   organization is ultimately paying.
 
 * GNU Software for MS-DOS and MS-Windows          Y5,000 ________ __________
@@ -197,7 +197,7 @@ If you need more information about the FSF and it offerings, please consult
 the Japanese edition of the March 1998 GNU's Bulletin.  If you do not have a
 copy of the Japanese edition of the GNU's Bulletin, please contact the FSF.
 
-Richard Stallman regrets that he cannot autograph items ordered by mail. 
+Richard Stallman regrets that he cannot autograph items ordered by mail.
 If time permits, he will autograph items at speaking engagements.
 
 All sales are final.
index 13b27bf2793ad5daf2dcf0d535daa15ee7c9a473..a00b1190b1d0d5391936127dd685dd4a4df30085 100644 (file)
@@ -496,7 +496,7 @@ Other rectangle commands include
   extract-rectangle and delete-extract-rectangle
     these functions return the text of a rectangle
     as a list of strings.  They are for use in writing
-    other functions that operate on rectangles.   
+    other functions that operate on rectangles.
 
 *** Keyboard Macros
 
@@ -903,7 +903,7 @@ GNU Emacs Lisp does not have a distinction between Lisp functions
 and Emacs functions, or between Lisp variables and Emacs variables.
 The Lisp and the editor are integrated.  A Lisp function defined
 with defun is callable as an editor command if you put an
-interactive calling spec in it; for example, 
+interactive calling spec in it; for example,
   (defun forward-character (n)
     (interactive "p")
     (goto-char (+ (point) n)))
index 3025e55a72ddfac256a782545d72109796755d63..c174904a183c7b997e2f5146e8ab9c84bf310e8f 100644 (file)
@@ -57,7 +57,7 @@ distributions, such as Debian, may already have applied such a patch.)
 --- lisp/un-define.el  6 Mar 2001 22:41:38 -0000       1.30
 +++ lisp/un-define.el  19 Apr 2002 18:34:26 -0000
 @@ -610,13 +624,21 @@ by calling post-read-conversion and pre-
+
   (mapcar
    (lambda (x)
 -    (mapcar
@@ -221,17 +221,17 @@ patch to assert.h should solve this:
    * If not debugging, assert does nothing.
    */
 ! #define assert(x)    ((void)0);
-  
+
   #else /* debugging enabled */
-  
+
 --- 41,47 ----
   /*
    * If not debugging, assert does nothing.
    */
 ! #define assert(x)    ((void)0)
-  
+
   #else /* debugging enabled */
-  
+
 
 
 * Improving performance with slow X connections
@@ -882,7 +882,7 @@ load-path.
 
 An example of such an error is:
 
-  x-complement-fontset-spec: "Wrong type argument: stringp, nil" 
+  x-complement-fontset-spec: "Wrong type argument: stringp, nil"
 
 This can be another symptom of stale *.elc files in your classpath.
 The following command will print any duplicate Lisp files that are
@@ -975,7 +975,7 @@ keyboard(5).
 
 Changing Alt_L to Meta_L fixes it:
 % xmodmap -e 'keysym Alt_L = Meta_L Alt_L'
-% xmodmap -e 'keysym Alt_R = Meta_R Alt_R'  
+% xmodmap -e 'keysym Alt_R = Meta_R Alt_R'
 
 * Error "conflicting types for `initstate'" compiling with GCC on Irix 6.
 
@@ -1050,7 +1050,7 @@ Reportedly this patch in X fixes the problem.
 
 
 * Emacs crashes on Irix 6.5 on the SGI R10K, when compiled with GCC.
-  
+
 This seems to be fixed in GCC 2.95.
 
 * Emacs crashes in utmpname on Irix 5.3.
@@ -1075,7 +1075,7 @@ the fr.ISO-8859-15 locale (and maybe other related locales).
 You can fix this by editing the file:
 
        /usr/openwin/lib/locale/iso8859-15/Compose
-       
+
 Near the bottom there is a line that reads:
 
        Ctrl<t> <quotedbl> <Y>                  : "\276"        threequarters
@@ -1111,8 +1111,8 @@ change this.
 When the display is set to an Exceed X-server and fonts are specified
 (either explicitly with the -fn option or implicitly with X resources)
 then the fonts may appear "too tall".  The actual character sizes are
-correct but there is too much vertical spacing between rows,  which 
-gives the appearance of "double spacing".  
+correct but there is too much vertical spacing between rows,  which
+gives the appearance of "double spacing".
 
 To prevent this, turn off the Exceed's "automatic font substitution"
 feature (in the font part of the configuration window).
@@ -1230,7 +1230,7 @@ This is not an Emacs bug; it is caused by something in SGI patch
 
 The VM mail package, which is not part of Emacs, sometimes does
   (standard-display-european t)
-That should be changed to 
+That should be changed to
   (standard-display-european 1 t)
 
 * Installing Emacs gets an error running `install-info'.
@@ -1808,8 +1808,8 @@ you install all the latest patches (as of June 1996), the bug is fixed.
 We suspect the crucial patch is one of these, but we don't know
 for certain.
 
-        103093-03: [README] SunOS 5.5: kernel patch (2140557 bytes) 
-        102832-01: [README] OpenWindows 3.5: Xview Jumbo Patch (4181613 bytes) 
+        103093-03: [README] SunOS 5.5: kernel patch (2140557 bytes)
+        102832-01: [README] OpenWindows 3.5: Xview Jumbo Patch (4181613 bytes)
        103242-04: [README] SunOS 5.5: linker patch (595363 bytes)
 
 (One user reports that the bug was fixed by those patches together
@@ -1901,7 +1901,7 @@ On AIX, many terminal type definitions are not installed by default.
 Definitions" to make them defined.
 
 * On SunOS, you get linker errors
-   ld: Undefined symbol 
+   ld: Undefined symbol
       _get_wmShellWidgetClass
       _get_applicationShellWidgetClass
 
@@ -2061,7 +2061,7 @@ exist.  The first line in the `/etc/hosts' file should look like this
 Also make sure that the `/etc/host.conf' files contains the following
 lines:
 
-    order hosts, bind 
+    order hosts, bind
     multi on
 
 Any changes, permanent and temporary, to the host name should be
@@ -2290,12 +2290,12 @@ releasing Ctrl/Act while not pressing or holding any other keys.
 * display-time causes kernel problems on ISC systems.
 
 Under Interactive Unix versions 3.0.1 and 4.0 (and probably other
-versions), display-time causes the loss of large numbers of STREVENT 
+versions), display-time causes the loss of large numbers of STREVENT
 cells.  Eventually the kernel's supply of these cells is exhausted.
-This makes emacs and the whole system run slow, and can make other 
+This makes emacs and the whole system run slow, and can make other
 processes die, in particular pcnfsd.
-       
-Other emacs functions that communicate with remote processes may have 
+
+Other emacs functions that communicate with remote processes may have
 the same problem.  Display-time seems to be far the worst.
 
 The only known fix: Don't run display-time.
@@ -2367,7 +2367,7 @@ problem by adding this to your .cshrc file:
 
     if ($?EMACS) then
         if ($EMACS == "t") then
-            unset edit 
+            unset edit
             stty  -icrnl -onlcr -echo susp ^Z
         endif
     endif
@@ -2658,7 +2658,7 @@ again to say this:
 
 * On a Sun running SunOS 4.1.1, you get this error message from GNU ld:
 
-    /lib/libc.a(_Q_sub.o): Undefined symbol __Q_get_rp_rd referenced from text segment 
+    /lib/libc.a(_Q_sub.o): Undefined symbol __Q_get_rp_rd referenced from text segment
 
 The problem is in the Sun shared C library, not in GNU ld.
 
@@ -2680,18 +2680,18 @@ Use `smit pty' to reinstall them properly.
 christos@theory.tn.cornell.edu says:
 
 The problem is that in your .cshrc you have something that tries to
-execute `tty`. If you are not running the shell on a real tty then 
-tty will print "not a tty". Csh expects one word in some places, 
+execute `tty`. If you are not running the shell on a real tty then
+tty will print "not a tty". Csh expects one word in some places,
 but tty is giving it back 3.
 
 The solution is to add a pair of quotes around `tty` to make it a single
-word: 
+word:
 
-if (`tty` == "/dev/console") 
+if (`tty` == "/dev/console")
 
 should be changed to:
 
-if ("`tty`" == "/dev/console") 
+if ("`tty`" == "/dev/console")
 
 Even better, move things that set up terminal sections out of .cshrc
 and into .login.
@@ -2711,7 +2711,7 @@ the environment.
 
 If the error message says that a symbol such as `f68881_used' or
 `ffpa_used' or `start_float' is undefined, this probably indicates
-that you have compiled some libraries, such as the X libraries, 
+that you have compiled some libraries, such as the X libraries,
 with a floating point option other than the default.
 
 It's not terribly hard to make this work with small changes in
@@ -2737,7 +2737,7 @@ This problem seems to be a matter of configuring the DECserver to use
 * M-x shell persistently reports "Process shell exited abnormally with code 1".
 
 This happened on Suns as a result of what is said to be a bug in Sunos
-version 4.0.x.  The only fix was to reboot the machine. 
+version 4.0.x.  The only fix was to reboot the machine.
 
 * Programs running under terminal emulator do not recognize `emacs'
   terminal type.
@@ -2767,7 +2767,7 @@ You may be able to compensate for the bug by doing (set-input-mode nil nil).
 However, that has the disadvantage of turning off interrupts, so that
 you are unable to quit out of a Lisp program by typing C-g.
 
-The easy way to do this is to put 
+The easy way to do this is to put
 
   (setq x-sigio-bug t)
 
index 162afdc2ae149e9dd0161c8b63ed317bd832eb93..38628433426b89b2068bd601cd30b59d6722ac88 100644 (file)
@@ -195,7 +195,7 @@ Services:
 Updated:  2001-05-11
 ^_
 Don Barry, Ph.D.       <don@astro.cornell.edu>
-Ithaca, NY          
+Ithaca, NY
 
 Astrophysicist with extensive and varied hacker background.  Substantial
 expertise in mathematical modeling, instrument interface, low-level and
@@ -845,16 +845,16 @@ Updated:  2000-12-19
  +46 31 50 79 00 voice
  +46 31 50 79 39 fax
  http://www.netg.se
+
 NetGuide Scandinavia AB is a company that does consultant jobs and holds
 courses in the fields of Unix software, TCP/IP networking and Internet
 applications. The people behind NetGuide Scandinavia AB have many years of
 general Unix experience, both as system administrators and as
 programmers, and also extensive experience in maintaining the GNU
 programs; in administration as well as finding and fixing bugs.
+
 Services offered:
+
  - Installation and customizing GNU and other free software.  We will
    make free software as easy to install and use as shrink wrapped
    programs.
@@ -869,7 +869,7 @@ Services offered:
  - Support on Internet service software, especially the free
  - Support on GNU/Linux.
  - Freeware based courses in Unix usage, C, C++, or any GNU tools
+
  Rates: For courses, contact us for a quote,
  For consulting, $60-120/hour, depending on contract length.
 
@@ -918,26 +918,26 @@ Sweden                             Sweden)
 
 Phone: +46-21-144831
 E-mail: <jonas@gnu.org>
-    
+
 I offer support for most GNU software including the GNU
 Hurd and also do system administration on GNU systems.
 I can do free software development and have a good
 understanding of automake, autoconf, flex, bison, guile,
 texinfo and much more. Rates around USD$100.
-    
+
 Updated: 2001-05-09
 ^_
   Peter Olsen
   P.O. Box 410
   Simpsonville, MD 21150
+
   <p@sigmaxi.org>
+
   What I do:  Mathematical modeling and model building using Gnu
           and other Free Software.  Scientific and engineering
           analysis, modeling, and programming in FORTRAN, C, LISP,
           and Java.  Statistical analysis.  Emacs customization.
+
   Examples of my previous work:
                1. I built the model used predict the
           amount of work required to clean up the Exxon Valdez oil
@@ -947,24 +947,24 @@ Updated: 2001-05-09
                2. I built a model applying commercial capital
           investment standards to a Federal Agency budget, helped
           support $250 Million budget increase.
+
   Credo:  Engineering is the art of applying a professional
           knowledge of mathematics and the physical sciences to
           improve the quality of life.
+
   Rates:  $135/hour (+ travel and expenses) on site,
            $95/hour remote access.
+
   Notes:  1. Visiting Lecturer for Society for Industrial and Applied
           Mathematics:  Will speak without fee about Valdez model
           (or other work) to Educational and not-for-profit
           organizations (plus most-economical travel and living
           expenses or travel or living arrangements in kind).
+
           2. I do not accept offers which pose the danger
           of conflict of interest with any present or former client
           or employer.
+
 
 Updated: 2000-12-13
 ^_
@@ -1012,33 +1012,33 @@ Qualifications: Electronic Engineering degree, Pisa.  Full time
 
 Updated:  2001-05-09
 ^_
-Quoll Systems Pty Ltd, see http://quoll.com.au 
+Quoll Systems Pty Ltd, see http://quoll.com.au
 8 Brown St, Fannie Bay, Darwin, NT, Australia.
-Phone: +61 8 8941 7150 Fax: +61 8 8941 7151 Mobile: 0409 691 399 
+Phone: +61 8 8941 7150 Fax: +61 8 8941 7151 Mobile: 0409 691 399
 e-mail: <pjm@gnu.org> or <info@quoll.com.au>
+
 QS is a small (4 full-time staff + 15 part-timers) which does a variety
 of things in the *IX, technical computing area including:
+
           o Systems development/maintainence (in most programming languages)
           o Training (GNU/Linux, FreeBSD, OpenBSD, Apache, Perl, ...)
           o Consulting in areas such as security, reliability,
+
 Recent projects have included wind turbine generator control, water
 quality databases, remote area satelliate communications, Apache Web
 serving, ISP configurations, *nix training. Staff have provided some
 small contributions to the GNU and BSD projects over the years. We
-also have a bit of expertise in the embedded(inside people) systems 
-area in addition to the standard building work. 
+also have a bit of expertise in the embedded(inside people) systems
+area in addition to the standard building work.
 
-We can provide local (i.e. southern hemisphere/south east asia) support 
+We can provide local (i.e. southern hemisphere/south east asia) support
 for most of the vast range of free software systems including: GNU/Linux,
 FreeBSD, OpenBSD , OpenSSH, Sendmail, various compilers and networking
 tools. Remote support can also be arranged.
 
-Rates: vary depending on the work, period and staff provided but let 
+Rates: vary depending on the work, period and staff provided but let
        us pick 100$US/hr as a starting point for senior staff.
+
 Updated: 2000-12-13
 ^_
 Red Hat, Inc.
@@ -1049,7 +1049,7 @@ Toll free: 866-2REDHAT ext. 3005
 +1 408 542 9600 voice
 +1 408 542 9699 fax
 
-GNUPro Tools 
+GNUPro Tools
 Red Hat provides supported and maintained versions of gcc, g++, gdb
 with GUI, GNU linker and GNU macro assembler.  In addition, Red Hat
 provides these GNU software development tools for well over many
@@ -1130,9 +1130,9 @@ http://www.sra.co.jp/wingnut/chirashi-e.html
 http://www.sra.co.jp/wingnut/service.html
 http://osb.sra.co.jp/WingnutSupport/
 
-We provide GNU software support at a reasonable charge, 
-aiming to promote the sound growth of free software and to 
-create a new culture in the software world. 
+We provide GNU software support at a reasonable charge,
+aiming to promote the sound growth of free software and to
+create a new culture in the software world.
 
 News:
 
@@ -1142,21 +1142,21 @@ News:
 
 What we provide is:
 
-   1. Research and development of GNU software. 
-   2. Development, porting, and customization of GNU software itself. 
-   3. Helping people who are willing to port and provide GNU software 
-      to their customers, but are unable to do so due to  a lack of resources. 
-   4. Providing a variety of educational and training services including 
-      how to port or to customize. 
-   5. The result of the work will become free software covered under the 
+   1. Research and development of GNU software.
+   2. Development, porting, and customization of GNU software itself.
+   3. Helping people who are willing to port and provide GNU software
+      to their customers, but are unable to do so due to  a lack of resources.
+   4. Providing a variety of educational and training services including
+      how to port or to customize.
+   5. The result of the work will become free software covered under the
       GNU licenses (GPL or LGPL), so it will be possible not only to share
-      the results with others but to eliminate unnecessary investment also. 
-   6. Passing the result to the program package maintainers (if needed). 
-   7. Also, making contributions to FSF (Free Software Foundation, Inc.) 
+      the results with others but to eliminate unnecessary investment also.
+   6. Passing the result to the program package maintainers (if needed).
+   7. Also, making contributions to FSF (Free Software Foundation, Inc.)
       which is the organization that develops and distributes GNU software
-      worldwide. 
+      worldwide.
 
-   Furthermore, we provide services *native to Japan*, that is, 
+   Furthermore, we provide services *native to Japan*, that is,
    services for Japanese-speaking people --- receiving inquiries and
    answering in Japanese.
 
@@ -1255,13 +1255,13 @@ Tel +44 (0) 1273 20 11 66
 Fax +44 (0) 1273 20 11 68
 http://www.swingdigital.com
 
-Swing Digital actively supports the development of the GNU.FREE 
-Internet Voting system. Through this support we have gained the 
-unique expertise to support, install and run GUN.FREE-based Internet 
-votes. We are also available in a consultancy basis to offer advice 
+Swing Digital actively supports the development of the GNU.FREE
+Internet Voting system. Through this support we have gained the
+unique expertise to support, install and run GUN.FREE-based Internet
+votes. We are also available in a consultancy basis to offer advice
 for organisations wishing to run GNU.FREE themselves.
 
-Our consultancy fees start at 900 Euro (550 UK pounds) per day. We 
+Our consultancy fees start at 900 Euro (550 UK pounds) per day. We
 are also able to securely host Internet Votes, prices on application.
 
 Updated: 2001-07-23
index 0245fe2c2db481a8869e2bdada4b03c8f464a1af..dd447259710bf3475af8369fd09274a0c188a798 100644 (file)
--- a/etc/TERMS
+++ b/etc/TERMS
@@ -54,7 +54,7 @@ is `cS', which I invented.
        to use this even though the Unix termcap does not accept it
        because programs other than Emacs probably won't look for `rp'
        anyway.
-       
+
 `cs'    set scroll region.  Takes two parameters, the vertical
        positions of the first line to include in the scroll region
        and the last line to include in the scroll region.
@@ -196,12 +196,12 @@ AT386-M|at386-m|386AT-M|386at-m|at/386 console,
        sgr0=\E[0;10m, smacs=\E[12m, smso=\E[7m, smul=\E[4m,
 
 #
-# AT&T 386 color console 
+# AT&T 386 color console
 #
 AT386|at386|386AT|386at|at/386 console,
        colors#8, ncv#3, pairs#64,
        is2=\E[0;10;39m,
-       op=\E[0m, 
+       op=\E[0m,
        setb=\E[%?%p1%{0}%=%t40m
                 %e%p1%{1}%=%t44m
                 %e%p1%{2}%=%t42m
index 99e3ef30758f3314789b1c170e63cf9d04e84da0..e58183da1ecaf9cf352a933023da89093238f67a 100644 (file)
--- a/etc/TODO
+++ b/etc/TODO
@@ -172,7 +172,7 @@ Other features we would like:
 
 * Add a feature to Info similar to "info --apropos SUBJECT".
 
-* Add support for SVG (Scalable Vector Graphics) rendering to 
+* Add support for SVG (Scalable Vector Graphics) rendering to
   Emacs.
 
 * Allow unknown image types to be rendered via an external program
index 2c112b08930e7d5a59aa09d2a9ed1c28a285759a..d2aaf79e9ce0d0598773c042d8aa64c0256dbaec 100644 (file)
@@ -65,7 +65,7 @@ There are several ways you can do this.  You can use the arrow keys,
 but it's more efficient to keep your hands in the standard position
 and use the commands C-p, C-b, C-f, and C-n.  These characters
 are equivalent to the four arrow keys, like this:
+
                          Previous line, C-p
                                  :
                                  :
@@ -198,7 +198,7 @@ any terminal.  The numeric argument is also called a "prefix argument",
 because you type the argument before the command it applies to.
 
 For instance, C-u 8 C-f moves forward eight characters.
-       
+
 >> Try using C-n or C-p with a numeric argument, to move the cursor
    to a line near this one with just one command.
 
@@ -749,7 +749,7 @@ no stars, just dashes.
 
 The part of the mode line inside the parentheses is to tell you what
 editing modes you are in.  The default mode is Fundamental which is
-what you are using now.  It is an example of a "major mode".  
+what you are using now.  It is an example of a "major mode".
 
 Emacs has many different major modes.  Some of them are meant for
 editing different languages and/or kinds of text, such as Lisp mode,
index 3c82a3940d37b30e373b6fb6ac34c04d7560dae5..316098c0e77382c4360058ec9d7922adce0b9d43 100644 (file)
@@ -64,7 +64,7 @@ pou
 kurzor na obrazovce o jeden øádek nebo sloupec v daném smìru.
 Zde je tabulka znázoròující smìr posuvu kurzoru vyvolaný tìmito ètyømi
 pøíkazy:
+
                          Pøedchozí øádek, C-p
                                  :
                                  :
@@ -769,7 +769,7 @@ numerick
    C-x f.
 
 Jestli¾e provedete zmìny uprostøed odstavce, Auto Fill mód jej
-nepøeformátuje. 
+nepøeformátuje.
 Pro pøeformátování odstavce stisknìte M-q (META-q) s kurzorem uvnitø
 odstavce.
 
@@ -795,7 +795,7 @@ Kdy
 a èeká, a¾ mu zadáte, co chcete hledat.  <RET> hledání ukonèí.
 
 >> Nyní zahajte hledání stiskem C-s.  POMALU, písmeno po písmenu, pi¹te
-   slovo 'kurzor'.  Po ka¾dém písmenu si v¹imnìte, co se dìje s kurzorem.  
+   slovo 'kurzor'.  Po ka¾dém písmenu si v¹imnìte, co se dìje s kurzorem.
    Teï jste vyhledali "kurzor" poprvé.
 >> Stisknìte C-s znovu, abyste nalezli dal¹í výskyt "kurzor".
 >> Nyní ètyøikrát stisknìte <Delete> a pozorujte, jak se kurzor
index 4c6c066670887a8e00592370a2511362c1c06776..81f01b60addf63e6393eca3fd011edc9d68a38fa 100644 (file)
@@ -266,7 +266,7 @@ Beispiel: C-u 8 C-f bewegt den Cursor acht Zeichen vorw
 >> Versuchen Sie, C-n oder C-p mit einem numerischen Argument zu
    verwenden und bewegen Sie den Cursor mit nur einem Befehl ungefähr
    hierher.
-       
+
 Wie gesagt, die meisten Befehle verwenden das numerische Argument als
 Wiederholungszähler, jedoch nicht alle.  Einige davon, die allerdings
 noch nicht besprochen wurden, benützen es als Flag (`Flagge'), d.h.,
index 9c2c5e5dcff6814d518e3852cac2c7de9a345d29..3733054ca6fc7655ff5c869d3d7e28bca3cb7715 100644 (file)
@@ -47,9 +47,9 @@ Les commandes suivantes servent 
        C-v     Avance d'un écran
        M-v     Recule d'un écran
        C-l     Efface l'écran et réaffiche tout le texte autour du
-                curseur, qui est placé au milieu de l'écran 
+                curseur, qui est placé au milieu de l'écran
                 (il s'agit de CTRL-L, pas de CTRL-1).
-               
+
 
 >> Notez le texte situé à côté du curseur, puis faites C-l.
    Recherchez l'emplacement du curseur et vous remarquerez que
@@ -66,7 +66,7 @@ Il existe plusieurs fa
 du curseur, mais il est plus efficace de garder vos mains dans la même
 position et d'utiliser les commandes C-p, C-b, C-f, et C-n.  Ces
 combinaisons sont équivalentes aux quatre touches du curseur :
+
                          Ligne précédente, C-p
                                  :
                                  :
@@ -76,20 +76,20 @@ combinaisons sont 
                          Ligne suivante, C-n
 
 >> Déplacez le curseur sur la ligne située au milieu de ce schéma en
-   utilisant C-n ou C-p. Puis, faites C-l pour placer le schéma au 
+   utilisant C-n ou C-p. Puis, faites C-l pour placer le schéma au
    centre de l'écran.
 
 Si vous connaissez un peu l'anglais, vous aurez sûrement constaté
 qu'il était facile de se rappeler que P signifiait Previous
 (précédent), N Next (suivant), B Backward (en arrière) et F Forward
-(vers l'avant). 
+(vers l'avant).
 
 >> Faites quelques C-n pour amener le curseur sur cette ligne.
 
 >> Déplacez-vous le long de la ligne avec des C-f, puis au-dessus avec
    des C-p. Notez ce que fait C-p lorsque le curseur est au milieu de
    la ligne.
-  
+
 
 Chaque ligne de texte se termine par un caractère Newline, qui sert à
 la séparer de la ligne suivante. La dernière ligne de votre fichier
@@ -102,7 +102,7 @@ ait un).
 
 C-f peut passer au-dessus d'un Newline, tout comme C-b.
 
->> Faites encore quelques C-b afin de bien sentir où est le curseur. 
+>> Faites encore quelques C-b afin de bien sentir où est le curseur.
    Puis, faites des C-f pour revenir à la fin de la ligne.
    Enfin, faites quelques C-f supplémentaires pour passer à la ligne
    suivante.
@@ -153,7 +153,7 @@ L'emplacement du curseur dans le texte est 
 Pour paraphraser, le curseur apparaît à l'écran à l'endroit où le
 point est situé dans le texte.
 
-Voici un résumé des opérations de déplacements simples du curseur, 
+Voici un résumé des opérations de déplacements simples du curseur,
 ainsi que les commandes de déplacement par mots et par phrases.
 
        C-f     Avance d'un caractère
@@ -171,7 +171,7 @@ ainsi que les commandes de d
        M-a     Va au début de la phrase
        M-e     Va à la fin de la phrase
 
->> Essayez toutes ces commandes plusieurs fois afin de vous entraîner. 
+>> Essayez toutes ces commandes plusieurs fois afin de vous entraîner.
    Ce sont celles qui sont utilisées le plus souvent.
 
 M-< (Meta inférieur à) et M-> (Meta supérieur à) sont deux autres
@@ -188,7 +188,7 @@ vous taperiez M-virgule.
 
 >> Faites M-> afin de vous déplacer à la fin du didacticiel.
    Puis, faites plusieurs fois M-v pour revenir ici.
+
 Vous pouvez également déplacer le curseur à l'aide des touches de
 curseur, si votre terminal en dispose. Nous vous conseillons
 d'apprendre à utiliser C-b, C-f, C-n et C-p pour trois raisons. Tout
@@ -213,7 +213,7 @@ num
 avant la commande sur laquelle il s'applique.
 
 C-u 8 C-f, par exemple, avance le curseur de huit caractères.
-       
+
 >> Utilisez C-n ou C-p avec un paramètre numérique afin de déplacer,
    en une seule commande, le curseur sur une ligne proche de celle-ci.
 
@@ -244,7 +244,7 @@ d
 >> Cliquez avec le bouton du milieu en haut de la zone mise en
    évidence dans la barre de défilement. Cela devrait déplacer le
    texte jusqu'à une position dépendant de la hauteur où vous avez
-   cliqué. 
+   cliqué.
 
 >> Déplacez la souris de bas en haut tout en maintenant son bouton du
    milieu pressé. Vous constaterez que le texte défile vers le haut et
@@ -262,7 +262,7 @@ C-g peut 
 début d'une commande que vous ne souhaitez pas terminer.
 
 >> Faites C-u 100 pour former un paramètre numérique de 100, puis
-   tapez C-g. 
+   tapez C-g.
    Faites maintenant C-f. Le déplacement ne sera que d'un caractère
    car vous avez annulé le paramètre avec C-g.
 
@@ -284,16 +284,16 @@ Si vous souhaitez vraiment essayer la commande, tapez <Espace> en
 réponse à la question. Si vous ne voulez pas exécuter la commande
 désactivée, il suffit normalement de répondre « n ».
 
->> Faites C-x C-l (qui est une commande désactivée), 
+>> Faites C-x C-l (qui est une commande désactivée),
    puis répondez n à la question.
 
 * FENÊTRES
 ----------
 
 Emacs peut avoir plusieurs fenêtres, chacune affichant son propre
-texte. Nous expliquerons plus tard comment utiliser plusieurs fenêtres ; 
+texte. Nous expliquerons plus tard comment utiliser plusieurs fenêtres ;
 pour l'instant, nous expliquerons comment se débarrasser des
-fenêtres supplémentaires pour revenir à une édition mono-fenêtre. 
+fenêtres supplémentaires pour revenir à une édition mono-fenêtre.
 C'est très simple :
 
        C-x 1   Une seule fenêtre (i.e., supprime toutes les autres)
@@ -339,7 +339,7 @@ touche, nomm
 Plus généralement, <Delback> efface le caractère situé immédiatement
 avant la position courante du curseur.
 
->> Tapez quelques caractères puis effacez-les en faisant plusieurs 
+>> Tapez quelques caractères puis effacez-les en faisant plusieurs
    fois <Delback>. Ne vous inquiétez pas de modifier ce fichier ; vous
    ne modifierez pas le didacticiel principal mais uniquement votre
    copie personnelle de celui-ci.
@@ -363,7 +363,7 @@ en une seule ligne. Si la ligne r
 dans la largeur de l'écran, elle s'affichera avec une ligne de
 continuation.
 
->> Placez le curseur au début d'une ligne et faites <Delback>. 
+>> Placez le curseur au début d'une ligne et faites <Delback>.
    Cela fusionne cette ligne avec la ligne précédente.
 
 >> Faites <Entrée> pour remettre le Newline que vous avez supprimé.
@@ -429,7 +429,7 @@ alors que taper deux fois C-k n'aurait pas le m
 
 Vous pouvez ramener le texte supprimé à la place qu'il occupait ou à
 n'importe quel autre emplacement du texte. Vous pouvez récupérer
-plusieurs fois ce texte afin d'en créer plusieurs copies. 
+plusieurs fois ce texte afin d'en créer plusieurs copies.
 
 La commande de récupération est C-y.  Elle réinsère le dernier texte
 supprimé à la position courante du curseur.
@@ -464,10 +464,10 @@ de d
 
 >> Supprimez une ligne, déplacez vous et supprimez une autre ligne.
    Puis, faites C-y pour récupérer cette dernière.
-   Faites alors M-y et elle sera remplacée par la première ligne détruite.  
+   Faites alors M-y et elle sera remplacée par la première ligne détruite.
    Faites d'autres M-y et notez ce que vous obtenez, continuez jusqu'à
    ce que la seconde ligne supprimée réapparaisse, et faites-en encore
-   quelques-uns de plus. 
+   quelques-uns de plus.
    Si vous le souhaitez, vous pouvez essayer de passer des paramètres
    positifs et négatifs à M-y.
 
@@ -533,7 +533,7 @@ Emacs, son nom appara
 Une particularité de la commande permettant de trouver un fichier est
 que vous devez donner le nom du fichier voulu. On dit que la commande
 « lit un paramètre à partir du terminal » (ici, le paramètre est le
-nom du fichier). Après avoir fait la commande 
+nom du fichier). Après avoir fait la commande
 
        C-x C-f   Trouve un fichier
 
@@ -572,7 +572,7 @@ possible de travail au cas o
    Cela devrait écrire "Wrote ...TUTORIAL.fr" en bas de l'écran.
 
 REMARQUE : Sur certains systèmes, C-x C-s gèlera l'écran et vous ne
-verrez plus rien se produire dans Emacs.  Cela indique qu'une 
+verrez plus rien se produire dans Emacs.  Cela indique qu'une
 « fonctionnalité » du système d'exploitation, appelée « contrôle de flux »,
 a intercepté le C-s et ne lui permet pas de parvenir à Emacs. Pour
 décoincer l'écran, faites C-q puis consultez la section « Spontaneous
@@ -603,7 +603,7 @@ Emacs.
 
 Emacs stocke le texte de chaque fichier dans un objet appelé « tampon ».
 Trouver un fichier crée un nouveau tampon dans Emacs. Pour voir la
-liste des tampons existants dans votre session Emacs, faites 
+liste des tampons existants dans votre session Emacs, faites
 
        C-x C-b   Liste des tampons
 
@@ -623,7 +623,7 @@ pouvez le recharger avec C-x C-f mais il y a plus simple : utilisez la
 commande C-x b en lui passant le nom du tampon.
 
 >> Faites C-x b truc <Entrée> pour revenir au tampon "truc", qui
-   contient le texte du fichier "truc". 
+   contient le texte du fichier "truc".
    Puis, faites C-x b TUTORIAL <Entrée> pour revenir à ce didacticiel.
 
 La plupart du temps, le nom d'un tampon est le même que celui du
@@ -639,7 +639,7 @@ correspond pas non plus 
 messages apparus dans la ligne d'état pendant votre session Emacs.
 
 >> Faites C-x C-b *Messages* <Entrée> pour visualiser le tampon des
-   messages.  
+   messages.
    Puis, faites C-x b TUTORIAL <Entrée> pour revenir à ce didacticiel.
 
 Si vous modifiez le texte d'un fichier, puis que vous chargez un autre
@@ -656,11 +656,11 @@ pour le sauvegarder avec C-x C-s. On a donc :
 C-x s vous demande confirmation pour savoir s'il doit sauvegarder
 chaque tampon contenant des modifications non encore sauvegardées. Il
 vous demande, pour chacun de ces tampons, s'il doit le sauvegarder ou
-non. 
+non.
 
 >> Insérez une ligne de texte et faites C-x s.
    Cela devrait vous demander si vous souhaitez sauvegarder le tampon
-   nommé TUTORIAL.fr. Répondez par l'affirmative en tapant « y ». 
+   nommé TUTORIAL.fr. Répondez par l'affirmative en tapant « y ».
 
 
 * EXTENSION DU JEU DE COMMANDES
@@ -852,7 +852,7 @@ d
 désactive : on dit que la commande « fait basculer le mode ».
 
 >> Faites M-x auto fill mode<Entrée> puis insérez une ligne de
-   plusieurs « azer »  jusqu'à ce qu'elle se divise en deux lignes. 
+   plusieurs « azer »  jusqu'à ce qu'elle se divise en deux lignes.
    Vous devez mettre des espaces entre eux car le mode Auto Fill ne
    coupe les lignes que sur les espaces.
 
@@ -865,9 +865,9 @@ nouvelle valeur de la marge sous la forme d'un param
    caractères. Remettez la marge à 70 en refaisant C-x f.
 
 Si vous faites des modifications au milieu d'un paragraphe, le mode
-Auto Fill ne reformatera pas ce paragraphe.  
+Auto Fill ne reformatera pas ce paragraphe.
 Pour cela, faites M-q (META-q) lorsque le curseur est placé dans ce
-paragraphe. 
+paragraphe.
 
 >> Placez le curseur dans le paragraphe précédent et faites M-q.
 
@@ -948,7 +948,7 @@ pouvez afficher plusieurs fen
 
 >> Placez le curseur sur cette ligne et faites C-u 0 C-l (CTRL-L, pas
    CTRL-1).
-   
+
 >> Faites maintenant C-x 2 pour diviser l'écran en deux
    fenêtres. Toutes les deux affichent ce didacticiel et le curseur
    reste dans celle du haut.
@@ -1115,11 +1115,11 @@ leur correspondent, comme find-file.
                lire les manuels en ligne des paquetages installés sur
                votre système. Faites m emacs <Entrée> pour lire le
                manuel d'Emacs. Si vous n'avez jamais utilisé Info
-               auparavant, tapez ? et Emacs vous fera faire une visite 
+               auparavant, tapez ? et Emacs vous fera faire une visite
                guidée des fonctionnalités du mode Info. Lorsque vous
                en aurez fini avec ce didacticiel, le manuel Info
                d'Emacs devrait être votre source de documentation
-               essentielle. 
+               essentielle.
 
 
 * FONCTIONNALITÉS SUPPLÉMENTAIRES
@@ -1170,7 +1170,7 @@ Emacs.
 Cette version du didacticiel, comme GNU Emacs, est placée sous
 copyright, et vous pouvez en distribuer des copies sous certaines
 conditions :
+
 Copyright (c) 1985, 1996, 2001, 2002 Free Software Foundation
 
    Chacun peut créer ou distribuer des copies de ce document tel qu'il
index 417c2332f68d4bac77024fc2c8d232577ef269bd..06a76a5908b76011df461f38b3015a34c5e7a3e5 100644 (file)
@@ -1,9 +1,9 @@
 \e$B$"$J$?$,8=:_8+$F$$$k$N$O\e(B Emacs \e$BF~Lg%,%$%I$G$9!#%U%!%$%k:G8e$r;2>H$N$3$H!#\e(B
 Copyright (c) 1985, 1996, 1998, 2001, 2002 Free Software Foundation.
 
-Emacs \e$B$N%3%^%s%I$rF~NO$9$k$K$O!"0lHL$K%3%s%H%m!<%k%-!<!J%-!<%H%C%W$K\e(B 
-CONTROL \e$B$H$+\e(B CTRL \e$B$H$+\e(B CTL \e$B$H=q$$$F$"$k!K$d%a%?%-!<!J%-!<%H%C%W$K\e(B META 
-\e$B$H$+\e(B ALT \e$B$H$+\e(B EDIT \e$B$H=q$$$F$"$k!K$r;H$$$^$9!#$=$3$G!"\e(BCONTROL \e$B$H$+\e(B META 
+Emacs \e$B$N%3%^%s%I$rF~NO$9$k$K$O!"0lHL$K%3%s%H%m!<%k%-!<!J%-!<%H%C%W$K\e(B
+CONTROL \e$B$H$+\e(B CTRL \e$B$H$+\e(B CTL \e$B$H=q$$$F$"$k!K$d%a%?%-!<!J%-!<%H%C%W$K\e(B META
+\e$B$H$+\e(B ALT \e$B$H$+\e(B EDIT \e$B$H=q$$$F$"$k!K$r;H$$$^$9!#$=$3$G!"\e(BCONTROL \e$B$H$+\e(B META
 \e$B$H$+$r=q$/Be$o$j$K!"<!$N$h$&$J5-K!$r;H$&$3$H$K$7$^$9!#\e(B
 
  C-<\e$BJ8;z\e(B>   \e$B%3%s%H%m!<%k%-!<$r2!$7$?$^$^!"\e(B<\e$BJ8;z\e(B>\e$B%-!<$r2!$7$^$9!#Nc$($P!"\e(B
@@ -68,7 +68,7 @@ CONTROL \e$B$H$+\e(B CTRL \e$B$H$+\e(B CTL \e$B$H=q$$$F$"$k!K$d%a%?%-!<!J%-!<%H%C%W$K
                                     :
                                \e$B<!$N9T!$\e(BC-n
 
->> C-n \e$B$H\e(B C-p \e$B$G%+!<%=%k$r>e?^$N??Cf$N9T$KF0$+$7$F2<$5$$!#$=$l$+$i\e(B C-l 
+>> C-n \e$B$H\e(B C-p \e$B$G%+!<%=%k$r>e?^$N??Cf$N9T$KF0$+$7$F2<$5$$!#$=$l$+$i\e(B C-l
    \e$B$r%?%$%W$7$F?^$NA4BN$,2hLLCf1{$K$/$k$h$&$K$7$F$_$^$7$g$&!#\e(B
 
 
@@ -218,7 +218,7 @@ M-v \e$B$K0z?t$rM?$($l$P$h$$$N$G$9!#\e(B
 \e$B!v\e(B Emacs \e$B$,%O%s%0$7$?;~!JF0$+$J$/$J$C$?;~!K\e(B
 ==========================================
 
-\e$B$b$7\e(B Emacs \e$B$,%3%^%s%I$KH?1~$7$J$/$J$C$?$i!"\e(BC-g \e$B$r%?%$%W$9$k$3$H$G\e(BEmacs 
+\e$B$b$7\e(B Emacs \e$B$,%3%^%s%I$KH?1~$7$J$/$J$C$?$i!"\e(BC-g \e$B$r%?%$%W$9$k$3$H$G\e(BEmacs
 \e$B$r0BA4$K;_$a$k$3$H$,$G$-$^$9!#\e(BC-g \e$B$G$H$F$b;~4V$N$+$+$k%3%^%s%I$r;_$a$k\e(B
 \e$B$3$H$,$G$-$^$9!#\e(B
 
@@ -281,9 +281,9 @@ Emacs \e$B$O4v$D$b$N%&%#%s%I%&$K!"$=$l$>$l8DJL$NJ8>O$rI=<($9$k$3$H$,$G$-$^\e(B
 \e$BJ8;z!J\e(BA, 7, * \e$BEy!K$rJ8>O$G$"$k$H$_$J$9$N$G!"$=$l$i$O$=$N$^$^A^F~$5$l$^\e(B
 \e$B$9!#\e(B<Return>\e$B!J2~9T%-!<!K$r%?%$%W$9$l$P2~9TJ8;z$,A^F~$5$l$^$9!#\e(B
 
-\e$BD>A0$KF~NO$7$?J8;z$r:o=|$9$k$K$O!"\e(B<Delback> \e$B$r%?%$%W$7$^$9!#\e(B<Delback> 
+\e$BD>A0$KF~NO$7$?J8;z$r:o=|$9$k$K$O!"\e(B<Delback> \e$B$r%?%$%W$7$^$9!#\e(B<Delback>
 \e$B$O!"\e(BEmacs \e$B0J30$G!":G8e$K%?%$%W$7$?J8;z$r:o=|$9$k$?$a$K;H$&%-!<%\!<%I>e\e(B
-\e$B$N%-!<$G$9!#DL>o$O!"\e(B <Return> \e$B%-!<$N>eJ}$K$"$kBg$-$a$N%-!<$G!"\e(B 
+\e$B$N%-!<$G$9!#DL>o$O!"\e(B <Return> \e$B%-!<$N>eJ}$K$"$kBg$-$a$N%-!<$G!"\e(B
 "Delete" \e$B$H$+\e(B "Del" \e$B$H$+\e(B "Backspace" \e$B$H=q$$$"$j$^$9!#\e(B
 
 \e$B$b$7!"$=$N$=$l$,\e(B "Backspace" \e$B$H=q$$$F$"$k$J$i!"$=$l$,\e(B <Delback> \e$B%-!<$G$9!#\e(B
@@ -391,7 +391,7 @@ C-k \e$B$rB3$1$F<B9T$9$k$H!">C5n$7$?3F9T$OA4It$^$H$a$FJ]B8$5$l$k$N$G!"0l2s\e(B
 
 \e$B2a5n$K>C5n$7$?J8>O$r:FF~$7$?$$$N$K!"JL$NJ8>O$r$=$N8e>C5n$7$?;~$O$I$&$9\e(B
 \e$B$l$P$h$$$G$7$g$&!)\e(B C-y \e$B$O:G8e$K>C5n$7$?$b$N$r:FF~$7$^$9!#$G$b$=$l$G$h\e(B
-\e$B$j0JA0$K>C5n$7$?J8>O$,$J$/$J$k$o$1$G$O$"$j$^$;$s!#$=$&$$$&J8>O$O\e(B M-y 
+\e$B$j0JA0$K>C5n$7$?J8>O$,$J$/$J$k$o$1$G$O$"$j$^$;$s!#$=$&$$$&J8>O$O\e(B M-y
 \e$B$G:FF~$G$-$^$9!#\e(BC-y \e$B$G:G8e$K>C5n$7$?J8>O$r:FF~$7$?D>8e$K\e(BM-y \e$B$r%?%$%W$9\e(B
 \e$B$k$H!"$=$N:FF~$5$l$?J8>O$O$=$l0JA0$K>C5n$7$?$b$N$KJQ99$5$l$^$9!#2?EY$b\e(B
 \e$BB3$1$F\e(B M-y \e$B$r%?%$%W$9$k$H!"$5$i$KA0$K>C5n$7$?J8>O$r8F$SLa$;$^$9!#K>$_\e(B
@@ -427,7 +427,7 @@ u \e$B$r9T$($P$=$N$?$S$K0l$DA0$N%3%^%s%I$,<h$j>C$7$K$J$j$^$9!#\e(B
 C-_ \e$B$b<h$j>C$7!J\e(Bundo\e$B!K$r9T$J$&%3%^%s%I$G$9!#5!G=$O!"\e(BC-x u \e$B$HF1$8$G$9$,!"\e(B
 \e$BB3$1$F2?EY$b%?%$%W$9$k>l9g$O$h$jJXMx$G$9!#\e(BC-_ \e$B$NLdBj$O!"%-!<%\!<%I$K$h$C\e(B
 \e$B$F$O$I$&$d$C$F%?%$%W$9$k$N$+J,$j$E$i$$;v$G$9!#$@$+$i\e(B C-x u \e$B$,$"$k$N$G\e(B
-\e$B$9!#C<Kv$K$h$C$F$O!"%3%s%H%m!<%k%-!<$r2!$7$?$^$^\e(B / \e$B$r%?%$%W$9$k$H\e(B C-_ 
+\e$B$9!#C<Kv$K$h$C$F$O!"%3%s%H%m!<%k%-!<$r2!$7$?$^$^\e(B / \e$B$r%?%$%W$9$k$H\e(B C-_
 \e$B$r%?%$%W$7$?$3$H$K$J$j$^$9!#\e(B
 
 C-_ \e$B$d\e(B C-x u \e$B$O?tCM0z?t$r7+$jJV$72s?t$H2r<a$7$^$9!#\e(B
@@ -496,10 +496,10 @@ C-_ \e$B$d\e(B C-x u \e$B$O?tCM0z?t$r7+$jJV$72s?t$H2r<a$7$^$9!#\e(B
 >> C-x C-s \e$B$H%?%$%W$7$F$3$NF~Lg%,%$%I$N%3%T!<$r%;!<%V$7$F2<$5$$!#\e(B
    \e$B2hLL:G2<CJ$K\e(B "Wrote ...TUTORIAL.ja" \e$B$HI=<($5$l$^$9!#\e(B
 
-\e$BCm0U!'%7%9%F%`$K$h$C$F$O\e(B C-x C-s \e$B$H%?%$%W$9$k$H2hLL$,F0$+$J$/$J$j\e(B 
+\e$BCm0U!'%7%9%F%`$K$h$C$F$O\e(B C-x C-s \e$B$H%?%$%W$9$k$H2hLL$,F0$+$J$/$J$j\e(B
 Emacs \e$B$,I=<($7$h$&$H$9$k$b$N$,2?$b2hLL$K=P$J$/$J$j$^$9!#$3$l$O!"%U%m!<\e(B
 \e$B%3%s%H%m!<%k$H8F$P$l$k#O#S$N5!G=$,\e(B C-s \e$B$rB*$(!"\e(BEmacs \e$B$KEO$5$J$$$h$&$K\e(B
-\e$B$7$F$$$k$N$G$9!#$3$l$r2r=|$9$k$K$O\e(B C-q \e$B$r%?%$%W$7$^$9!#$=$l$+$i\e(B Emacs 
+\e$B$7$F$$$k$N$G$9!#$3$l$r2r=|$9$k$K$O\e(B C-q \e$B$r%?%$%W$7$^$9!#$=$l$+$i\e(B Emacs
 \e$B%^%K%e%"%k$N\e(B "Spontaneous Entry to Incremental Search (\e$BCN$i$L4V$K%$%s\e(B
 \e$B%/%j%a%s%?%k%5!<%A$K$J$k\e(B)" \e$B$N@a$rFI$s$G$/$@$5$$!#$3$N$d$C$+$$$J#O#S$N\e(B
 \e$B5!G=$K$I$&BP=h$9$l$PNI$$$+$,:\$C$F$$$^$9!#\e(B
@@ -524,7 +524,7 @@ Emacs \e$B$,I=<($7$h$&$H$9$k$b$N$,2?$b2hLL$K=P$J$/$J$j$^$9!#$3$l$O!"%U%m!<\e(B
    \e$B2?$+J8>O$rF~$l!"JT=8$7!"\e(BC-x C-s \e$B$G\e(B "foo" \e$B$r%;!<%V$7$F2<$5$$!#\e(B
    \e$B:G8e$K\e(B C-x C-f TUTORIAL.ja <Retrun> \e$B$H%?%$%W$7\e(B
    \e$BF~Lg%,%$%I$KLa$j$^$7$g$&!#\e(B
-   
+
 Emacs \e$B$O%U%!%$%k$NFbMF$r%P%C%U%!!J\e(Bbuffer\e$B!K$H8F$P$l$k$b$N$NCf$K3JG<$7$F\e(B
 \e$B$$$^$9!#%U%!%$%k$r3+$/$H?7$7$$%P%C%U%!$,$G$-$^$9!#\e(BEmacs \e$B$,8=:_;}$C$F$$\e(B
 \e$B$k%P%C%U%!$N%j%9%H$r8+$k$K$O!"<!$N$h$&$K%?%$%W$7$^$9!#\e(B
@@ -555,7 +555,7 @@ Emacs \e$B$O%U%!%$%k$NFbMF$r%P%C%U%!!J\e(Bbuffer\e$B!K$H8F$P$l$k$b$N$NCf$K3JG<$7$F\e
 \e$B%9%H$O>o$K3F%P%C%U%!$NL>A0$rI=<($7$^$9!#\e(B
 
 \e$B$"$J$?$,\e(B Emacs \e$B$N%&%#%s%I%&$G8+$kJ8>O$O$I$l$b!"$$$:$l$+$N%P%C%U%!$N0l\e(B
-\e$BIt$G$9!#%P%C%U%!$K$h$C$F$OBP1~$9$k%U%!%$%k$,L5$$$b$N$b$"$j$^$9!#Nc$($P\e(B 
+\e$BIt$G$9!#%P%C%U%!$K$h$C$F$OBP1~$9$k%U%!%$%k$,L5$$$b$N$b$"$j$^$9!#Nc$($P\e(B
 "*Buffer List*" \e$B$H$$$&L>A0$N%P%C%U%!$K$O%U%!%$%k$,$"$j$^$;$s!#$3$N%P%C\e(B
 \e$B%U%!$O$"$J$?$,\e(B C-x C-b \e$B$G:n$C$?%P%C%U%!%j%9%H$rJ];}$7$F$$$k%P%C%U%!$G\e(B
 \e$B$9!#\e(B"*Messages*" \e$B$H$$$&%P%C%U%!$b%U%!%$%k$r;}$A$^$;$s!#$3$N%P%C%U%!$O!"\e(B
@@ -604,7 +604,7 @@ C-c \e$B$K4X$7$F$O!"$=$l$^$G$K2C$($?JQ99$,L5$/$J$k$N$r?4G[$9$kI,MW$O$"$j$^\e(B
 C-z \e$B$O!V0l;~E*$K!W\e(B Emacs \e$B$rH4$1$k%3%^%s%I$G$9!#$^$?F1$8\e(B Emacs \e$B%;%C%7%g\e(B
 \e$B%s$KLa$k$3$H$,$G$-$^$9!#\e(B
 
-\e$B$=$l$,$G$-$k%7%9%F%`>e$J$i!"\e(BC-z \e$B$O\e(B Emacs \e$B$r!VCfCG!W$5$;$^$9!#$D$^$j\e(B 
+\e$B$=$l$,$G$-$k%7%9%F%`>e$J$i!"\e(BC-z \e$B$O\e(B Emacs \e$B$r!VCfCG!W$5$;$^$9!#$D$^$j\e(B
 Emacs \e$B$r=*N;$9$k$3$H$J$/!"%3%^%s%I%7%'%k$KLa$k$3$H$,$G$-$^$9!#BgJ}$NI8\e(B
 \e$B=`E*$J%7%'%k$J$i!"\e(B`fg' \e$B%3%^%s%I$b$7$/$O\e(B `%emacs' \e$B$K$h$C$F\e(B Emacs \e$B$r:F3+\e(B
 \e$B$G$-$^$9!#\e(B
@@ -615,9 +615,9 @@ Emacs \e$B$r=*N;$9$k$3$H$J$/!"%3%^%s%I%7%'%k$KLa$k$3$H$,$G$-$^$9!#BgJ}$NI8\e(B
 \e$B$G!"%7%'%k%3%^%s%I$N\e(B `exit' \e$B$,$=$N%5%V%7%'%k$+$i\e(B Emacs \e$B$KLa$kIaDL$N$d\e(B
 \e$B$jJ}$G$9!#\e(B
 
-C-x C-c \e$B$O%m%0%"%&%H$7$h$&$H;W$&;~$K;H$&$b$N$G$9!#%a!<%k%D!<%k!J\e(Bmail 
-\e$B%3%^%s%IEy!K$d$=$NB>$NMM!9$J%"%W%j%1!<%7%g%s%W%m%0%i%`$,5/F0$7$?\e(B Emacs 
-\e$B$+$iH4$1=P$k>l9g$K;H$&$N$b@5$7$$$d$jJ}$G$9!#$3$l$i$N%W%m%0%i%`$O\e(B Emacs 
+C-x C-c \e$B$O%m%0%"%&%H$7$h$&$H;W$&;~$K;H$&$b$N$G$9!#%a!<%k%D!<%k!J\e(Bmail
+\e$B%3%^%s%IEy!K$d$=$NB>$NMM!9$J%"%W%j%1!<%7%g%s%W%m%0%i%`$,5/F0$7$?\e(B Emacs
+\e$B$+$iH4$1=P$k>l9g$K;H$&$N$b@5$7$$$d$jJ}$G$9!#$3$l$i$N%W%m%0%i%`$O\e(B Emacs
 \e$B$NCfCG$K$I$&BP=h$7$FNI$$$+CN$i$J$$$G$7$g$&$+$i!#$7$+$7$J$,$i!"IaDL$N>l\e(B
 \e$B9g$O!"%m%0%"%&%H$7$h$&$H$7$J$$8B$j$O\e(B Emacs \e$B$r=*N;$5$;$k$h$j$O\e(B C-z \e$B$GCf\e(B
 \e$BCG$5$;$kJ}$,NI$$$G$7$g$&!#\e(B
@@ -629,7 +629,7 @@ C-x \e$B%3%^%s%I$O$?$/$5$s$"$j$^$9!#$3$l$^$G$K!"0J2<$r3X$S$^$7$?!#\e(B
        C-x C-b   \e$B%P%C%U%!$N%j%9%H%"%C%W\e(B
        C-x C-c   Emacs \e$B$r=*N;\e(B
        C-x 1     \e$B%&%#%s%I%&$r#1$D$K$9$k!J$D$^$jB>$N%&%#%s%I%&$rA4It>C$9!K\e(B
-       C-x u     \e$B<h$j>C$7\e(B        
+       C-x u     \e$B<h$j>C$7\e(B
 
 \e$BL>A0$K$h$k3HD%%3%^%s%I$K$O!"$"$^$j;H$o$J$$$b$N$d!"FCDj$N%b!<%I$G$7$+;H\e(B
 \e$B$o$J$$$b$N$,$"$j$^$9!#$?$H$($P\e(B replace-string \e$B$G$9$,!"$3$l$OJ8;zNs$rCV\e(B
@@ -646,7 +646,7 @@ C-x \e$B%3%^%s%I$O$?$/$5$s$"$j$^$9!#$3$l$^$G$K!"0J2<$r3X$S$^$7$?!#\e(B
 >> \e$B%+!<%=%k$r$3$3$+$i#29T2<$N6u9T$K0\F0$5$;$F2<$5$$!#\e(B
    M-x repl s<Return>changed<Return>Altered<Return> \e$B$H%?%$%W$7$^$7$g$&!#\e(B
 
-   \e$B$3$N9T$,$I$&JQ$o$k$+\e(B(changed)\e$B8+$^$7$g$&!#$"$J$?$O%+!<%=%k0J9_A4It$N\e(B 
+   \e$B$3$N9T$,$I$&JQ$o$k$+\e(B(changed)\e$B8+$^$7$g$&!#$"$J$?$O%+!<%=%k0J9_A4It$N\e(B
    c-h-a-n-g-e-d \e$B$H$$$&8l$r\e(B "altered" \e$B$KJQ$($?$N$G$9!#\e(B
 
 
@@ -687,22 +687,22 @@ C-x \e$B%3%^%s%I$O$?$/$5$s$"$j$^$9!#$3$l$^$G$K!"0J2<$r3X$S$^$7$?!#\e(B
 
 \e$B%U%!%$%kL>$K$D$$$F$O$b$&J,$C$F$$$^$9$M!#$=$l$O$"$J$?$,3+$$$?%U%!%$%k$G\e(B
 \e$B$9!#\e(B-NN%-- \e$B$OJ8>OCf$N8=:_0LCV$r<($7$F$$$^$9!#J8>O$N\e(B NN% \e$B$,2hLL:G>eCJ$h\e(B
-\e$B$jA0$K$"$k$H$$$&$3$H$G$9!#$b$7J8>O$N:G=i$N9T$,2hLL$K$"$k;~$K$O\e(B --00%-- 
-\e$B$NBe$j$K\e(B --Top-- \e$B$HI=<($7$^$9!#$b$7J8>O$N:G8e$N9T$,2hLL$K$"$k;~$K$O\e(B 
+\e$B$jA0$K$"$k$H$$$&$3$H$G$9!#$b$7J8>O$N:G=i$N9T$,2hLL$K$"$k;~$K$O\e(B --00%--
+\e$B$NBe$j$K\e(B --Top-- \e$B$HI=<($7$^$9!#$b$7J8>O$N:G8e$N9T$,2hLL$K$"$k;~$K$O\e(B
 --Bot-- \e$B$HI=<($7$^$9!#$b$72hLL$KA4It<}$^$C$F$7$^$&$h$&$JC;$$J8>O$r8+$F\e(B
 \e$B$$$k$H$-$K$O\e(B --All-- \e$B$HI=<($7$^$9!#\e(B
 
 L \e$B$H$=$l$KB3$/?t;z$O8=:_$N9THV9f$r<($7$F$$$^$9!#\e(B
 
 \e$B@hF,6a$/$N@10u$O!"$"$J$?$,J8>O$rJQ99$7$?$3$H$r<($7$F$$$^$9!#%U%!%$%k$r\e(B
-\e$B3+$$$?D>8e$d!"%;!<%V$7$?D>8e$O!"$=$NItJ,$K$O@10u$NBe$o$j$K%@%C%7%e\e(B `-' 
+\e$B3+$$$?D>8e$d!"%;!<%V$7$?D>8e$O!"$=$NItJ,$K$O@10u$NBe$o$j$K%@%C%7%e\e(B `-'
 \e$B$,I=<($5$l$^$9!#\e(B
 
-\e$B3g8L$K0O$^$l$?ItJ,$O$I$s$JJT=8%b!<%I$K$$$k$+$r<($7$^$9!#%G%U%)%k%H$O\e(B 
+\e$B3g8L$K0O$^$l$?ItJ,$O$I$s$JJT=8%b!<%I$K$$$k$+$r<($7$^$9!#%G%U%)%k%H$O\e(B
 "Fundamental" \e$B$H$$$&%b!<%I!"$3$l$,8=:_$N%b!<%I$G$9!#$3$l$O!V%a%8%c!<%b!<\e(B
 \e$B%I!J\e(Bmajor mode\e$B!K!W$N0lNc$G$9!#\e(B
 
-Emacs \e$B$K$OB?$/$N<oN`$N%a%8%c!<%b!<%I$,$"$j$^$9!#\e(BLisp mode \e$B$d\e(BText mode 
+Emacs \e$B$K$OB?$/$N<oN`$N%a%8%c!<%b!<%I$,$"$j$^$9!#\e(BLisp mode \e$B$d\e(BText mode
 \e$B$N$h$&$K!"$I$s$J%W%m%0%i%`8@8l$d$I$s$J<oN`$NJ8>O$rJT=8Cf$+$r0UL#$9$k$b\e(B
 \e$B$N$b$"$j$^$9!#$$$D$G$bI,$:$$$:$l$+$N%a%8%c!<%b!<%I$N>uBV$K$J$C$F$$$^$9!#\e(B
 \e$B$I$N%a%8%c!<%b!<%I$K$$$k$N$+$O!"%b!<%I%i%$%s$N8=:_$O\e(B "Fundamental" \e$B$H\e(B
@@ -813,7 +813,7 @@ C-s \e$B$rBG$D$H\e(B "I-search" \e$B$H$$$&J8;zNs$,%(%3!<%(%j%"$KI=<($5$l$k$N$,8+$(\e
 
 \e$B%$%s%/%j%a%s%?%k8!:w$NESCf$G\e(B <Delback> \e$B$rBG$D$H8!:wJ8;zNsCf$N#1HV:G8e\e(B
 \e$B$NJ8;z$,>C$($^$9!#$=$7$F!"%+!<%=%k$O!"A02s$N0LCV$KLa$j$^$9!#$?$H$($P!"\e(B
-"c" \e$B$H%?%$%W$7$F:G=i$N\e(B "c" \e$B$rC5$7$^$9!#$=$l$+$i\e(B "u" \e$B$rBG$D$H:G=i$N\e(B"cu" 
+"c" \e$B$H%?%$%W$7$F:G=i$N\e(B "c" \e$B$rC5$7$^$9!#$=$l$+$i\e(B "u" \e$B$rBG$D$H:G=i$N\e(B"cu"
 \e$B$N>l=j$K%+!<%=%k$,F0$-$^$9!#$=$3$G\e(B <Delback> \e$B$rBG$D$H\e(B "u" \e$B$r8!:wJ8;zNs\e(B
 \e$B$+$i>C$7$F!"%+!<%9%k$O:G=i$K\e(B "c" \e$B$,8=$l$?>l=j$KLa$j$^$9!#\e(B
 
@@ -828,7 +828,7 @@ C-s \e$B$O!"8=:_$N%+!<%=%k0LCV0J9_$K=P$F$/$k8!:wJ8;zNs$rC5$7;O$a$^$9!#$b$7!"\e(B
 Emacs \e$B$NAGE($J5!G=$N0l$D$H$7$F!"0l$D$N2hLL$KF1;~$K$$$/$D$b$N%&%#%s%I%&\e(B
 \e$B$rI=<($9$k$3$H$,$G$-$^$9!#\e(B
 
->> \e$B%+!<%=%k$r$3$N9T$K;}$C$F$-$F\e(B C-u 0 C-l \e$B$H%?%$%W$7$F2<$5$$!J:G8e$N$O\e(B 
+>> \e$B%+!<%=%k$r$3$N9T$K;}$C$F$-$F\e(B C-u 0 C-l \e$B$H%?%$%W$7$F2<$5$$!J:G8e$N$O\e(B
    CONTROL-L \e$B$G$9$h!"\e(BCONTROL-1 \e$B$8$c$"$j$^$;$s!K!#\e(B
 
 >> \e$B$=$l$+$i\e(B C-x 2 \e$B$G2hLL$r#2$D$N%&%#%s%I%&$KJ,3d$7$^$7$g$&!#$I$A$i$N%&%#\e(B
@@ -906,7 +906,7 @@ C-g \e$B$G$O:F5"JT=8%l%Y%k$+$i$OH4$1=P$;$^$;$s!#$3$l$O!"\e(BC-g \e$B$,:F5"JT=8%l%Y\e
 
 \e$B$3$NF~Lg%,%$%I$G$O\e(B Emacs \e$B$r;H$$;O$a$k$N$K==J,$J>pJs$rDs6!$7$?$D$b$j$G\e(B
 \e$B$9!#\e(BEmacs \e$B$K$O$"$^$j$K$bB?$/$N5!G=$,$"$k$N$G!"$3$3$G$9$Y$F$r@bL@$9$k$N\e(B
-\e$B$OL5M}$G$9!#Lr$KN)$D5!G=$r$b$C$HB?$/3X$S$?$$$H;W$&?M$N$?$a$K$O!"\e(BEmacs 
+\e$B$OL5M}$G$9!#Lr$KN)$D5!G=$r$b$C$HB?$/3X$S$?$$$H;W$&?M$N$?$a$K$O!"\e(BEmacs
 \e$B$N%3%^%s%I$N@bL@$rFI$`$?$a$N%3%^%s%I$,$"$j$^$9!#$3$l$i$N!V%X%k%W!W%3%^\e(B
 \e$B%s%I$O3'\e(B Control-h \e$BJ8;z!J%X%k%WJ8;z$H8F$S$^$9!K$G;O$^$j$^$9!#\e(B
 
@@ -917,7 +917,7 @@ C-g \e$B$G$O:F5"JT=8%l%Y%k$+$i$OH4$1=P$;$^$;$s!#$3$l$O!"\e(BC-g \e$B$,:F5"JT=8%l%Y\e
 
 \e$B!J%5%$%H$K$h$C$F$O\e(B C-h \e$BJ8;z$N0UL#$rJQ99$7$F$$$k$+$b$7$l$^$;$s!#%f!<%6\e(B
 \e$BA40w$KBP$9$kAm3gE*$J<jCJ$H$7$F$=$s$J$3$H$r$9$k$Y$-$G$O$"$j$^$;$s!#$=$&\e(B
-\e$B$$$&>l9g$O%7%9%F%`4IM}<T$KJ86g$r8@$$$^$7$g$&!#$^!"$H$b$+$/!"$b$7\e(B C-h 
+\e$B$$$&>l9g$O%7%9%F%`4IM}<T$KJ86g$r8@$$$^$7$g$&!#$^!"$H$b$+$/!"$b$7\e(B C-h
 \e$B$,2hLL$N2<$NJ}$K%X%k%W$N%a%C%;!<%8$r=P$5$J$1$l$P!"\e(BF1 \e$B%-!<$+\e(B M-x help
 <Return> \e$B$r;n$7$F$_$F2<$5$$!#!K\e(B
 
@@ -930,7 +930,7 @@ C-g \e$B$G$O:F5"JT=8%l%Y%k$+$i$OH4$1=P$;$^$;$s!#$3$l$O!"\e(BC-g \e$B$,:F5"JT=8%l%Y\e
 
        C-p runs the command previous-line
 
-\e$B$3$l$O!V%U%!%s%/%7%g%s$NL>A0!W$rI=<($7$?$N$G$9!#%U%!%s%/%7%g%sL>$O<g$K\e(B 
+\e$B$3$l$O!V%U%!%s%/%7%g%s$NL>A0!W$rI=<($7$?$N$G$9!#%U%!%s%/%7%g%sL>$O<g$K\e(B
 Emacs \e$B$r%+%9%?%^%$%:$7$?$j3HD%$7$?$j$9$k$N$K;H$o$l$^$9!#$7$+$7!"%U%!%s\e(B
 \e$B%/%7%g%sL>$O$=$N%3%^%s%I$,2?$r$9$k$b$N$J$N$+$,J,$k$h$&$KIU$1$i$l$^$9$N\e(B
 \e$B$G!"4JC1$J@bL@$H$7$F$b$=$N$^$^Lr$KN)$A$^$9!#0lEY3X$s$@%3%^%s%I$K$D$$$F\e(B
@@ -981,8 +981,8 @@ C-h \e$B$K$OB>$K$bLr$KN)$D%*%W%7%g%s$,$"$j$^$9!#\e(B
    C-h i       \e$B%*%s%i%$%s%^%K%e%"%k!J\e(BInfo\e$B!K$rFI$`!#$3$N%3%^%s%I$r;H$&\e(B
                \e$B$H!"$"$J$?$O\e(B `*info*' \e$B$H$$$&L>$NFC<l$J%P%C%U%!$K0\$5$l\e(B
                \e$B$^$9!#$=$3$G!"%7%9%F%`$K%$%s%9%H!<%k$5$l$F$$$k%Q%C%1!<\e(B
-               \e$B%8$N%*%s%i%$%s%^%K%e%"%k$,FI$a$^$9!#\e(B m emacs <Return> 
-               \e$B$H%?%$%W$9$l$P\e(B Emacs \e$B$N%^%K%e%"%k$,FI$a$^$9!#$b$7\e(B Info 
+               \e$B%8$N%*%s%i%$%s%^%K%e%"%k$,FI$a$^$9!#\e(B m emacs <Return>
+               \e$B$H%?%$%W$9$l$P\e(B Emacs \e$B$N%^%K%e%"%k$,FI$a$^$9!#$b$7\e(B Info
                \e$B$r;H$&$N$,=i$a$F$J$i!"\e(B? \e$B$H%?%$%W$7$^$7$g$&!#\e(BInfo \e$B%b!<\e(B
                \e$B%I$N%,%$%I%D%"!<$,;O$^$j$^$9!#$3$NF~Lg%,%$%I$rFI$_=*$(\e(B
                \e$B$?8e$O!"\e(BEmacs \e$B$N\e(B Info \e$B%^%K%e%"%k$r$"$J$?$N65K\$K$7$F2<\e(B
@@ -992,7 +992,7 @@ C-h \e$B$K$OB>$K$bLr$KN)$D%*%W%7%g%s$,$"$j$^$9!#\e(B
 \e$B!v$b$C$HB?$/$N5!G=\e(B
 ==================
 
-\e$BK\$N%^%K%e%"%k$G$"$m$&$H%*%s%i%$%s%^%K%e%"%k!J\e(BHelp \e$B%a%K%e!<$r;H$&$+\e(B 
+\e$BK\$N%^%K%e%"%k$G$"$m$&$H%*%s%i%$%s%^%K%e%"%k!J\e(BHelp \e$B%a%K%e!<$r;H$&$+\e(B
 F10 h r\e$B!K$G$"$m$&$H!"$=$l$rFI$a$P\e(B Emacs \e$B$K$D$$$F$b$C$HB?$/$r3X$Y$^$9!#\e(B
 \e$B$"$J$?$,FC$K$*5$$K>$$9$G$"$m$&5!G=$K!"%?%$%W?t$r8:$i$7$F$/$l$kJd40\e(B
 \e$B!J\e(Bcompletion\e$B!K$H!"%U%!%$%k$N07$$$rC1=c2=$7$F$/$l$k%G%#%l%/%H%jJT=8\e(B
@@ -1030,7 +1030,7 @@ F10 h r\e$B!K$G$"$m$&$H!"$=$l$rFI$a$P\e(B Emacs \e$B$K$D$$$F$b$C$HB?$/$r3X$Y$^$9!#\e
 \e$B$3$NJ8=q$O\e(B Emacs Ver.21 \e$BIUB0$N1Q8lHG$NF~Lg%,%$%I$rF|K\8l$KK]Lu$7$?$b$N\e(B
 \e$B$G$9!#$=$N:]!"\e(BEmacs Ver. 20 \e$BImB0$NF|K\8lHGF~Lg%,%$%I$r%Y!<%9$K$7$^$7$?!#\e(B
 Emacs Ver. 20 \e$BImB0$NF|K\8lHGF~Lg%,%$%I$O!"\e(BMule \e$BIUB0$NF|K\8l%,%$%I$r;2\e(B
-\e$B9M$K$7$?$b$N$G!"$=$N85$O\e(B SANETO Takanori \e$B;a$,F|K\8l\e(B MicroEmacs(kemacs) 
+\e$B9M$K$7$?$b$N$G!"$=$N85$O\e(B SANETO Takanori \e$B;a$,F|K\8l\e(B MicroEmacs(kemacs)
 \e$BF~LgJT$H$7$FK]Lu$5$l!"$=$l$rNkLZM5?.;a\e(B <hironobu@sra.co.jp> \e$B$,\e(B
 Nemacs/Mule \e$BMQ$KJQ99!"$5$i$K5HEDLP<y;a$,=$@5$5$l$?$b$N$G$9!#$3$l$i$NJ}!9\e(B
 \e$B$K?<$/46<U$7$^$9!#\e(B
index 918d27d2eff3530c7d2d68cbf04c8704115decc0..2a30e02d46704512f036314d221076a27963c4ea 100644 (file)
@@ -180,7 +180,7 @@ om M-< in te typen: zonder shift zou je M-, (Meta komma) typen.
 
 >> Type nu M-> om naar het eind van het bestand te springen.
    Gebruik daarna M-v om hier weer terug te komen.
-   
+
 Als je toetsenbord pijltjestoetsen heeft kan je ook die gebruiken om de
 cursor te verplaatsen.  We raden je aan om C-b, C-f, C-n en C-p op zijn
 minst te leren, om drie redenen.  Ten eerste werken ze op alle
@@ -877,7 +877,7 @@ scherm kan laten zien.
    om de cursor naar het andere venster te verplaatsen.
 
 >> Verschuif de tekst in het onderste venster, m.b.v. C-v en M-v.
-   Zorg ervoor dat je deze uitleg in het bovenste venster leest.  
+   Zorg ervoor dat je deze uitleg in het bovenste venster leest.
 
 >> Type weer C-x o om de cursor weer in het bovenste venster
    te zetten.  De cursor staat weer precies op de plaats waar
index 6c93920b6ae7871b8276dedfa7bf86d51bcde24b..daedfe0f39ca47eb57c6737c4f3658d615cccc79 100644 (file)
@@ -1,5 +1,5 @@
-Czytasz w³a¶nie krótki samouczek Emacsa. Copyright (c) 1985, 2001 
-Free Software Foundation, Inc. Szczegó³y na koñcu pliku. 
+Czytasz w³a¶nie krótki samouczek Emacsa. Copyright (c) 1985, 2001
+Free Software Foundation, Inc. Szczegó³y na koñcu pliku.
 
 Polecenia Emacsa wymagaj± na ogó³ wci¶niêcia klawisza CONTROL (oznaczanego
 czasami Ctrl lub CTL) lub klawisza META (oznaczanego czasami EDIT
@@ -7,7 +7,7 @@ albo ALT). Dalej b
 
 C-<znak> oznacza przytrzymanie klawisza CONTROL przy naciskaniu
        klawisza <znak>. Na przyk³ad C-f bêdzie odpowiada³o
-       naci¶niêciu f przy wci¶niêtym klawiszu CONTROL.  
+       naci¶niêciu f przy wci¶niêtym klawiszu CONTROL.
 M-<znak> oznacza przytrzymanie klawisza META lub ALT przy naciskaniu
        klawisza <znak>. Zamiast tego mo¿na nacisn±æ i pu¶ciæ klawisz
        ESC, a potem nacisn±æ klawisz <znak>.
@@ -69,7 +69,7 @@ albo kolumn
 
                  Poprzednia linia, C-p
                  (ang. previous line)
-                         : 
+                         :
                          :
     Do ty³u, C-b .... Kursor .... Do przodu, C-f
              (ang. back) : (ang. forward)
@@ -155,7 +155,7 @@ w
        M-f Do przodu o s³owo
        M-b Do ty³u o s³owo
 
-       C-n Nastêpna linia      
+       C-n Nastêpna linia
        C-p Poprzednia linia
 
        C-a Pocz±tek linii
@@ -328,7 +328,7 @@ poprzedzaj
 
 >> Sprawd¼ to teraz: wstaw kilka znaków, po czym usuñ je, kilka razy
    naciskaj±c <Delback>. Nie martw siê, ¿e zmieniasz w ten sposób
-   niniejszy plik, w istocie nie zmieniasz g³ównego pliku samouczka. 
+   niniejszy plik, w istocie nie zmieniasz g³ównego pliku samouczka.
    Pracujesz teraz na jego kopii.
 
 Gdy linia tekstu staje siê zbyt d³uga, by zmie¶ciæ siê w jednym
@@ -344,8 +344,8 @@ wskazuje, 
    mie¶ci³a siê na ekranie; linia kontynuacji zniknie.
 
 Znak nowej linii mo¿na skasowaæ tak jak ka¿dy inny znak. Usuniêcie znaku
-nowej linii miêdzy dwiema liniami spowoduje ich po³±czenie. Je¶li powsta³a 
-w wyniku tego linia tekstu jest zbyt d³uga, by zmie¶ciæ siê na szeroko¶æ 
+nowej linii miêdzy dwiema liniami spowoduje ich po³±czenie. Je¶li powsta³a
+w wyniku tego linia tekstu jest zbyt d³uga, by zmie¶ciæ siê na szeroko¶æ
 ekranu, to zostanie wy¶wietlona z lini± kontynuacji.
 
 >> Przesuñ kursor na pocz±tek linii i naci¶nij <Delback>. Bie¿±ca
@@ -354,8 +354,8 @@ ekranu, to zostanie wy
 >> Naci¶nij <Return>, by z powrotem wstawiæ znak nowej linii, który
    skasowa³e¶.
 
-Jak ju¿ wiesz, wiêkszo¶æ poleceñ Emacsa mo¿na wywo³aæ z parametrem 
-liczby powtórzeñ; dotyczy to tak¿e znaków tekstu. Argument liczbowy 
+Jak ju¿ wiesz, wiêkszo¶æ poleceñ Emacsa mo¿na wywo³aæ z parametrem
+liczby powtórzeñ; dotyczy to tak¿e znaków tekstu. Argument liczbowy
 powoduje wstawienie znaku odpowiadaj±c± mu liczbê razy.
 
 >> Wypróbuj to teraz -- naci¶nij C-u 8 *, a uzyskasz ********.
@@ -768,7 +768,7 @@ nast
 --:** TUTORIAL (Fundamental)--L670--58%----------------
 
 Linia ta podaje u¿yteczne informacje o stanie Emacsa i tekstu, który
-edytujesz. 
+edytujesz.
 
 Wiesz ju¿, jakie jest znaczenie nazwy: oznacza ona plik,
 który odwiedzi³e¶. --NN%-- informuje o bie¿±cej pozycji wewn±trz
@@ -1097,7 +1097,7 @@ preferencji. Wpisz nazw
                Dla niektórych poleceñ Apropos wypisze jedno- lub
                dwuznakowe sekwencje, które wywo³uj± te polecenia.
 
->> Napisz C-h a file<Return>. 
+>> Napisz C-h a file<Return>.
 
 Zobaczysz listê wszystkich poleceñ,
 dostêpnych za pomoc± M-x, które maja s³owo "file" w swojej nazwie.
index b1fd01520021821d72287edf2d5a445b3623264e..0076728c2469f2726d9b118799d2b3b9ae5a2300 100644 (file)
@@ -61,7 +61,7 @@ CTRL 
 C-p, C-b, C-f É C-n.  ëÁÖÄÁÑ ÉÚ ÜÔÉÈ ËÏÍÁÎÄ ÐÅÒÅÄ×ÉÇÁÅÔ ËÕÒÓÏÒ ÎÁ ÏÄÎÕ
 ÓÔÒÏËÕ ÉÌÉ ËÏÌÏÎËÕ ÎÁ ÜËÒÁÎÅ × ÏÐÒÅÄÅÌÅÎÎÏÍ ÎÁÐÒÁ×ÌÅÎÉÉ. üÔÁ ÔÁÂÌÉÃÁ
 ÐÏËÁÚÙ×ÁÅÔ ÞÅÔÙÒÅ ËÏÍÁÎÄÙ É ÞÅÔÙÒÅ ÎÁÐÒÁ×ÌÅÎÉÑ ÉÈ Ä×ÉÖÅÎÉÑ:
+
                          ðÒÅÄÙÄÕÝÁÑ ÓÔÒÏËÁ, C-p
                                  :
                                  :
@@ -196,7 +196,7 @@ META. 
 ×ÙÐÏÌÎÅÎÉÑ ËÏÍÁÎÄÙ.
 
 îÁÐÒÉÍÅÒ, C-u 8 C-f ÐÅÒÅÍÅÓÔÉÔ ËÕÒÓÏÒ ÎÁ ×ÏÓÅÍØ ÓÉÍ×ÏÌÏ× ×ÐÅÒÅÄ.
-       
+
 >> ðÏÐÒÏÂÕÊÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ C-n ÉÌÉ C-p Ó ÃÉÆÒÏ×ÙÍ ÁÒÇÕÍÅÎÔÏÍ, ÞÔÏÂÙ
    ÐÅÒÅÍÅÓÔÉÔØ ËÕÒÓÏÒ ÎÁ ÓÔÒÏËÕ ÒÑÄÏÍ Ó ÜÔÏÊ ËÏÍÁÎÄÏÊ.
 
@@ -204,7 +204,7 @@ META. 
 ÎÅËÏÔÏÒÙÅ ËÏÍÁÎÄÙ ÉÓÐÏÌØÚÕÀÔ ÅÇÏ ÄÒÕÇÉÍ ÓÐÏÓÏÂÏÍ. îÅËÏÔÏÒÙÅ ËÏÍÁÎÄÙ (ÎÏ ÎÉ
 ÏÄÎÁ ÉÚ ÎÉÈ ÎÅ ÂÙÌÁ ÅÝÅ ÉÚÕÞÅÎÁ ÚÄÅÓØ) ÉÓÐÏÌØÚÕÀÔ ÅÇÏ ËÁË ÆÌÁÇ -- ÎÁÌÉÞÉÅ
 ÐÒÅÆÉËÓÎÏÇÏ ÁÒÇÕÍÅÎÔÁ ×ÎÅ ÚÁ×ÉÓÉÍÏÓÔÉ ÏÔ ÅÇÏ ÚÎÁÞÅÎÉÑ, ÉÚÍÅÎÑÅÔ ÐÏ×ÅÄÅÎÉÅ
-ËÏÍÁÎÄÙ. 
+ËÏÍÁÎÄÙ.
 
 äÒÕÇÉÍ ×ÉÄÏÍ ÉÓËÌÀÞÅÎÉÊ Ñ×ÌÑÀÔÓÑ ËÌÀÞÉ C-v É M-v. ðÒÉ ÐÏÌÕÞÅÎÉÉ ÞÉÓÌÏ×ÏÇÏ
 ÁÒÇÕÍÅÎÔÁ, ÏÎÉ ÐÒÏËÒÕÞÉ×ÁÀÔ ÜËÒÁΠ××ÅÒÈ ÉÌÉ ×ÎÉÚ ÎÁ ÕËÁÚÁÎÎÏÅ ÞÉÓÌÏ ÓÔÒÏË,
@@ -246,7 +246,7 @@ CONTROL 
 ÐÏÔÏÍÕ ÞÔÏ ×Ù ÎÅ ÏÔÐÕÓËÁÅÔÅ ËÎÏÐËÕ CONTROL ÍÅÖÄÕ ÎÁÖÁÔÉÑÍÉ.
 
 
-* åóìé EMACS úá÷éó 
+* åóìé EMACS úá÷éó
 ------------------
 
 åÓÌÉ Emacs ÐÅÒÅÓÔÁÌ ÒÅÁÇÉÒÏ×ÁÔØ ÎÁ ×ÁÛÉ ËÏÍÁÎÄÙ, ×Ù ÍÏÖÅÔÅ ÏÓÔÁÎÏ×ÉÔØ ÜÔÏ
@@ -572,7 +572,7 @@ Emacs 
 >> óÏÚÄÁÊÔÅ ÆÁÊÌ Ó ÉÍÅÎÅÍ "foo" ÎÁÂÉÒÁÑ C-x C-f foo <Return>.
    ÷ÓÔÁ×ØÔÅ ËÁËÏÊ-ÎÉÂÕÄØ ÔÅËÓÔ, ÏÔÒÅÄÁËÔÉÒÕÊÔÅ ÅÇÏ, É ÓÏÈÒÁÎÉÔÅ "foo"
    ÎÁÂÒÁ× C-x C-s.
-   îÁËÏÎÅÃ, ÎÁÂÅÒÉÔÅ C-x C-f TUTORIAL.ru <Return> 
+   îÁËÏÎÅÃ, ÎÁÂÅÒÉÔÅ C-x C-f TUTORIAL.ru <Return>
    ÞÔÏÂÙ ×ÅÒÎÕÔØÓÑ ÎÁÚÁÄ Ë ÕÞÅÂÎÉËÕ.
 
 Emacs ÓÏÈÒÁÎÑÅÔ ÔÅËÓÔ ËÁÖÄÏÇÏ ÆÁÊÌÁ ×ÎÕÔÒÉ × ÏÂßÅËÔÅ ÎÁÚÙ×ÁÅÍÙÊ "ÂÕÆÅÒ"
@@ -610,14 +610,14 @@ C-x s 
    ïÔ×ÅÔØÔÅ ÎÁ ×ÏÐÒÏÓ ÄÁ ÎÁÂÒÁ× "y".
 
 
-* òáóûéòåîîùê îáâïò ëïíáîä 
+* òáóûéòåîîùê îáâïò ëïíáîä
 --------------------------
 
 õ Emacs ÏÞÅÎØ ÍÎÏÇÏ ËÏÍÁÎÄ, ÏÎÉ ÍÏÇÕÔ ÂÙÔØ ÎÁÚÎÁÞÅÎÙ ÎÁ ×ÓÅ control- É meta-
 ÓÉÍ×ÏÌÙ. Emacs ÏÂÈÏÄÉÔ ÜÔÏ, ÉÓÐÏÌØÚÕÑ  X-ËÏÍÁÎÄÕ (eXtend). åÓÔØ Ä×Å
 ×ÏÚÍÏÖÎÏÓÔÉ:
 
-       C-x     óÉÍ×ÏÌ ÒÁÓÛÉÒÅÎÉÑ (Character eXtend). 
+       C-x     óÉÍ×ÏÌ ÒÁÓÛÉÒÅÎÉÑ (Character eXtend).
                 úÁ ÎÉÍ ÓÌÅÄÕÅÍ ÏÄÉΠÓÉÍ×ÏÌ.
        M-x     éÍÅÎÏ×ÁÎÎÙÅ ÒÁÓÛÉÒÅÎÎÙÅ ËÏÍÁÎÄÙ (Named command eXtend).
                 úÁ ÎÉÍ ÓÌÅÄÕÅÔ ÉÍÑ ËÏÍÁÎÄÙ.
@@ -752,7 +752,7 @@ Emacs 
 îÅ ×ÏÌÎÕÊÔÅÓØ, ÎÉ ÏÄÎÁ ÉÚ ×ÙÕÞÅÎÎÙÈ ×ÁÍÉ ËÏÍÁÎÄ Emacs ÎÅ ÉÚÍÅÎÉÌÁÓØ. îÏ ×Ù
 ÍÏÖÉÔÅ ÚÁÍÅÔÉÔØ, ÞÔÏ M-f É M-b ÔÅÐÅÒØ ÒÁÚÌÉÞÁÔØ ÁÐÏÓÔÒÏÆÙ ËÁË ÞÁÓÔÉ ÓÌÏ×Á.
 òÁÎÅÅ, × ÂÁÚÏ×ÏÍ ÒÅÖÉÍÅ (Fundamental mode), M-f É M-b ÐÏÎÉÍÁÌÉ ÁÐÏÓÔÒÏÆÙ
-ËÁË ÒÁÚÄÅÌÉÔÅÌÉ ÓÌÏ×. 
+ËÁË ÒÁÚÄÅÌÉÔÅÌÉ ÓÌÏ×.
 
 ïÓÎÏ×ÎÏÊ ÒÅÖÉÍ ÏÂÙÞÎÏ ÄÅÌÁÅÔ ÎÅÂÏÌØÛÉÅ ÉÚÍÅÎÅÎÉÑ, ÔÁËÉÅ ËÁË: ÂÏÌØÛÉÎÓÔ×Ï
 ËÏÍÁÎÄ ÄÅÌÁÀÔ "ÔÕ ÖÅ ÒÁÂÏÔÕ" × ËÁÖÄÏÍ ÉÚ ÒÅÖÉÍÏ×, ÎÏ ÉÈ ÒÁÂÏÔÁ ÏÔÌÉÞÁÅÔÓÑ
@@ -793,7 +793,7 @@ Emacs 
 
 >> ÷×ÅÄÉÔÅ C-x f Ó ÁÒÇÕÍÅÎÔÏÍ 20. (C-u 2 0 C-x f). úÁÔÅÍ ××ÅÄÉÔÅ
    ËÁËÏÊ-ÎÉÂÕÄØ ÔÅËÓÔ, É ÐÏÓÍÏÔÒÉÔÅ ËÁË Emacs ÚÁÐÏÌÎÑÅÔ ÓÔÒÏËÉ ÐÏ 20
-   ÓÉÍ×ÏÌÏ× × ËÁÖÄÏÊ. ÷ÅÒÎÉÔÅ ÚÎÁÞÅÎÉÅ ÇÒÁÎÉÃÙ 70 ÎÁÚÁÄ, 
+   ÓÉÍ×ÏÌÏ× × ËÁÖÄÏÊ. ÷ÅÒÎÉÔÅ ÚÎÁÞÅÎÉÅ ÇÒÁÎÉÃÙ 70 ÎÁÚÁÄ,
    ÓÎÏ×Á ÉÓÐÏÌØÚÕÑ C-x f.
 
 åÓÌÉ ×Ù ÓÄÅÌÁÌÉ ÉÚÍÅÎÅÎÉÑ × ÓÅÒÅÄÉÎÅ ÐÁÒÁÇÒÁÆÁ, Á×ÔÏÚÁÐÏÌÎÅÎÉÅ ÎÅ ÐÅÒÅÓÔÒÏÉÔ
@@ -818,12 +818,12 @@ Emacs 
 ÎÕÖÎÏ ÐÒÏÂÏ×ÁÔØ ÐÒÑÍÏ ÓÅÊÞÁÓ.
 
 ëÏÇÄÁ ×Ù ÎÁÖÍÅÔÅ C-s ×Ù Õ×ÉÄÉÔÅ ÓÔÒÏËÕ "I-search", ÐÏÑ×É×ÛÕÀÓÑ × ÏÂÌÁÓÔÉ ÜÈÏ.
-÷ÁÍ ÓÏÏÂÝÁÅÔÓÑ ÞÔÏ Emacs ÖÄÅÔ ××ÏÄÁ ÓÌÏ×Á, ËÏÔÏÒÏÅ ×Ù ÈÏÔÉÔÅ ÎÁÊÔÉ. 
+÷ÁÍ ÓÏÏÂÝÁÅÔÓÑ ÞÔÏ Emacs ÖÄÅÔ ××ÏÄÁ ÓÌÏ×Á, ËÏÔÏÒÏÅ ×Ù ÈÏÔÉÔÅ ÎÁÊÔÉ.
 <Return> ÚÁ×ÅÒÛÁÅÔ ÐÏÉÓË.
 
 >> ôÅÐÅÒØ, ÎÁÖÍÉÔÅ C-s ÄÌÑ ÎÁÞÁÌÁ ÐÏÉÓËÁ. íÅÄÌÅÎÎÏ, ÏÄÎÕ ÂÕË×Õ ÚÁ ÏÄÉΠÒÁÚ,
    ÎÁÂÉÒÁÊÔÅ ÓÌÏ×Ï 'ËÕÒÓÏÒ', ÏÓÔÁÎÁ×ÌÉ×ÁÑÓØ ÐÏÓÌÅ ËÁÖÄÏÊ ××ÅÄÅÎÎÏÊ ÂÕË×Ù É
-   ÚÁÍÅÞÁÑ ÞÔÏ ÐÒÏÉÓÈÏÄÉÔ Ó ËÕÒÓÏÒÏÍ. 
+   ÚÁÍÅÞÁÑ ÞÔÏ ÐÒÏÉÓÈÏÄÉÔ Ó ËÕÒÓÏÒÏÍ.
    óÅÊÞÁÓ ×Ù ÎÁÛÌÉ ÐÅÒ×ÏÅ ×ÈÏÖÄÅÎÉÅ ÓÌÏ×Á "ËÕÒÓÏÒ".
 >> îÁÖÍÉÔÅ C-s ÓÎÏ×Á, ÞÔÏÂÙ ÎÁÊÔÉ ÓÌÅÄÕÀÝÅÅ ×ÈÏÖÄÅÎÉÅ ÓÌÏ×Á "ËÕÒÓÏÒ".
 >> ôÅÐÅÒØ ÎÁÖÍÉÔÅ <Delete> ÞÅÔÙÒÅ ÒÁÚÁ É ÐÒÏÓÌÅÄÉÔÅ ÚÁ ÐÅÒÅÍÅÝÅÎÉÑÍÉ ËÕÒÓÏÒÁ.
@@ -846,7 +846,7 @@ Emacs 
 ÞÔÏ ÐÏÓÌÅÄÎÉÊ ÓÉÍ×ÏÌ × ÉÓËÏÍÏÊ ÓÔÒÏËÅ ÕÄÁÌÉÌÓÑ, É ÐÏÉÓË ×ÅÒÎÕÌÓÑ Ë ÐÒÅÄÙÄÕÝÅÍÕ
 ÎÁÊÄÅÎÎÏÍÕ ÍÅÓÔÕ. îÁÐÒÉÍÅÒ, ÐÒÅÄÐÏÌÏÖÉÍ, ÞÔÏ ×Ù ÎÁÂÒÁÌÉ "c", ÐÏÉÓË ÐÅÒÅÊÄÅÔ Ë
 ÐÅÒ×ÏÍÕ ×ÈÏÖÄÅÎÉÀ ÓÉÍ×ÏÌÁ "c". ôÅÐÅÒØ ÅÓÌÉ ×Ù ÎÁÂÅÒÅÔÅ "u", ËÕÒÓÏÒ ÐÅÒÅÊÄÅÔ Ë
-ÐÅÒ×ÏÍÕ ×ÈÏÖÄÅÎÉÀ "cu". îÁÖÁÔÉÅ <Delete> ÕÄÁÌÉÔ ÓÉÍ×ÏÌ "u" ÉÈ ÓÔÒÏËÉ ÐÏÉÓËÁ, É 
+ÐÅÒ×ÏÍÕ ×ÈÏÖÄÅÎÉÀ "cu". îÁÖÁÔÉÅ <Delete> ÕÄÁÌÉÔ ÓÉÍ×ÏÌ "u" ÉÈ ÓÔÒÏËÉ ÐÏÉÓËÁ, É
 ËÕÒÓÏÒ ×ÅÒÎÅÔÓÑ Ë ÐÅÒ×ÏÍÕ ×ÈÏÖÄÅÎÉÀ "c".
 
 åÓÌÉ ×Ù ×Ï ×ÒÅÍÑ ÐÏÉÓËÁ ××ÅÄÅÔÅ control- ÉÌÉ meta- ÓÉÍ×ÏÌ (ÚÁ ÎÅËÏÔÏÒÙÍÉ
@@ -875,7 +875,7 @@ C-s 
    (ÅÓÌÉ Õ ×ÁÓ ÎÅÔ ÎÁÓÔÏÑÝÅÊ ËÎÏÐËÉ META (Alt), ÎÁÖÍÉÔÅ ESC C-v.)
 
 >> îÁÖÍÉÔÅ C-x o ("o" ÏÔ ÓÌÏ×Á "other" - ÄÒÕÇÏÅ) ÄÌÑ ÐÅÒÅÍÅÝÅÎÉÑ ËÕÒÓÏÒÁ ×
-   ÎÉÖÎÅÅ ÏËÎÏ. 
+   ÎÉÖÎÅÅ ÏËÎÏ.
 >> éÓÐÏÌØÚÕÊÔÅ C-v É M-v × ÎÉÖÎÅÍ ÏËÎÅ ÞÔÏ ÐÒÏËÒÕÞÉ×ÁÔØ ÅÇÏ.
    ðÒÏÄÏÌÖÉÔÅ ÞÔÅÎÉÅ ÜÔÉÈ ÉÎÓÔÒÕËÃÉÊ × ×ÅÒÈÎÅÍ ÏËÎÅ.
 
@@ -907,7 +907,7 @@ CONTROL-ESC v 
 (åÓÌÉ ×Ù ÎÁÖÁÌÉ C-x 1 × ÎÉÖÎÅÍ ÏËÎÅ, ÔÏ ×Ù ÉÚÂÁ×ÉÌÉÓØ ÏÔ ×ÅÒÈÎÅÇÏ. ðÏÎÉÍÁÊÔÅ
 ÜÔÕ ËÏÍÁÎÄÕ ËÁË "ïÓÔÁ×ÉÔØ ÔÏÌØËÏ ÏÄÎÏ ÏËÎÏ, ÔÏ × ËÏÔÏÒÏÍ Ñ ÓÅÊÞÁÓ ÎÁÈÏÖÕÓØ").
 
-÷ÁÍ ÎÅ ÎÕÖÎÏ ÏÔÏÂÒÁÖÁÔØ ÏÄÉΠɠÔÏÔ ÖÅ ÂÕÆÅÒ × ÏÂÏÉÈ ÏËÎÁÈ. åÓÌÉ ×Ù ÉÓÐÏÌØÚÕÅÔÅ 
+÷ÁÍ ÎÅ ÎÕÖÎÏ ÏÔÏÂÒÁÖÁÔØ ÏÄÉΠɠÔÏÔ ÖÅ ÂÕÆÅÒ × ÏÂÏÉÈ ÏËÎÁÈ. åÓÌÉ ×Ù ÉÓÐÏÌØÚÕÅÔÅ
 C-x C-f ÞÔÏÂÙ ÏÔËÒÙÔØ ÆÁÊÌ × ÏÄÎÏÍ ÏËÎÅ, ÄÒÕÇÏÅ ÏÓÔÁÎÅÔÓÑ ÂÅÚ ÉÚÍÅÎÅÎÉÑ. ÷Ù
 ÍÏÖÅÔÅ ÏÔËÒÙ×ÁÔØ ÆÁÊÌÙ × ËÁÖÄÏÍ ÏËÎÅ ÎÅÚÁ×ÉÓÉÍÏ.
 
@@ -1004,7 +1004,7 @@ EDIT 
 
    C-h a       Hyper Apropos. ÷×ÅÄÉÔÅ ËÌÀÞÅ×ÏÅ ÓÌÏ×Ï É Emacs ÐÏËÁÖÅÔ ×ÁÍ
                 ÓÐÉÓÏË ×ÓÅÈ ÆÕÎËÃÉÊ É ÐÅÒÅÍÅÎÎÙÈ, ÉÍÅÎÁ ËÏÔÏÒÙÈ ÓÏÄÅÒÖÁÔ ÜÔÏ
-                ÓÌÏ×Ï. ëÏÍÁÎÄÙ, ËÏÔÏÒÙÅ ÍÏÇÕÔ ÂÙÔØ ×ÙÚ×ÁÎÙ ÞÅÒÅÚ Meta-x, 
+                ÓÌÏ×Ï. ëÏÍÁÎÄÙ, ËÏÔÏÒÙÅ ÍÏÇÕÔ ÂÙÔØ ×ÙÚ×ÁÎÙ ÞÅÒÅÚ Meta-x,
                 ÂÕÄÕÔ ÏÔÍÅÞÅÎÙ Ú×ÅÚÄÏÞËÏÊ ÓÌÅ×Á.
 
 >> îÁÂÅÒÉÔÅ C-h a file<Return>.
@@ -1049,7 +1049,7 @@ C-c. 
 -------
 
 üÔÏÔ ÕÞÅÂÎÉË ÐÒÏÉÚÏÛÅÌ ÉÚ ÄÌÉÎÎÏÊ ÓÅÒÉÉ ÕÞÅÂÎÉËÏ× Emacs, ÎÁÞÁÔÏÊ Ó ÏÄÎÁÖÄÙ
-ÎÁÐÉÓÁÎÎÏÇÏ by Stuart Cracraft ÄÌÑ ÏÒÉÇÉÎÁÌØÎÏÇÏ Emacs. 
+ÎÁÐÉÓÁÎÎÏÇÏ by Stuart Cracraft ÄÌÑ ÏÒÉÇÉÎÁÌØÎÏÇÏ Emacs.
 
 üÔÁ ×ÅÒÓÉÑ ÕÞÅÂÎÉËÁ, ËÁË É GNU Emacs, ÚÁÝÉÝÅÎÁ ÐÒÁ×ÁÍÉ ËÏÐÉÒÏ×ÁÎÉÑ
 (copyrighted), É ÐÒÉÈÏÄÉÔ Ó ÏÇÒÁÎÉÞÅÎÉÑÍÉ ÒÁÓÐÒÏÓÔÒÁÎÅÎÉÑ ËÏÐÉÊ ÓÏ
@@ -1075,6 +1075,6 @@ Copyright (c) 1985, 1996 Free Software Foundation
 ÐÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ!
 
 // ÚÁÍÅÞÁÎÉÑ, ÉÓÐÒÁ×ÌÅÎÉÑ ÏÛÉÂÏË Ó ÎÅÔÅÒÐÅÎÉÅÍ ÖÄÕ ÐÏ ÁÄÒÅÓÕ ottalex@beep.ru
-// Alex Ott. 
+// Alex Ott.
 // âÏÌØÛÏÅ ÓÐÁÓÉÂÏ ÷ÌÁÄÉÍÉÒÕ âÏÒÍÏÔÏ×Õ, ÎÁ ÂÁÚÅ ÐÅÒÅ×ÏÄÁ ËÏÔÏÒÏÇÏ ÂÙÌ ÓÄÅÌÁÎ
 // ÜÔÏÔ ÐÅÒÅ×ÏÄ
index a0083fbb60426df04b7c20faadede7e745a741e3..2adfb42f1f028b18846bf1f4673024e329000b62 100644 (file)
@@ -65,7 +65,7 @@ pou
 kurzor na obrazovke o jeden riadok alebo ståpec v danom smere.
 Tu je tabuµka znázoròujúca smer posunu kurzoru vyvolaný týmito ¹tyrmi
 príkazmi:
+
                        Predchádzajúci riadok, C-p
                                  :
                                  :
@@ -415,7 +415,7 @@ Teraz obnovte naposledy zru
 
 >> Stlaète C-y.  Potom posuòte kurzor o niekoµko riadkov ni¾¹ie a stlaète
    C-y znovu.  Teraz vidíte, ako je mo¾né kopírova» text.
-   
+
 Èo keï máte nejaký text, ktorý by ste radi vhodili spä» a potom zru¹íte
 nieèo iného?  C-y by vlo¾ilo posledný zru¹ený text.  Ale predchádzajúci
 text ni je stratený.  Mô¾ete ho získa» spä» pou¾itím príkazu M-y.  Potom,
@@ -833,7 +833,7 @@ vrav
 a èaká, kým mu zadáte, èo chcete hµada».  <RET> hµadanie ukonèí.
 
 >> Teraz zaènite hµadanie stlaèením C-s.  POMALY, písmeno po písmene, pí¹te
-   slovo 'kurzor'.  Po ka¾dom písmene si v¹imnite, èo sa deje s kurzorom.  
+   slovo 'kurzor'.  Po ka¾dom písmene si v¹imnite, èo sa deje s kurzorom.
    Teraz ste vyhµadali "kurzor" prvý krát.
 >> Stlaète C-s znova, aby ste na¹li ïal¹í výskyt slova "kurzor".
 >> Teraz ¹tyri krát stlaète <Delback> a pozerajte, ako sa kurzor
index 6054a3594370cca6ef0d81c5a7313cea75e68840..856605557ab78a1c17e977fc31cbac55483acb60 100644 (file)
@@ -14,7 +14,7 @@ vedno izpisali s celim imenom, bomo uporabili naslednji okraj
          pritisnemo tipko <chr>. Tipko ESC bomo oznaèevali z <ESC>.
 
 Pomembno: Emacs zapustimo z ukazom C-x C-c (dva znaka).
-V uèbeniku so vaje, s katerimi preskusite nove ukaze. Oznaèujeta jih 
+V uèbeniku so vaje, s katerimi preskusite nove ukaze. Oznaèujeta jih
 znaka ,>>` ob levem robu. Zgled:
 <<Blank lines inserted here by startup of help-with-tutorial>>
 [Sredina strani je iz didaktiènih razlogov prazna. Besedilo se nadaljuje spodaj]
@@ -129,7 +129,7 @@ deluje podobno, a v nasprotni smeri.
 
 Ste opazili paralelo med C-f in C-b na eni strani ter M-f in M-b na
 drugi? V Emacsu se dostikrat ukazi Meta nana¹ajo na operacije nad
-enotami jezika (besede, stavki, odstavki), medtem ko se ukazi Control 
+enotami jezika (besede, stavki, odstavki), medtem ko se ukazi Control
 nana¹ajo na operacije, neodvisne od zvrsti besedila (znaki, vrstice
 ipd.).
 
@@ -372,8 +372,8 @@ ukazov za brisanje:
 Èrka ,d` je iz angle¹ke besede ,delete` (pobrisati), èrka ,k` pa iz
 besede ,kill` (pobiti). Ste opazili, da <Delback> in C-d na eni, ter
 M-<Delback> in M-d na drugi strani nadaljujeta paralelo, ki sta jo zaèela
-C-f in M-f (<Delback> pravzaprav ni kontrolni znak, kar pa naj nas ne 
-moti).  C-k in M-k sta v enakem sorodu s C-e in M-e: prvi deluje na 
+C-f in M-f (<Delback> pravzaprav ni kontrolni znak, kar pa naj nas ne
+moti).  C-k in M-k sta v enakem sorodu s C-e in M-e: prvi deluje na
 vrstice, drugi na stavke.
 
 Obstaja tudi splo¹en postopek za brisanje kateregakoli dela delovnega
@@ -494,7 +494,7 @@ C-y. Preklic ukaza pa velja za eno in drugo.
 Da bi bile spremembe v besedilu trajne, morate besedilo shraniti v
 datoteko. V nasprotnem primeru jih boste za vedno izgubili tisti hip,
 ko boste zapustili Emacs. Besedilo postavimo v datoteko tako, da
-na disku ,,poi¹èemo`` (angl. find) datoteko, preden zaènemo tipkati 
+na disku ,,poi¹èemo`` (angl. find) datoteko, preden zaènemo tipkati
 (pravimo tudi, da ,,obi¹èemo`` datoteko).
 
 Poiskati datoteko pomeni, da v Emacsu vidimo vsebino datoteke. To je
@@ -646,7 +646,7 @@ podro
 * RAZ©IRJEN NABOR UKAZOV
 ------------------------
 
-©e mnogo, mnogo je ukazov Emacsa, ki bi zaslu¾ili, da jih obesimo na 
+©e mnogo, mnogo je ukazov Emacsa, ki bi zaslu¾ili, da jih obesimo na
 razne kontrolne in meta znake. Emacs se temu izogne z ukazom X (iz angl.
 eXtend - raz¹iriti), ki uvede ukaz iz raz¹irjenega nabora. Dveh vrst je:
 
@@ -705,7 +705,7 @@ Ukaz replace-string potrebuje dva argumenta -- niz, ki ga 
 zamenjati, in niz, s katerim bi radi zamenjali prvega. Vsakega posebej
 vnesete in zakljuèite s pritiskom na tipko Return.
 
->> Premaknite kazalèek na prazno vrstico dve vrstici pod to, zatem 
+>> Premaknite kazalèek na prazno vrstico dve vrstici pod to, zatem
    vtipkajte M-x repl s<Return>zamenjala<Return>spremenila<Return>.
 
    Opazite, kako se je ta vrstica zamenjala? Vse besede
@@ -729,7 +729,7 @@ datoteka ni ve
 shranjeno besedilo tako, da normalno poi¹èete datoteko (pravo ime
 datoteke, ne ime avtomatièno shranjene datoteke), zatem pa vtipkate M-x
 recover file<Return>. Ko vas vpra¹a za potrditev, vtipkajte yes<Return>
-za nadaljevanje in povrnitev avtomatièno shranjenenih podatkov. 
+za nadaljevanje in povrnitev avtomatièno shranjenenih podatkov.
 
 
 * ODZIVNO PODROÈJE
@@ -947,14 +947,14 @@ sicer tisto, v katerem sem zdaj.``)
 Seveda ni nujno, da obe okni ka¾eta isto delovno podroèje. Èe v enem
 oknu izvedete C-x C-f in poi¹èete novo datoteko, se vsebina drugega
 okna ne spremeni. V vsakem oknu lahko neodvisno obdelujete drugo
-datoteko. 
+datoteko.
 
 Pa ¹e ena pot, kako v dveh oknih prika¾ete dve razlièni datoteki:
 
 >> Vtipkajte C-x 4 C-f, in na pozivnik vtipkajte ime ene va¹ih
    datotek. Konèajte z <Return>. Odpre se ¹e eno okno in izbrana
    datoteka se pojavi v drugem oknu. Tudi kazalèek se preseli v drugo
-   okno. 
+   okno.
 
 >> Vtipkajte C-x o, da se vrnete nazaj v zgornje okno, in C-x 1, da
    zaprete spodnje okno.
@@ -1025,12 +1025,12 @@ To odpre novo okno in v njem prika
 z njenim imenom. Ko ste opravili, vtipkajte C-x 1, da se znebite okna
 z pomoèjo. Tega seveda ni potrebno napraviti takoj, ampak lahko
 urejate, medtem ko imate odprto okno s pomoèjo, in ga zaprete, ko ste
-konèali. 
+konèali.
 
 Sledi ¹e nekaj uporabnih mo¾nosti, ki jih ponuja pomoè:
 
    C-h f       Opi¹i funkcijo. Kot argument morate podati ime
-               funkcije. 
+               funkcije.
 
 >> Poskusite C-h f previous-line<Return>.
    To izpi¹e vse podatke, ki jih ima Emacs o funkciji, ki izvede ukaz C-p.
@@ -1050,14 +1050,14 @@ spremenljivke.
 To odpre novo okno, v katerem so vsa dolga imena ukazov, ki vsebujejo
 ,,file`` v imenu. Izvedete jih lahko z M-x. Pri nekaterih se izpi¹e
 tudi kratek ukaz, npr. C-x C-f ali C-x C-w pri ukazih find-file in
-write-file. 
+write-file.
 
 >> Pritisnite C-M-v, da se sprehajate po oknu s pomoèjo. Poskusite
-   nekajkrat. 
+   nekajkrat.
 
 >> Vtipkajte C-x 1, da zaprete okno s pomoèjo.
 
-   C-h i         Priroèniki z navodili za uporabo (tkim. datoteke 
+   C-h i         Priroèniki z navodili za uporabo (tkim. datoteke
                 "info"). Ta ukaz vas prestavi v posebno delovno
                 podroèje, imenovano "info". V njem lahko prebirate
                 priroènike za programe, ki so name¹èeni v sistemu. Z
@@ -1097,8 +1097,8 @@ Priro
 -----------
 
 Zapomnite si, da Emacs zapustite z ukazom C-x C-c. Èe bi radi samo
-zaèasno skoèili v ukazno lupino in se kasneje vrnili v Emacs, pa 
-storite to z ukazom C-z. 
+zaèasno skoèili v ukazno lupino in se kasneje vrnili v Emacs, pa
+storite to z ukazom C-z.
 
 Ta uèbenik je napisan z namenom, da bi bil razumljiv vsem novincem v
 Emacsu. Èe se vam kaj ne zdi jasno napisano, ne valite krivde nase -
@@ -1122,7 +1122,7 @@ Copyright (c) 1985, 1996, 1998, 2001, 2002 Free Software Foundation
    avtorstvu in to dovoljenje, ter da distributer dovoljuje prejemniku
    nadaljnje raz¹irjanje pod pogoji, navedenimi v tem dovoljenju.
 
-   Pod pogoji iz prej¹njega odstavka je dovoljeno raz¹irjati 
+   Pod pogoji iz prej¹njega odstavka je dovoljeno raz¹irjati
    spremenjene verzije tega spisa ali njegovih delov, èe je jasno
    oznaèeno, kdo je nazadnje vnesel spremembe.
 
index a3fe897a1d3d27d3fccef45e031d18449836ae18..6cda75bcef6b58862e039ff497b83ee3cab5bdd3 100644 (file)
@@ -62,7 +62,7 @@ flyttar mark
 skärmen. Här visas dessa fyra kommandon och i vilken riktning de
 flyttar markören:
 
+
                         Föregående rad, C-p
                                   :
                                   :
@@ -361,7 +361,7 @@ Emacs och att r
 
         C-k          raderar från markören till slutet av raden
         M-k          raderar till slutet av stycket
-        
+
 Lägg märke till att <Delete> och C-d kontra M-<Delete> och M-d följer
 mönstret som började med C-f och M-f. (<Delete> är inte precis
 ett kontrolltecken men låt oss inte bry oss om det.) C-k och M-k
@@ -444,7 +444,7 @@ till startpunkten (texten som sist blev borttagen).
    M-y och se vad du får. Fortsätt med detta tills du får tillbaka den
    första raden igen och sedan några gånger till. Om du vill kan du
    prova med positiva och negativa argument till M-y.
+
 
 * ÅNGRA
 -------
@@ -797,7 +797,7 @@ genom ett numeriskt argument.
    att använda C-x f en gång till.
 
 Om du gör förändringar mitt i en rad så kommer inte sidoläget Auto
-Fill att kunna omformattera raderna för dig. 
+Fill att kunna omformattera raderna för dig.
 För att göra detta kan du trycka M-q med markören inne i det avsnittet
 du önskar att omformatera.
 
@@ -885,7 +885,7 @@ sk
 >> Skriv C-x o (o för other) för att flytta markören till det
    nedre fönstret.
 
->> Använd C-v och M-v i det nedre fönstret för att flytta upp 
+>> Använd C-v och M-v i det nedre fönstret för att flytta upp
    och ned i texten. Fortsätt att läsa den här texten i det övre
    fönstret.
 
index bda821de4125f7654e432c10e39f12ddec74ee48..4f33ad8d032a9850b1d68730ee9a00cfdacaf06e 100644 (file)
-\e,TJ'G9\e(B\e0\e,TET\e(B\e1\e,T"\e(B\e0\e,TJT\e(B\e1\e,T7\e(B\e0\e,T8Tl\e(B\e\e,T>\e(B.\e,TH\e(B. 2528 \e,Tb4B:\e(B\e0\e,TCT\e(B\e1\e0\e,TIQ\e(B\e1\e,T7?\e(B\e0\e,TCU\e(B\e1\e,T+M?\e(B\e0\e,T5l\e(B\e1\e,TaG\e(B\e0\e,TCl\e(B\e1\e,T?RG\e(B\e0\e,T9l\e(B\e1\e,T`4\e(B\e0\e,T*Q\e(B\e1\e,T9\e(B (Free Software
-Foundation, Inc); \e,T!\e(B\e0\e,TCX\e(B\e1\e,T3R\e(B\e0\e,THV\e(B\e1\e,T!IR`\e(B\e0\e,T'Wh\e(B\e1\e,TM9d"5M9\e(B\e0\e,T7i\e(B\e1\e,TRB:7\e(B. 
-\e0\e,T7h\e(B\e1\e,TR9!S\e(B\e0\e,TEQ\e(B\e1\e,T'\e(B\e0\e,THV\e(B\e1\e,T!IR\e(B\e0\e,T$Yh\e(B\e1\e0\e,TAW\e(B\e1\e,TM!RCc\e(B\e0\e,T*i\e(B\e1\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1 (Emacs tutorial) \e,TM\e(B\e0\e,TBYh\e(B\e1\e,Tc9"3P\e(B\e0\e,T9Ui\e(B\e1.
-
-\e,Tb4B\e(B\e0\e,T7Qh\e(B\e1\e,TGd;$S\e(B\e0\e,TJQh\e(B\e1\e,T'"M'\e(B\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1 (Emacs) \e,T(Pc\e(B\e0\e,T*i\e(B\e1\e0\e,T$Yh\e(B\e1\e0\e,T!Q\e(B\e1\e,T:\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B CONTROL (\e,T:R'$\e(B\e0\e,TCQi\e(B\e1\e,T'MR(`\e(B\e0\e,T;g\e(B\e1\e,T9\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B\e0\e,T7Uh\e(B\e1\e0\e,TAU\e(B\e1
-\e0\e,TJQ\e(B\e1\e,T-\e(B\e0\e,TEQ\e(B\e1\e,T!I\e(B\e0\e,T3l\e(B\e1 CTRL \e,TK\e(B\e0\e,TCW\e(B\e1\e,TM\e(B CTL) \e,TK\e(B\e0\e,TCW\e(B\e1\e,TM\e(B \e0\e,T;Xh\e(B\e1\e,TA\e(B META (\e,T:R'$\e(B\e0\e,TCQi\e(B\e1\e,T'MR(`\e(B\e0\e,T;g\e(B\e1\e,T9\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B\e0\e,T7Uh\e(B\e1\e0\e,TAU\e(B\e1\e0\e,TJQ\e(B\e1\e,T-\e(B\e0\e,TEQ\e(B\e1\e,T!I\e(B\e0\e,T3l\e(B\e1 EDIT \e,TK\e(B\e0\e,TCW\e(B\e1\e,TM\e(B 
-ALT). \e,Ta79\e(B\e0\e,T7Uh\e(B\e1\e,T(Pc\e(B\e0\e,T*i\e(B\e1\e,T$S`\e(B\e0\e,T5g\e(B\e1\e,TAc9!RCM\e(B\e0\e,T8T\e(B\e1\e,T:RB\e(B, \e,T`CR(Pc\e(B\e0\e,T*i\e(B\e1\e0\e,T5Q\e(B\e1\e,TG\e(B\e0\e,TBh\e(B\e1\e,TM\e(B\e0\e,T4Q\e(B\e1\e,T'\e(B\e0\e,T5h\e(B\e1\e,TMd;\e(B\e0\e,T9Ui\e(B\e1:
-
- C-<chr>  \e,TKARB\e(B\e0\e,T6V\e(B\e1\e,T'c\e(B\e0\e,TKi\e(B\e1\e,T!4\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B CONTROL \e,TaEP\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B\e0\e,TMQ\e(B\e1\e,T!IC\e(B <chr> \e,T>\e(B\e0\e,TCi\e(B\e1\e,TMA\e(B\e0\e,T!Q\e(B\e1\e,T9\e(B.
-         \e0\e,T4Q\e(B\e1\e,T'\e(B\e0\e,T9Qi\e(B\e1\e,T9\e(B C-f \e,T(PKARB\e(B\e0\e,T6V\e(B\e1\e,T'c\e(B\e0\e,TKi\e(B\e1\e,T!4\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B CONTROL \e,TaEP\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B f \e,T>\e(B\e0\e,TCi\e(B\e1\e,TMA\e(B\e0\e,T!Q\e(B\e1\e,T9\e(B.
- M-<chr>  \e,TKARB\e(B\e0\e,T6V\e(B\e1\e,T'c\e(B\e0\e,TKi\e(B\e1\e,T!4\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B META \e,TK\e(B\e0\e,TCW\e(B\e1\e,TM\e(B EDIT \e,TK\e(B\e0\e,TCW\e(B\e1\e,TM\e(B ALT \e,TaEP\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B\e0\e,TMQ\e(B\e1\e,T!IC\e(B <chr>
-         \e,T>\e(B\e0\e,TCi\e(B\e1\e,TMA\e(B\e0\e,T!Q\e(B\e1\e,T9\e(B. \e,Tc9!C\e(B\e0\e,T3U\e(B\e1\e0\e,T7Uh\e(B\e1\e,Td\e(B\e0\e,TAh\e(B\e1\e0\e,TAU\e(B\e1\e0\e,T;Xh\e(B\e1\e,TA\e(B META, EDIT \e,TK\e(B\e0\e,TCW\e(B\e1\e,TM\e(B ALT \e,Tc\e(B\e0\e,TKi\e(B\e1\e,T!4\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B
-         ESC \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG;\e(B\e0\e,TEh\e(B\e1\e,TMB\e(B, \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG!4\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B <chr>. \e,T`CRc\e(B\e0\e,T*i\e(B\e1\e0\e,TJQ\e(B\e1\e,T-\e(B\e0\e,TEQ\e(B\e1\e,T!I\e(B\e0\e,T3l\e(B\e1 <ESC> \e,Ta79\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B ESC.
-
-\e,TKARB`K\e(B\e0\e,T5X\e(B\e1: \e,Tc9!C\e(B\e0\e,T3U\e(B\e1\e0\e,T7Uh\e(B\e1\e0\e,T5i\e(B\e1\e,TM'!RC`\e(B\e0\e,TET\e(B\e1\e,T!c\e(B\e0\e,T*i\e(B\e1\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1, \e,Tc\e(B\e0\e,TKi\e(B\e1\e,T!4\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B C-x C-c. (\e,TJM'\e(B\e0\e,T5Q\e(B\e1\e,TG\e(B\e0\e,TMQ\e(B\e1\e,T!IC\e(B.) 
-\e0\e,T5Q\e(B\e1\e,TG\e(B\e0\e,TMQ\e(B\e1\e,T!IC\e(B ">>" \e0\e,T7Uh\e(B\e1\e,T;CR!/M\e(B\e0\e,TBYh\e(B\e1\e,T7R'"M:\e(B\e0\e,T+i\e(B\e1\e,TRB\e(B\e0\e,TAW\e(B\e1\e,TM`\e(B\e0\e,T;g\e(B\e1\e,T9!RCa9P9Sc\e(B\e0\e,TKi\e(B\e1\e0\e,T7h\e(B\e1\e,TR9EM'c\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B. \e0\e,T5Q\e(B\e1\e,TGM\e(B\e0\e,TBh\e(B\e1\e,TR'`\e(B\e0\e,T*h\e(B\e1\e,T9\e(B:
+\e,TJ'G9\e0ET\e1"\e0JT\e17\e08Tl\e1\e(B \e,T>\e(B.\e,TH\e(B. 2528 \e,Tb4B:\e0CT\e1\e0IQ\e17?\e0CU\e1+M?\e05l\e1aG\e0Cl\e1?RG\e09l\e1`4\e0*Q\e19\e(B (Free Software
+Foundation, Inc); \e,T!\e0CX\e13R\e0HV\e1!IR`\e0'Wh\e1M9d"5M9\e07i\e1RB:7\e(B.
+\e0\e,T7h\e1R9!S\e0EQ\e1'\e0HV\e1!IR\e0$Yh\e1\e0AW\e1M!RCc\e0*i\e1\e0MU\e1aA!\e0Jl\e1\e(B (Emacs tutorial) \e,TM\e0BYh\e1c9"3P\e09Ui\e1\e(B.
+
+\e,Tb4B\e07Qh\e1Gd;$S\e0JQh\e1'"M'\e0MU\e1aA!\e0Jl\e1\e(B (Emacs) \e,T(Pc\e0*i\e1\e0$Yh\e1\e0!Q\e1:\e0;Xh\e1A\e(B CONTROL (\e,T:R'$\e0CQi\e1'MR(`\e0;g\e19\e0;Xh\e1A\e07Uh\e1\e0AU\e1\e(B
+\e0\e,TJQ\e1-\e0EQ\e1!I\e03l\e1\e(B CTRL \e,TK\e0CW\e1M\e(B CTL) \e,TK\e0CW\e1M\e(B \e0\e,T;Xh\e1A\e(B META (\e,T:R'$\e0CQi\e1'MR(`\e0;g\e19\e0;Xh\e1A\e07Uh\e1\e0AU\e1\e0JQ\e1-\e0EQ\e1!I\e03l\e1\e(B EDIT \e,TK\e0CW\e1M\e(B
+ALT). \e,Ta79\e07Uh\e1(Pc\e0*i\e1$S`\e05g\e1Ac9!RCM\e08T\e1:RB\e(B, \e,T`CR(Pc\e0*i\e1\e05Q\e1G\e0Bh\e1M\e04Q\e1'\e05h\e1Md;\e09Ui\e1\e(B:
+
+ C-<chr>  \e,TKARB\e06V\e1'c\e0Ki\e1!4\e0;Xh\e1A\e(B CONTROL \e,TaEP\e0;Xh\e1A\e0MQ\e1!IC\e(B <chr> \e,T>\e0Ci\e1MA\e0!Q\e19\e(B.
+         \e0\e,T4Q\e1'\e09Qi\e19\e(B C-f \e,T(PKARB\e06V\e1'c\e0Ki\e1!4\e0;Xh\e1A\e(B CONTROL \e,TaEP\e0;Xh\e1A\e(B f \e,T>\e0Ci\e1MA\e0!Q\e19\e(B.
+ M-<chr>  \e,TKARB\e06V\e1'c\e0Ki\e1!4\e0;Xh\e1A\e(B META \e,TK\e0CW\e1M\e(B EDIT \e,TK\e0CW\e1M\e(B ALT \e,TaEP\e0;Xh\e1A\e0MQ\e1!IC\e(B <chr>
+         \e,T>\e0Ci\e1MA\e0!Q\e19\e(B. \e,Tc9!C\e03U\e1\e07Uh\e1d\e0Ah\e1\e0AU\e1\e0;Xh\e1A\e(B META, EDIT \e,TK\e0CW\e1M\e(B ALT \e,Tc\e0Ki\e1!4\e0;Xh\e1A\e(B
+         ESC \e,Ta\e0Ei\e1G;\e0Eh\e1MB\e(B, \e,Ta\e0Ei\e1G!4\e0;Xh\e1A\e(B <chr>. \e,T`CRc\e0*i\e1\e0JQ\e1-\e0EQ\e1!I\e03l\e1\e(B <ESC> \e,Ta79\e0;Xh\e1A\e(B ESC.
+
+\e,TKARB`K\e05X\e1\e(B: \e,Tc9!C\e03U\e1\e07Uh\e1\e05i\e1M'!RC`\e0ET\e1!c\e0*i\e1\e0MU\e1aA!\e0Jl\e1\e(B, \e,Tc\e0Ki\e1!4\e0;Xh\e1A\e(B C-x C-c. (\e,TJM'\e05Q\e1G\e0MQ\e1!IC\e(B.)
+\e0\e,T5Q\e1G\e0MQ\e1!IC\e(B ">>" \e0\e,T7Uh\e1;CR!/M\e0BYh\e17R'"M:\e0+i\e1RB\e0AW\e1M`\e0;g\e19!RCa9P9Sc\e0Ki\e1\e07h\e1R9EM'c\e0*i\e1$S\e0JQh\e1'\e(B. \e0\e,T5Q\e1GM\e0Bh\e1R'`\e0*h\e19\e(B:
 <<Blank lines inserted here by startup of help-with-tutorial>>
->>  \e,T!4\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B C-v (\e0\e,T4Y\e(B\e1\e,TK\e(B\e0\e,T9i\e(B\e1\e,TR(M\e(B\e0\e,T6Q\e(B\e1\e,T4d;\e(B) \e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TM\e(B\e0\e,T7Uh\e(B\e1\e,T(P`$\e(B\e0\e,TEWh\e(B\e1\e,TM9d;\e(B\e0\e,TBQ\e(B\e1\e,T'K\e(B\e0\e,T9i\e(B\e1\e,TR(M\e(B\e0\e,T6Q\e(B\e1\e,T4d;\e(B.
-       (\e,TEM'7S\e(B\e0\e,T4Y\e(B\e1\e,Tb4B!RC!4\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B CONTROL \e,TaEP\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B\e0\e,TMQ\e(B\e1\e,T!IC\e(B v \e,T>\e(B\e0\e,TCi\e(B\e1\e,TMA\e(B\e0\e,T!Q\e(B\e1\e,T9\e(B).
-       \e,T(R!\e(B\e0\e,T9Ui\e(B\e1\e,Td;\e(B, \e0\e,T7h\e(B\e1\e,TR9$GC(PEM'c\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T9Ui\e(B\e1\e0\e,T4Y\e(B\e1\e,T`\e(B\e0\e,TAWh\e(B\e1\e,TM\e(B\e0\e,T7h\e(B\e1\e,TR9\e(B\e0\e,TMh\e(B\e1\e,TR9K\e(B\e0\e,T9i\e(B\e1\e,TR(M\e(B\e0\e,T9Ui\e(B\e1\e,T(:a\e(B\e0\e,TEi\e(B\e1\e,TG\e(B.
+>>  \e,T!4\e0;Xh\e1A\e(B C-v (\e0\e,T4Y\e1K\e09i\e1R(M\e06Q\e14d;\e(B) \e,T`\e0>Wh\e1M\e07Uh\e1(P`$\e0EWh\e1M9d;\e0BQ\e1'K\e09i\e1R(M\e06Q\e14d;\e(B.
+       (\e,TEM'7S\e04Y\e1b4B!RC!4\e0;Xh\e1A\e(B CONTROL \e,TaEP\e0;Xh\e1A\e0MQ\e1!IC\e(B v \e,T>\e0Ci\e1MA\e0!Q\e19\e(B).
+       \e,T(R!\e09Ui\e1d;\e(B, \e0\e,T7h\e1R9$GC(PEM'c\e0*i\e1$S\e0JQh\e1'\e09Ui\e1\e04Y\e1`\e0AWh\e1M\e07h\e1R9\e0Mh\e1R9K\e09i\e1R(M\e09Ui\e1(:a\e0Ei\e1G\e(B.
 
-\e0\e,T7h\e(B\e1\e,TR9(P\e(B\e0\e,TJQ\e(B\e1\e,T'`!5`\e(B\e0\e,TKg\e(B\e1\e,T9d\e(B\e0\e,T4i\e(B\e1\e0\e,TGh\e(B\e1\e,TRJM':CC\e(B\e0\e,T7Q\e(B\e1\e,T4"M'K\e(B\e0\e,T9i\e(B\e1\e,TR(M\e(B\e0\e,T7Uh\e(B\e1\e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG(P\e(B\e0\e,TBQ\e(B\e1\e,T'$';CR!/c\e(B\e0\e,TKi\e(B\e1\e,T`\e(B\e0\e,TKg\e(B\e1\e,T9:9K\e(B\e0\e,T9i\e(B\e1\e,TR(M\e(B\e0\e,T6Q\e(B\e1\e,T4d;\e(B; \e0\e,T9Uh\e(B\e1
-\e,T`\e(B\e0\e,T;g\e(B\e1\e,T9!RC\e(B\e0\e,T*h\e(B\e1\e,TGBc\e(B\e0\e,TKi\e(B\e1\e0\e,T7h\e(B\e1\e,TR9JRARC6\e(B\e0\e,TMh\e(B\e1\e,TR9K\e(B\e0\e,T9i\e(B\e1\e,TR(Md\e(B\e0\e,T4i\e(B\e1\e,TM\e(B\e0\e,TBh\e(B\e1\e,TR'\e(B\e0\e,T5h\e(B\e1\e,TM`\e(B\e0\e,T9Wh\e(B\e1\e,TM'\e(B.
+\e0\e,T7h\e1R9(P\e0JQ\e1'`!5`\e0Kg\e19d\e04i\e1\e0Gh\e1RJM':CC\e07Q\e14"M'K\e09i\e1R(M\e07Uh\e1a\e0Ei\e1G(P\e0BQ\e1'$';CR!/c\e0Ki\e1`\e0Kg\e19:9K\e09i\e1R(M\e06Q\e14d;\e(B; \e0\e,T9Uh\e1\e(B
+\e,T`\e0;g\e19!RC\e0*h\e1GBc\e0Ki\e1\e07h\e1R9JRARC6\e0Mh\e1R9K\e09i\e1R(Md\e04i\e1M\e0Bh\e1R'\e05h\e1M`\e09Wh\e1M'\e(B.
 
-\e0\e,TJTh\e(B\e1\e,T'aC!\e(B\e0\e,T7Uh\e(B\e1\e0\e,T7h\e(B\e1\e,TR9(S`\e(B\e0\e,T;g\e(B\e1\e,T9\e(B\e0\e,T5i\e(B\e1\e,TM'\e(B\e0\e,TCYi\e(B\e1\e0\e,T$W\e(B\e1\e,TM!RC`$\e(B\e0\e,TEWh\e(B\e1\e,TM95SaK\e(B\e0\e,T9h\e(B\e1\e,T'd;ARc9\e(B\e0\e,T"i\e(B\e1\e,TM$GRA\e(B. \e,T"3P\e(B\e0\e,T9Ui\e(B\e1\e0\e,T7h\e(B\e1\e,TR97CR:\e(B
-\e0\e,TGT\e(B\e1\e0\e,T8U\e(B\e1\e,T!RC`$\e(B\e0\e,TEWh\e(B\e1\e,TM9d;\e(B\e0\e,TBQ\e(B\e1\e,T'K\e(B\e0\e,T9i\e(B\e1\e,TR(M\e(B\e0\e,T6Q\e(B\e1\e,T4d;a\e(B\e0\e,TEi\e(B\e1\e,TG\e(B\e0\e,T4i\e(B\e1\e,TGB\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B C-v. \e,Tc9!RC\e(B\e0\e,T7Uh\e(B\e1\e,T(P`$\e(B\e0\e,TEWh\e(B\e1\e,TM9!\e(B\e0\e,TEQ\e(B\e1\e,T:d;K\e(B\e0\e,T9Vh\e(B\e1\e,T'K\e(B\e0\e,T9i\e(B\e1\e,TR(M\e(B, \e,T!4\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B
-M-v (\e,T!4\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B META \e,TaEP\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B v, \e,TK\e(B\e0\e,TCW\e(B\e1\e,TM!4\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B <ESC>v \e0\e,T6i\e(B\e1\e,TR\e(B\e0\e,T7h\e(B\e1\e,TR9d\e(B\e0\e,TAh\e(B\e1\e0\e,TAU\e(B\e1\e0\e,T;Xh\e(B\e1\e,TA\e(B META, EDIT, \e,TK\e(B\e0\e,TCW\e(B\e1\e,TM\e(B ALT).
+\e0\e,TJTh\e1'aC!\e07Uh\e1\e07h\e1R9(S`\e0;g\e19\e05i\e1M'\e0CYi\e1\e0$W\e1M!RC`$\e0EWh\e1M95SaK\e09h\e1'd;ARc9\e0"i\e1M$GRA\e(B. \e,T"3P\e09Ui\e1\e07h\e1R97CR:\e(B
+\e0\e,TGT\e1\e08U\e1!RC`$\e0EWh\e1M9d;\e0BQ\e1'K\e09i\e1R(M\e06Q\e14d;a\e0Ei\e1G\e04i\e1GB\e0;Xh\e1A\e(B C-v. \e,Tc9!RC\e07Uh\e1(P`$\e0EWh\e1M9!\e0EQ\e1:d;K\e09Vh\e1'K\e09i\e1R(M\e(B, \e,T!4\e0;Xh\e1A\e(B
+M-v (\e,T!4\e0;Xh\e1A\e(B META \e,TaEP\e0;Xh\e1A\e(B v, \e,TK\e0CW\e1M!4\e0;Xh\e1A\e(B <ESC>v \e0\e,T6i\e1R\e07h\e1R9d\e0Ah\e1\e0AU\e1\e0;Xh\e1A\e(B META, EDIT, \e,TK\e0CW\e1M\e(B ALT).
 
->>  \e,TEM'!4\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B M-v \e,TaEP!4\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B C-v \e0\e,T4Y\e(B\e1\e,T!RC7S'R9\e(B\e0\e,TJQ\e(B\e1\e,T!JM'JRA$\e(B\e0\e,TCQi\e(B\e1\e,T'\e(B.
+>>  \e,TEM'!4\e0;Xh\e1A\e(B M-v \e,TaEP!4\e0;Xh\e1A\e(B C-v \e0\e,T4Y\e1!RC7S'R9\e0JQ\e1!JM'JRA$\e0CQi\e1'\e(B.
 
 
-* \e,TJ\e(B\e0\e,TCX\e(B\e1\e,T;\e(B
+* \e,TJ\e0CX\e1;\e(B
 -----
 
-\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T5h\e(B\e1\e,TMd;\e(B\e0\e,T9Ui\e(B\e1\e,Tc\e(B\e0\e,T*i\e(B\e1\e,T`\e(B\e0\e,TAWh\e(B\e1\e,TM\e(B\e0\e,T5i\e(B\e1\e,TM'!RC\e(B\e0\e,T4Y\e(B\e1\e,TK\e(B\e0\e,T9i\e(B\e1\e,TR(M\e(B\e0\e,T5h\e(B\e1\e,TR'f\e(B:
+\e,T$S\e0JQh\e1'\e05h\e1Md;\e09Ui\e1c\e0*i\e1`\e0AWh\e1M\e05i\e1M'!RC\e04Y\e1K\e09i\e1R(M\e05h\e1R'f\e(B:
 
-       C-v     \e,T`$\e(B\e0\e,TEWh\e(B\e1\e,TM9d;\e(B\e0\e,TBQ\e(B\e1\e,T'K\e(B\e0\e,T9i\e(B\e1\e,TR(M\e(B\e0\e,T6Q\e(B\e1\e,T4d;K\e(B\e0\e,T9Vh\e(B\e1\e,T'K\e(B\e0\e,T9i\e(B\e1\e,TR(M\e(B
-       M-v     \e,T`$\e(B\e0\e,TEWh\e(B\e1\e,TM9!\e(B\e0\e,TEQ\e(B\e1\e,T:d;K\e(B\e0\e,T9Vh\e(B\e1\e,T'K\e(B\e0\e,T9i\e(B\e1\e,TR(M\e(B
-       C-l     \e,TE:K\e(B\e0\e,T9i\e(B\e1\e,TR(M\e(B \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TGaJ4'<EK\e(B\e0\e,T9i\e(B\e1\e,TR(McK\e(B\e0\e,TAh\e(B\e1, \e,T>\e(B\e0\e,TCi\e(B\e1\e,TMA\e(B\e0\e,T7Qi\e(B\e1\e,T'\e(B\e0\e,TBi\e(B\e1\e,TRB5SaK\e(B\e0\e,T9h\e(B\e1\e,T'"M'\e(B\e0\e,T"i\e(B\e1\e,TM$GRA\e(B\e0\e,T7Uh\e(B\e1\e0\e,TAU\e(B\e1
-                \e,T`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1 (cursor) \e,T;CR!/M\e(B\e0\e,TBYh\e(B\e1\e,Td;aJ4'd\e(B\e0\e,TGi\e(B\e1\e,T!ER'(M\e(B.
-                (\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T9Ui\e(B\e1\e0\e,T$W\e(B\e1\e,TM\e(B CONTROL-L, \e,Td\e(B\e0\e,TAh\e(B\e1\e,Tc\e(B\e0\e,T*h\e(B\e1 CONTROL-1.)
+       C-v     \e,T`$\e0EWh\e1M9d;\e0BQ\e1'K\e09i\e1R(M\e06Q\e14d;K\e09Vh\e1'K\e09i\e1R(M\e(B
+       M-v     \e,T`$\e0EWh\e1M9!\e0EQ\e1:d;K\e09Vh\e1'K\e09i\e1R(M\e(B
+       C-l     \e,TE:K\e09i\e1R(M\e(B \e,Ta\e0Ei\e1GaJ4'<EK\e09i\e1R(McK\e0Ah\e1\e(B, \e,T>\e0Ci\e1MA\e07Qi\e1'\e0Bi\e1RB5SaK\e09h\e1'"M'\e0"i\e1M$GRA\e07Uh\e1\e0AU\e1\e(B
+                \e,T`$M\e0Cl\e1`+M\e0Cl\e1\e(B (cursor) \e,T;CR!/M\e0BYh\e1d;aJ4'd\e0Gi\e1!ER'(M\e(B.
+                (\e,T$S\e0JQh\e1'\e09Ui\e1\e0$W\e1M\e(B CONTROL-L, \e,Td\e0Ah\e1c\e0*h\e1\e(B CONTROL-1.)
 
->> \e0\e,TJQ\e(B\e1\e,T'`!55SaK\e(B\e0\e,T9h\e(B\e1\e,T'"M'`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1, \e,TaEP\e(B\e0\e,TJQ\e(B\e1\e,T'`!5\e(B\e0\e,T4Y\e(B\e1\e0\e,TGh\e(B\e1\e,TR\e(B\e0\e,TAU\e(B\e1\e0\e,T"i\e(B\e1\e,TM$GRAMPdCM\e(B\e0\e,TBYh\e(B\e1\e,Tc!\e(B\e0\e,TEi\e(B\e1\e,T`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1.
-   \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG!4\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B C-l.
-   \e0\e,TJQ\e(B\e1\e,T'`!5\e(B\e0\e,T4Y\e(B\e1\e,T5SaK\e(B\e0\e,T9h\e(B\e1\e,T'"M'`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1\e0\e,TMU\e(B\e1\e,T!$\e(B\e0\e,TCQi\e(B\e1\e,T'\e(B \e,T(P`\e(B\e0\e,TKg\e(B\e1\e,T9\e(B\e0\e,TGh\e(B\e1\e,TR\e(B\e0\e,TAU\e(B\e1\e0\e,T"i\e(B\e1\e,TM$GRA`\e(B\e0\e,T4T\e(B\e1\e,TA;CR!/M\e(B\e0\e,TBYh\e(B\e1\e,Tc!\e(B\e0\e,TEi\e(B\e1\e,Tf\e(B \e0\e,T!Q\e(B\e1\e,T:`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1.
+>> \e0\e,TJQ\e1'`!55SaK\e09h\e1'"M'`$M\e0Cl\e1`+M\e0Cl\e1\e(B, \e,TaEP\e0JQ\e1'`!5\e04Y\e1\e0Gh\e1R\e0AU\e1\e0"i\e1M$GRAMPdCM\e0BYh\e1c!\e0Ei\e1`$M\e0Cl\e1`+M\e0Cl\e1\e(B.
+   \e,Ta\e0Ei\e1G!4\e0;Xh\e1A\e(B C-l.
+   \e0\e,TJQ\e1'`!5\e04Y\e15SaK\e09h\e1'"M'`$M\e0Cl\e1`+M\e0Cl\e1\e0MU\e1!$\e0CQi\e1'\e(B \e,T(P`\e0Kg\e19\e0Gh\e1R\e0AU\e1\e0"i\e1M$GRA`\e04T\e1A;CR!/M\e0BYh\e1c!\e0Ei\e1f\e(B \e0\e,T!Q\e1:`$M\e0Cl\e1`+M\e0Cl\e1\e(B.
 
 
-* \e,T!RC$G:\e(B\e0\e,T$X\e(B\e1\e,TA`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1\e,T`\e(B\e0\e,T:Wi\e(B\e1\e,TM'\e(B\e0\e,T5i\e(B\e1\e,T9\e(B
+* \e,T!RC$G:\e0$X\e1A`$M\e0Cl\e1`+M\e0Cl\e1`\e0:Wi\e1M'\e05i\e19\e(B
 ------------------------
 
-\e,T!RC`$\e(B\e0\e,TEWh\e(B\e1\e,TM9K\e(B\e0\e,T9i\e(B\e1\e,TR(Md;AR\e(B\e0\e,T9Qi\e(B\e1\e,T9`\e(B\e0\e,T;g\e(B\e1\e,T9\e(B\e0\e,TJTh\e(B\e1\e,T'(S`\e(B\e0\e,T;g\e(B\e1\e,T9\e(B \e,Ta\e(B\e0\e,T5h\e(B\e1\e0\e,T7h\e(B\e1\e,TR9(P7SM\e(B\e0\e,TBh\e(B\e1\e,TR'dC\e(B\e0\e,T6i\e(B\e1\e,TR\e(B\e0\e,T7h\e(B\e1\e,TR9\e(B\e0\e,T5i\e(B\e1\e,TM'!RC(P`$\e(B\e0\e,TEWh\e(B\e1\e,TM9d;\e(B\e0\e,TBQ\e(B\e1\e,T'\e(B
-\e,T5SaK\e(B\e0\e,T9h\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e0\e,T5i\e(B\e1\e,TM'!RC@RBc9\e(B\e0\e,T"i\e(B\e1\e,TM$GRA\e(B\e0\e,T7Uh\e(B\e1\e,T;CR!/M\e(B\e0\e,TBYh\e(B\e1\e,T:9K\e(B\e0\e,T9i\e(B\e1\e,TR(M\e(B?
+\e,T!RC`$\e0EWh\e1M9K\e09i\e1R(Md;AR\e09Qi\e19`\e0;g\e19\e0JTh\e1'(S`\e0;g\e19\e(B \e,Ta\e05h\e1\e07h\e1R9(P7SM\e0Bh\e1R'dC\e06i\e1R\e07h\e1R9\e05i\e1M'!RC(P`$\e0EWh\e1M9d;\e0BQ\e1'\e(B
+\e,T5SaK\e09h\e1'\e07Uh\e1\e05i\e1M'!RC@RBc9\e0"i\e1M$GRA\e07Uh\e1;CR!/M\e0BYh\e1:9K\e09i\e1R(M\e(B?
 
-\e0\e,TAU\e(B\e1\e,TKERB\e(B\e0\e,TGT\e(B\e1\e0\e,T8U\e(B\e1\e0\e,T7Uh\e(B\e1\e,TJRARC6(P7Sd\e(B\e0\e,T4i\e(B\e1. \e0\e,TGT\e(B\e1\e0\e,T8U\e(B\e1\e0\e,T7Uh\e(B\e1\e0\e,T>Wi\e(B\e1\e,T9\e(B\e0\e,T7Uh\e(B\e1\e0\e,TJX\e(B\e1\e,T4\e(B\e0\e,T$W\e(B\e1\e,TM!RCc\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-p, C-b, C-f, \e,TaEP\e(B C-n.
-\e,Ta\e(B\e0\e,T5h\e(B\e1\e,TEP$S\e(B\e0\e,TJQh\e(B\e1\e,T'(P`$\e(B\e0\e,TEWh\e(B\e1\e,TM9`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1\e,Td;K\e(B\e0\e,T9Vh\e(B\e1\e,T':CC\e(B\e0\e,T7Q\e(B\e1\e,T4K\e(B\e0\e,TCW\e(B\e1\e,TMK\e(B\e0\e,T9Vh\e(B\e1\e,T'$M\e(B\e0\e,TEQ\e(B\e1\e,TA\e(B\e0\e,T9l\e(B\e1\e,Tc9\e(B\e0\e,T7T\e(B\e1\e,TH7R'c4\e(B\e0\e,T7T\e(B\e1\e,TH7R'K\e(B\e0\e,T9Vh\e(B\e1\e,T':9K\e(B\e0\e,T9i\e(B\e1\e,TR(M\e(B.
-\e0\e,T5h\e(B\e1\e,TMd;\e(B\e0\e,T9Ui\e(B\e1\e,T`\e(B\e0\e,T;g\e(B\e1\e,T95RCR'aJ4'$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T7Qi\e(B\e1\e,T'\e(B\e0\e,TJUh\e(B\e\e,TaEP\e(B\e0\e,T7T\e(B\e1\e,TH7R'\e(B\e0\e,T7Uh\e(B\e1\e,T`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1\e,T`$\e(B\e0\e,TEWh\e(B\e1\e,TM9d;\e(B:
+\e0\e,TAU\e1KERB\e0GT\e1\e08U\e1\e07Uh\e1JRARC6(P7Sd\e04i\e1\e(B. \e0\e,TGT\e1\e08U\e1\e07Uh\e1\e0>Wi\e19\e07Uh\e1\e0JX\e14\e0$W\e1M!RCc\e0*i\e1$S\e0JQh\e1'\e(B C-p, C-b, C-f, \e,TaEP\e(B C-n.
+\e,Ta\e05h\e1EP$S\e0JQh\e1'(P`$\e0EWh\e1M9`$M\e0Cl\e1`+M\e0Cl\e1d;K\e09Vh\e1':CC\e07Q\e14K\e0CW\e1MK\e09Vh\e1'$M\e0EQ\e1A\e09l\e1c9\e07T\e1H7R'c4\e07T\e1H7R'K\e09Vh\e1':9K\e09i\e1R(M\e(B.
+\e0\e,T5h\e1Md;\e09Ui\e1`\e0;g\e195RCR'aJ4'$S\e0JQh\e1'\e07Qi\e1'\e0JUh\e1\e(B \e,TaEP\e07T\e1H7R'\e07Uh\e1`$M\e0Cl\e1`+M\e0Cl\e1`$\e0EWh\e1M9d;\e(B:
 
-                         \e,T:CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,T!h\e(B\e1\e,TM9K\e(B\e0\e,T9i\e(B\e1\e,TR\e(B, C-p
+                         \e,T:CC\e07Q\e14\e0!h\e1M9K\e09i\e1R\e(B, C-p
                                :
                                :
-   \e0\e,TBi\e(B\e1\e,TM9!\e(B\e0\e,TEQ\e(B\e1\e,T:\e(B, C-b  ....  \e,T5SaK\e(B\e0\e,T9h\e(B\e1\e,T'`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1\e0\e,T;Q\e(B\e1\e,T(\e(B\e0\e,T(X\e(B\e1\e0\e,T:Q\e(B\e1\e,T9\e(B  ....  \e0\e,T"i\e(B\e1\e,TR'K\e(B\e0\e,T9i\e(B\e1\e,TR\e(B, C-f
+   \e0\e,TBi\e1M9!\e0EQ\e1:\e(B, C-b  ....  \e,T5SaK\e09h\e1'`$M\e0Cl\e1`+M\e0Cl\e1\e0;Q\e1(\e0(X\e1\e0:Q\e19\e(B  ....  \e0\e,T"i\e1R'K\e09i\e1R\e(B, C-f
                                :
                                :
-                         \e,T:CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,T6Q\e(B\e1\e,T4d;\e(B, C-n
+                         \e,T:CC\e07Q\e14\e06Q\e14d;\e(B, C-n
 
->> \e,T`$\e(B\e0\e,TEWh\e(B\e1\e,TM9`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1\e,Td;\e(B\e0\e,T7Uh\e(B\e1\e0\e,T!Vh\e(B\e1\e,T'!ER'"M'\e(B\e0\e,T<Q\e(B\e1\e,T'\e(B\e0\e,T"i\e(B\e1\e,TR':9b4Bc\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-n \e,TK\e(B\e0\e,TCW\e(B\e1\e,TM\e(B C-p. \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG!4\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B
-   C-l \e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TMc\e(B\e0\e,TKi\e(B\e1\e0\e,T<Q\e(B\e1\e,T';CR!/M\e(B\e0\e,TBYh\e(B\e1\e,T!ER'K\e(B\e0\e,T9i\e(B\e1\e,TR(M\e(B.
+>> \e,T`$\e0EWh\e1M9`$M\e0Cl\e1`+M\e0Cl\e1d;\e07Uh\e1\e0!Vh\e1'!ER'"M'\e0<Q\e1'\e0"i\e1R':9b4Bc\e0*i\e1$S\e0JQh\e1'\e(B C-n \e,TK\e0CW\e1M\e(B C-p. \e,Ta\e0Ei\e1G!4\e0;Xh\e1A\e(B
+   C-l \e,T`\e0>Wh\e1Mc\e0Ki\e1\e0<Q\e1';CR!/M\e0BYh\e1!ER'K\e09i\e1R(M\e(B.
 
-\e0\e,T7h\e(B\e1\e,TR9MR((P(S$S\e(B\e0\e,TJQh\e(B\e1\e,T'd\e(B\e0\e,T4i\e(B\e1\e0\e,T'h\e(B\e1\e,TRB\e(B\e0\e,T"Vi\e(B\e1\e,T9b4B\e(B\e0\e,TJQ\e(B\e1\e,T'`!5\e(B\e0\e,T5Q\e(B\e1\e,TG\e(B\e0\e,TMQ\e(B\e1\e,T!IC\e(B\e0\e,T7Uh\e(B\e1\e,Tc\e(B\e0\e,T*i\e(B\e1: p \e,TJSK\e(B\e0\e,TCQ\e(B\e1\e,T:\e(B previous (\e0\e,T!h\e(B\e1\e,TM9K\e(B\e0\e,T9i\e(B\e1\e,TR\e(B), n
-\e,TJSK\e(B\e0\e,TCQ\e(B\e1\e,T:\e(B next (\e0\e,T6Q\e(B\e1\e,T4d;\e(B), b \e,TJSK\e(B\e0\e,TCQ\e(B\e1\e,T:\e(B backward (\e0\e,TBi\e(B\e1\e,TM9!\e(B\e0\e,TEQ\e(B\e1\e,T:\e(B), \e,TaEP\e(B f \e,TJSK\e(B\e0\e,TCQ\e(B\e1\e,T:\e(B forward
-(\e0\e,T"i\e(B\e1\e,TR'K\e(B\e0\e,T9i\e(B\e1\e,TR\e(B). \e,T`K\e(B\e0\e,TEh\e(B\e1\e,TR\e(B\e0\e,T9Ui\e(B\e1\e0\e,T$W\e(B\e1\e,TM`\e(B\e0\e,T:Wi\e(B\e1\e,TM'\e(B\e0\e,T5i\e(B\e1\e,T9"M'$S\e(B\e0\e,TJQh\e(B\e1\e,T'c9!RC$G:\e(B\e0\e,T$X\e(B\e1\e,TA5SaK\e(B\e0\e,T9h\e(B\e1\e,T'"M'`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1, \e,TaEP\e(B\e0\e,T7h\e(B\e1\e,TR9\e(B
-\e,T(P\e(B\e0\e,T5i\e(B\e1\e,TM'c\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'`K\e(B\e0\e,TEh\e(B\e1\e,TR\e(B\e0\e,T9Ui\e(B\e1\e0\e,T:h\e(B\e1\e,TMB$\e(B\e0\e,TCQi\e(B\e1\e,T'\e(B, \e,T)P\e(B\e0\e,T9Qi\e(B\e1\e,T9\e(B\e0\e,T(V\e(B\e1\e,T'`\e(B\e0\e,T;g\e(B\e1\e,T9!RC\e(B\e0\e,T4U\e(B\e1\e0\e,T7Uh\e(B\e1\e,T(P(S$S\e(B\e0\e,TJQh\e(B\e1\e,T'`K\e(B\e0\e,TEh\e(B\e1\e,TR\e(B\e0\e,T9Ui\e(B\e1\e,Td\e(B\e0\e,TGi\e(B\e1.
+\e0\e,T7h\e1R9MR((P(S$S\e0JQh\e1'd\e04i\e1\e0'h\e1RB\e0"Vi\e19b4B\e0JQ\e1'`!5\e05Q\e1G\e0MQ\e1!IC\e07Uh\e1c\e0*i\e1\e(B: p \e,TJSK\e0CQ\e1:\e(B previous (\e0\e,T!h\e1M9K\e09i\e1R\e(B), n
+\e,TJSK\e0CQ\e1:\e(B next (\e0\e,T6Q\e14d;\e(B), b \e,TJSK\e0CQ\e1:\e(B backward (\e0\e,TBi\e1M9!\e0EQ\e1:\e(B), \e,TaEP\e(B f \e,TJSK\e0CQ\e1:\e(B forward
+(\e0\e,T"i\e1R'K\e09i\e1R\e(B). \e,T`K\e0Eh\e1R\e09Ui\e1\e0$W\e1M`\e0:Wi\e1M'\e05i\e19"M'$S\e0JQh\e1'c9!RC$G:\e0$X\e1A5SaK\e09h\e1'"M'`$M\e0Cl\e1`+M\e0Cl\e1\e(B, \e,TaEP\e07h\e1R9\e(B
+\e,T(P\e05i\e1M'c\e0*i\e1$S\e0JQh\e1'`K\e0Eh\e1R\e09Ui\e1\e0:h\e1MB$\e0CQi\e1'\e(B, \e,T)P\e09Qi\e19\e0(V\e1'`\e0;g\e19!RC\e04U\e1\e07Uh\e1(P(S$S\e0JQh\e1'`K\e0Eh\e1R\e09Ui\e1d\e0Gi\e1\e(B.
 
->> \e,TEM'c\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-n \e0\e,T4Y\e(B\e1\e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TM\e(B\e0\e,T7Uh\e(B\e1\e,T(P`$\e(B\e0\e,TEWh\e(B\e1\e,TM9`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1\e,TE'AR\e(B\e0\e,TBQ\e(B\e1\e,T':CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,T9Ui\e(B\e1.
+>> \e,TEM'c\e0*i\e1$S\e0JQh\e1'\e(B C-n \e0\e,T4Y\e1`\e0>Wh\e1M\e07Uh\e1(P`$\e0EWh\e1M9`$M\e0Cl\e1`+M\e0Cl\e1E'AR\e0BQ\e1':CC\e07Q\e14\e09Ui\e1\e(B.
 
->> \e,TEM'`$\e(B\e0\e,TEWh\e(B\e1\e,TM9`\e(B\e0\e,T"i\e(B\e1\e,TRd;c9:CC\e(B\e0\e,T7Q\e(B\e1\e,T4b4Bc\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-f \e,TaEP`$\e(B\e0\e,TEWh\e(B\e1\e,TM9\e(B\e0\e,T"Vi\e(B\e1\e,T9\e(B\e0\e,T"i\e(B\e1\e,TR':9b4Bc\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-p.
-   \e0\e,TJQ\e(B\e1\e,T'`!5\e(B\e0\e,T4Y\e(B\e1\e0\e,TGh\e(B\e1\e,TR`\e(B\e0\e,T!T\e(B\e1\e,T4MPdC\e(B\e0\e,T"Vi\e(B\e1\e,T9\e(B\e0\e,T6i\e(B\e1\e,TRc\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-p \e,T`\e(B\e0\e,TAWh\e(B\e1\e,TM5SaK\e(B\e0\e,T9h\e(B\e1\e,T'`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1\e,T;CR!/M\e(B\e0\e,TBYh\e(B\e1\e0\e,T7Uh\e(B\e1\e,T5C'!ER'\e(B
-   \e,T"M':CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B.
+>> \e,TEM'`$\e0EWh\e1M9`\e0"i\e1Rd;c9:CC\e07Q\e14b4Bc\e0*i\e1$S\e0JQh\e1'\e(B C-f \e,TaEP`$\e0EWh\e1M9\e0"Vi\e19\e0"i\e1R':9b4Bc\e0*i\e1$S\e0JQh\e1'\e(B C-p.
+   \e0\e,TJQ\e1'`!5\e04Y\e1\e0Gh\e1R`\e0!T\e14MPdC\e0"Vi\e19\e06i\e1Rc\e0*i\e1$S\e0JQh\e1'\e(B C-p \e,T`\e0AWh\e1M5SaK\e09h\e1'`$M\e0Cl\e1`+M\e0Cl\e1;CR!/M\e0BYh\e1\e07Uh\e15C'!ER'\e(B
+   \e,T"M':CC\e07Q\e14\e(B.
 
-\e,Ta\e(B\e0\e,T5h\e(B\e1\e,TEP:CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,TJTi\e(B\e1\e,T9\e(B\e0\e,TJX\e(B\e1\e,T4\e(B\e0\e,T4i\e(B\e1\e,TGB\e(B\e0\e,TMQ\e(B\e1\e,T!"CP\e(B Newline, \e0\e,T+Vh\e(B\e1\e,T'c\e(B\e0\e,T*i\e(B\e1\e,TaJ4'"M:`"5CPK\e(B\e0\e,TGh\e(B\e1\e,TR':CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B. \e0\e,T7Uh\e(B\e1\e0\e,T7i\e(B\e1\e,TRB\e(B\e0\e,TJX\e(B\e1\e,T4"M'\e(B
-\e,Td?\e(B\e0\e,TEl\e(B\e1\e0\e,T!g\e(B\e1\e,T(P\e(B\e0\e,TAU\e(B\e1\e0\e,TMQ\e(B\e1\e,T!"CP\e(B Newline \e,T`\e(B\e0\e,T*h\e(B\e1\e,T9\e(B\e0\e,T!Q\e(B\e1\e,T9\e(B (\e,Ta\e(B\e0\e,T5h\e(B\e1\e,TJSK\e(B\e0\e,TCQ\e(B\e1\e,T:\e(B\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,Ta\e(B\e0\e,TEi\e(B\e1\e,TGd\e(B\e0\e,TAh\e(B\e1\e,T(S`\e(B\e0\e,T;g\e(B\e1\e,T9\e(B).
+\e,Ta\e05h\e1EP:CC\e07Q\e14\e0JTi\e19\e0JX\e14\e04i\e1GB\e0MQ\e1!"CP\e(B Newline, \e0\e,T+Vh\e1'c\e0*i\e1aJ4'"M:`"5CPK\e0Gh\e1R':CC\e07Q\e14\e(B. \e0\e,T7Uh\e1\e07i\e1RB\e0JX\e14"M'\e(B
+\e,Td?\e0El\e1\e0!g\e1(P\e0AU\e1\e0MQ\e1!"CP\e(B Newline \e,T`\e0*h\e19\e0!Q\e19\e(B (\e,Ta\e05h\e1JSK\e0CQ\e1:\e0MU\e1aA!\e0Jl\e1a\e0Ei\e1Gd\e0Ah\e1(S`\e0;g\e19\e(B).
 
->> \e,TEM'c\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-b \e0\e,T7Uh\e(B\e1\e,T5SaK\e(B\e0\e,T9h\e(B\e1\e,T'`\e(B\e0\e,TCTh\e(B\e1\e,TA\e(B\e0\e,T5i\e(B\e1\e,T9"M':CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,T4Y\e(B\e1. \e,T`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1\e,T(P`$\e(B\e0\e,TEWh\e(B\e1\e,TM9d;\e(B\e0\e,TBQ\e(B\e1\e,T'5SaK\e(B\e0\e,T9h\e(B\e1\e,T'\e(B
-   \e0\e,T7i\e(B\e1\e,TRB\e(B\e0\e,TJX\e(B\e1\e,T4"M':CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,T!h\e(B\e1\e,TM9K\e(B\e0\e,T9i\e(B\e1\e,TR\e(B. \e0\e,T9Uh\e(B\e1\e,T`\e(B\e0\e,T;g\e(B\e1\e,T9`>CRP\e(B\e0\e,TGh\e(B\e1\e,TR`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1\e,T`$\e(B\e0\e,TEWh\e(B\e1\e,TM9\e(B\e0\e,T"i\e(B\e1\e,TRA\e(B\e0\e,TMQ\e(B\e1\e,T!"CP\e(B Newline \e,Td;\e(B.
+>> \e,TEM'c\e0*i\e1$S\e0JQh\e1'\e(B C-b \e0\e,T7Uh\e15SaK\e09h\e1'`\e0CTh\e1A\e05i\e19"M':CC\e07Q\e14\e04Y\e1\e(B. \e,T`$M\e0Cl\e1`+M\e0Cl\e1(P`$\e0EWh\e1M9d;\e0BQ\e1'5SaK\e09h\e1'\e(B
+   \e0\e,T7i\e1RB\e0JX\e14"M':CC\e07Q\e14\e0!h\e1M9K\e09i\e1R\e(B. \e0\e,T9Uh\e1`\e0;g\e19`>CRP\e0Gh\e1R`$M\e0Cl\e1`+M\e0Cl\e1d\e04i\e1`$\e0EWh\e1M9\e0"i\e1RA\e0MQ\e1!"CP\e(B Newline \e,Td;\e(B.
 
-\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-f \e,TJRARC6`$\e(B\e0\e,TEWh\e(B\e1\e,TM9\e(B\e0\e,T"i\e(B\e1\e,TRA\e(B\e0\e,TMQ\e(B\e1\e,T!"CP\e(B Newline \e,Td\e(B\e0\e,T4i\e(B\e1\e,T`\e(B\e0\e,T*h\e(B\e1\e,T9`\e(B\e0\e,T4U\e(B\e1\e,TBG\e(B\e0\e,T!Q\e(B\e1\e,T:$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-b.
+\e,T$S\e0JQh\e1'\e(B C-f \e,TJRARC6`$\e0EWh\e1M9\e0"i\e1RA\e0MQ\e1!"CP\e(B Newline \e,Td\e04i\e1`\e0*h\e19`\e04U\e1BG\e0!Q\e1:$S\e0JQh\e1'\e(B C-b.
 
->> \e,TEM'c\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-b \e0\e,T4Y\e(B\e1\e0\e,TMU\e(B\e1\e,T!\e(B\e0\e,TJQ\e(B\e1\e,T!K\e(B\e0\e,T9h\e(B\e1\e,TMB\e(B, \e0\e,T7h\e(B\e1\e,TR9(PJRARC6`\e(B\e0\e,T"i\e(B\e1\e,TRc(!RC`$\e(B\e0\e,TEWh\e(B\e1\e,TM9`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1\e0\e,T4U\e(B\e1\e0\e,T"Vi\e(B\e1\e,T9\e(B.
-   \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TGEM'c\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-f \e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TM\e(B\e0\e,T7Uh\e(B\e1\e,T(P`$\e(B\e0\e,TEWh\e(B\e1\e,TM9d;\e(B\e0\e,TBQ\e(B\e1\e,T'5SaK\e(B\e0\e,T9h\e(B\e1\e,T'\e(B\e0\e,T7i\e(B\e1\e,TRB\e(B\e0\e,TJX\e(B\e1\e,T4"M':CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B.
-   \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TGEM'c\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-f \e0\e,TMU\e(B\e1\e,T!\e(B\e0\e,TJQ\e(B\e1\e,T!$\e(B\e0\e,TCQi\e(B\e1\e,T'`\e(B\e0\e,T>Wh\e(B\e1\e,TM\e(B\e0\e,T7Uh\e(B\e1\e,T(P`$\e(B\e0\e,TEWh\e(B\e1\e,TM9d;\e(B\e0\e,TBQ\e(B\e1\e,T':CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,T6Q\e(B\e1\e,T4d;\e(B.
+>> \e,TEM'c\e0*i\e1$S\e0JQh\e1'\e(B C-b \e0\e,T4Y\e1\e0MU\e1!\e0JQ\e1!K\e09h\e1MB\e(B, \e0\e,T7h\e1R9(PJRARC6`\e0"i\e1Rc(!RC`$\e0EWh\e1M9`$M\e0Cl\e1`+M\e0Cl\e1d\e04i\e1\e04U\e1\e0"Vi\e19\e(B.
+   \e,Ta\e0Ei\e1GEM'c\e0*i\e1$S\e0JQh\e1'\e(B C-f \e,T`\e0>Wh\e1M\e07Uh\e1(P`$\e0EWh\e1M9d;\e0BQ\e1'5SaK\e09h\e1'\e07i\e1RB\e0JX\e14"M':CC\e07Q\e14\e(B.
+   \e,Ta\e0Ei\e1GEM'c\e0*i\e1$S\e0JQh\e1'\e(B C-f \e0\e,TMU\e1!\e0JQ\e1!$\e0CQi\e1'`\e0>Wh\e1M\e07Uh\e1(P`$\e0EWh\e1M9d;\e0BQ\e1':CC\e07Q\e14\e06Q\e14d;\e(B.
 
-\e,T`\e(B\e0\e,TAWh\e(B\e1\e,TM\e(B\e0\e,T7h\e(B\e1\e,TR9`$\e(B\e0\e,TEWh\e(B\e1\e,TM9\e(B\e0\e,T<h\e(B\e1\e,TR95SaK\e(B\e0\e,T9h\e(B\e1\e,T':9\e(B\e0\e,TJX\e(B\e1\e,T4K\e(B\e0\e,TCW\e(B\e1\e,TM\e(B\e0\e,T7i\e(B\e1\e,TRB\e(B\e0\e,TJX\e(B\e1\e,T4"M'K\e(B\e0\e,T9i\e(B\e1\e,TR(M\e(B, \e0\e,T"i\e(B\e1\e,TM$GRA\e(B\e0\e,T6Q\e(B\e1\e,T4(R!:CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,T7Uh\e(B\e1\e,TM\e(B\e0\e,TBYh\e(B\e1\e0\e,T7Uh\e(B\e1
-\e,T"M:\e(B\e0\e,T9Qi\e(B\e1\e,T9(P"\e(B\e0\e,TBQ\e(B\e1\e,T:`\e(B\e0\e,T"i\e(B\e1\e,TRAR;CR!/M\e(B\e0\e,TBYh\e(B\e1\e,T:9K\e(B\e0\e,T9i\e(B\e1\e,TR(M\e(B. \e0\e,T9Uh\e(B\e1\e,T`\e(B\e0\e,TCU\e(B\e1\e,TB!\e(B\e0\e,TGh\e(B\e1\e,TR\e(B "\e,T!RC`$\e(B\e0\e,TEWh\e(B\e1\e,TM9\e(B\e0\e,TAi\e(B\e1\e,TG9\e(B (scrolling)". \e0\e,T9Uh\e(B\e1
-\e,T`\e(B\e0\e,T;g\e(B\e1\e,T9!RC7Sc\e(B\e0\e,TKi\e(B\e1\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,TJRARC6`$\e(B\e0\e,TEWh\e(B\e1\e,TM9`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1\e,Td;\e(B\e0\e,TBQ\e(B\e1\e,T'5SaK\e(B\e0\e,T9h\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e0\e,T5i\e(B\e1\e,TM'!RC:9\e(B\e0\e,T"i\e(B\e1\e,TM$GRAd\e(B\e0\e,T4i\e(B\e1\e,Tb4B\e(B
-\e,Td\e(B\e0\e,TAh\e(B\e1\e,T`$\e(B\e0\e,TEWh\e(B\e1\e,TM9MM!9M!K\e(B\e0\e,T9i\e(B\e1\e,TR(M\e(B.
+\e,T`\e0AWh\e1M\e07h\e1R9`$\e0EWh\e1M9\e0<h\e1R95SaK\e09h\e1':9\e0JX\e14K\e0CW\e1M\e07i\e1RB\e0JX\e14"M'K\e09i\e1R(M\e(B, \e0\e,T"i\e1M$GRA\e06Q\e14(R!:CC\e07Q\e14\e07Uh\e1M\e0BYh\e1\e07Uh\e1\e(B
+\e,T"M:\e09Qi\e19(P"\e0BQ\e1:`\e0"i\e1RAR;CR!/M\e0BYh\e1:9K\e09i\e1R(M\e(B. \e0\e,T9Uh\e1`\e0CU\e1B!\e0Gh\e1R\e(B "\e,T!RC`$\e0EWh\e1M9\e0Ai\e1G9\e(B (scrolling)". \e0\e,T9Uh\e1\e(B
+\e,T`\e0;g\e19!RC7Sc\e0Ki\e1\e0MU\e1aA!\e0Jl\e1JRARC6`$\e0EWh\e1M9`$M\e0Cl\e1`+M\e0Cl\e1d;\e0BQ\e1'5SaK\e09h\e1'\e07Uh\e1\e05i\e1M'!RC:9\e0"i\e1M$GRAd\e04i\e1b4B\e(B
+\e,Td\e0Ah\e1`$\e0EWh\e1M9MM!9M!K\e09i\e1R(M\e(B.
 
->> \e,TEM'`$\e(B\e0\e,TEWh\e(B\e1\e,TM9`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1\e,TE'MM!d;9M!K\e(B\e0\e,T9i\e(B\e1\e,TR(Mb4Bc\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-n, \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG\e(B\e0\e,T4Y\e(B\e1\e0\e,TGh\e(B\e1\e,TR\e(B\e0\e,TAU\e(B\e1\e,TMPdC`\e(B\e0\e,T!T\e(B\e1\e,T4\e(B\e0\e,T"Vi\e(B\e1\e,T9\e(B.
+>> \e,TEM'`$\e0EWh\e1M9`$M\e0Cl\e1`+M\e0Cl\e1E'MM!d;9M!K\e09i\e1R(Mb4Bc\e0*i\e1$S\e0JQh\e1'\e(B C-n, \e,Ta\e0Ei\e1G\e04Y\e1\e0Gh\e1R\e0AU\e1MPdC`\e0!T\e14\e0"Vi\e19\e(B.
 
-\e0\e,T6i\e(B\e1\e,TR`$\e(B\e0\e,TEWh\e(B\e1\e,TM9\e(B\e0\e,T7U\e(B\e1\e,TEP\e(B\e0\e,T5Q\e(B\e1\e,TG\e(B\e0\e,TMQ\e(B\e1\e,T!IC\e(B\e0\e,T9Qi\e(B\e1\e,T9\e(B\e0\e,T*i\e(B\e1\e,TRd;\e(B, \e0\e,T7h\e(B\e1\e,TR9\e(B\e0\e,T!g\e(B\e1\e,TJRARC6(P`$\e(B\e0\e,TEWh\e(B\e1\e,TM9d\e(B\e0\e,T4i\e(B\e1\e0\e,T7U\e(B\e1\e,TEP$S\e(B. \e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B M-f (META-f)
-\e,Tc\e(B\e0\e,T*i\e(B\e1\e,Tc9!RC`$\e(B\e0\e,TEWh\e(B\e1\e,TM9d;\e(B\e0\e,TBQ\e(B\e1\e,T'$S\e(B\e0\e,T7Uh\e(B\e1\e,TM\e(B\e0\e,TBYh\e(B\e1\e0\e,T6Q\e(B\e1\e,T4d;\e(B \e,TaEP\e(B M-b \e,Tc\e(B\e0\e,T*i\e(B\e1\e,Tc9!RC`$\e(B\e0\e,TEWh\e(B\e1\e,TM9d;\e(B\e0\e,TBQ\e(B\e1\e,T'$S\e(B\e0\e,T7Uh\e(B\e1\e,TM\e(B\e0\e,TBYh\e(B\e1\e0\e,T!h\e(B\e1\e,TM9K\e(B\e0\e,T9i\e(B\e1\e,TR\e(B.
+\e0\e,T6i\e1R`$\e0EWh\e1M9\e07U\e1EP\e05Q\e1G\e0MQ\e1!IC\e09Qi\e19\e0*i\e1Rd;\e(B, \e0\e,T7h\e1R9\e0!g\e1JRARC6(P`$\e0EWh\e1M9d\e04i\e1\e07U\e1EP$S\e(B. \e,T$S\e0JQh\e1'\e(B M-f (META-f)
+\e,Tc\e0*i\e1c9!RC`$\e0EWh\e1M9d;\e0BQ\e1'$S\e07Uh\e1M\e0BYh\e1\e06Q\e14d;\e(B \e,TaEP\e(B M-b \e,Tc\e0*i\e1c9!RC`$\e0EWh\e1M9d;\e0BQ\e1'$S\e07Uh\e1M\e0BYh\e1\e0!h\e1M9K\e09i\e1R\e(B.
 
->> \e,TEM'c\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B M-f \e,TaEP\e(B M-b \e0\e,T4Y\e(B\e1\e0\e,TJQ\e(B\e1\e,T!JM'JRA$\e(B\e0\e,TCQi\e(B\e1\e,T'\e(B.
+>> \e,TEM'c\e0*i\e1$S\e0JQh\e1'\e(B M-f \e,TaEP\e(B M-b \e0\e,T4Y\e1\e0JQ\e1!JM'JRA$\e0CQi\e1'\e(B.
 
-\e,T`\e(B\e0\e,TAWh\e(B\e1\e,TM\e(B\e0\e,T7h\e(B\e1\e,TR9M\e(B\e0\e,TBYh\e(B\e1\e0\e,T7Uh\e(B\e1\e,T5SaK\e(B\e0\e,T9h\e(B\e1\e,T'!ER'"M'$S\e(B, \e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B M-f \e,T(Pc\e(B\e0\e,T*i\e(B\e1\e,T`$\e(B\e0\e,TEWh\e(B\e1\e,TM9d;\e(B\e0\e,TBQ\e(B\e1\e,T'5SaK\e(B\e0\e,T9h\e(B\e1\e,T'\e(B\e0\e,T7i\e(B\e1\e,TRB"M'$S\e(B\e0\e,T9Qi\e(B\e1\e,T9\e(B. \e,T`\e(B\e0\e,TAWh\e(B\e1\e,TM\e(B
-\e0\e,T7h\e(B\e1\e,TR9M\e(B\e0\e,TBYh\e(B\e1\e0\e,T7Uh\e(B\e1\e,T5SaK\e(B\e0\e,T9h\e(B\e1\e,T'`\e(B\e0\e,TGi\e(B\e1\e,T9GCC$CPK\e(B\e0\e,TGh\e(B\e1\e,TR'$S\e(B, \e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B M-f \e,T(Pc\e(B\e0\e,T*i\e(B\e1\e,T`$\e(B\e0\e,TEWh\e(B\e1\e,TM9d;\e(B\e0\e,TBQ\e(B\e1\e,T'5SaK\e(B\e0\e,T9h\e(B\e1\e,T'\e(B\e0\e,T7i\e(B\e1\e,TRB"M'$S\e(B
-\e0\e,T7Uh\e(B\e1\e,TM\e(B\e0\e,TBYh\e(B\e1\e0\e,T6Q\e(B\e1\e,T4d;\e(B. \e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B M-b \e,T7SK\e(B\e0\e,T9i\e(B\e1\e,TR\e(B\e0\e,T7Uh\e(B\e1\e,T7S9M'`\e(B\e0\e,T4U\e(B\e1\e,TBG\e(B\e0\e,T!Q\e(B\e1\e,T9\e(B \e,Ta\e(B\e0\e,T5h\e(B\e1\e,T`$\e(B\e0\e,TEWh\e(B\e1\e,TM9d;c9\e(B\e0\e,T7T\e(B\e1\e,TH7R'5C'\e(B\e0\e,T!Q\e(B\e1\e,T9\e(B\e0\e,T"i\e(B\e1\e,TRA\e(B.
+\e,T`\e0AWh\e1M\e07h\e1R9M\e0BYh\e1\e07Uh\e15SaK\e09h\e1'!ER'"M'$S\e(B, \e,T$S\e0JQh\e1'\e(B M-f \e,T(Pc\e0*i\e1`$\e0EWh\e1M9d;\e0BQ\e1'5SaK\e09h\e1'\e07i\e1RB"M'$S\e09Qi\e19\e(B. \e,T`\e0AWh\e1M\e(B
+\e0\e,T7h\e1R9M\e0BYh\e1\e07Uh\e15SaK\e09h\e1'`\e0Gi\e19GCC$CPK\e0Gh\e1R'$S\e(B, \e,T$S\e0JQh\e1'\e(B M-f \e,T(Pc\e0*i\e1`$\e0EWh\e1M9d;\e0BQ\e1'5SaK\e09h\e1'\e07i\e1RB"M'$S\e(B
+\e0\e,T7Uh\e1M\e0BYh\e1\e06Q\e14d;\e(B. \e,T$S\e0JQh\e1'\e(B M-b \e,T7SK\e09i\e1R\e07Uh\e17S9M'`\e04U\e1BG\e0!Q\e19\e(B \e,Ta\e05h\e1`$\e0EWh\e1M9d;c9\e07T\e1H7R'5C'\e0!Q\e19\e0"i\e1RA\e(B.
 
-\e,TKARB`K\e(B\e0\e,T5X\e(B\e1: \e,T`\e(B\e0\e,T9Wh\e(B\e1\e,TM'(R!@RIRd7Bd\e(B\e0\e,TAh\e(B\e1\e0\e,TAU\e(B\e1\e,T!RCc\e(B\e0\e,T*i\e(B\e1\e0\e,TMQ\e(B\e1\e,T!"CP`\e(B\e0\e,TGi\e(B\e1\e,T9GCC$\e(B (whitespace) \e,Tc9!RCaJ4'\e(B
-        \e,T"M:`"5"M'$S\e(B, \e,T)P\e(B\e0\e,T9Qi\e(B\e1\e,T9`\e(B\e0\e,TAWh\e(B\e1\e,TMM\e(B\e0\e,TBYh\e(B\e1\e,Tc9bKA4@RIRd7B\e(B (ThaiText mode) \e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1
-        \e,T(P7S!RC!S\e(B\e0\e,T!Q\e(B\e1\e,T:"M:`"5"M'$Sb4BMR\e(B\e0\e,THQ\e(B\e1\e,TBb;Ca!CA\e(B\e0\e,T5Q\e(B\e1\e,T4$S\e(B. \e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B M-f \e,TaEP\e(B M-b 
-        \e0\e,T(V\e(B\e1\e,T'(P7S'R9d\e(B\e0\e,T4i\e(B\e1, \e,Ta\e(B\e0\e,T5h\e(B\e1\e,T(Pc\e(B\e0\e,TKi\e(B\e1\e,T<E\e(B\e0\e,T5h\e(B\e1\e,TR'd;`\e(B\e0\e,TEg\e(B\e1\e,T!\e(B\e0\e,T9i\e(B\e1\e,TMB\e(B. \e,T!\e(B\e0\e,TEh\e(B\e1\e,TRG\e(B\e0\e,T$W\e(B\e1\e,TM\e(B:
+\e,TKARB`K\e05X\e1\e(B: \e,T`\e09Wh\e1M'(R!@RIRd7Bd\e0Ah\e1\e0AU\e1!RCc\e0*i\e1\e0MQ\e1!"CP`\e0Gi\e19GCC$\e(B (whitespace) \e,Tc9!RCaJ4'\e(B
+        \e,T"M:`"5"M'$S\e(B, \e,T)P\e09Qi\e19`\e0AWh\e1MM\e0BYh\e1c9bKA4@RIRd7B\e(B (ThaiText mode) \e0\e,TMU\e1aA!\e0Jl\e1\e(B
+        \e,T(P7S!RC!S\e0!Q\e1:"M:`"5"M'$Sb4BMR\e0HQ\e1Bb;Ca!CA\e05Q\e14$S\e(B. \e,T$S\e0JQh\e1'\e(B M-f \e,TaEP\e(B M-b
+        \e0\e,T(V\e1'(P7S'R9d\e04i\e1\e(B, \e,Ta\e05h\e1(Pc\e0Ki\e1<E\e05h\e1R'd;`\e0Eg\e1!\e09i\e1MB\e(B. \e,T!\e0Eh\e1RG\e0$W\e1M\e(B:
 
-        \e,Td\e(B\e0\e,TAh\e(B\e1\e0\e,TGh\e(B\e1\e,TR\e(B\e0\e,T7h\e(B\e1\e,TR9M\e(B\e0\e,TBYh\e(B\e1\e0\e,T7Uh\e(B\e1\e,T5SaK\e(B\e0\e,T9h\e(B\e1\e,T'!ER'K\e(B\e0\e,TCW\e(B\e1\e,TM5SaK\e(B\e0\e,T9h\e(B\e1\e,T'`\e(B\e0\e,TCTh\e(B\e1\e,TA\e(B\e0\e,T5i\e(B\e1\e,T9"M'$S\e(B\e0\e,T!g\e(B\e1\e,T5RA\e(B, \e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B M-f \e,T(Pc\e(B\e0\e,T*i\e(B\e1
-        \e,T`$\e(B\e0\e,TEWh\e(B\e1\e,TM9d;\e(B\e0\e,TBQ\e(B\e1\e,T'5SaK\e(B\e0\e,T9h\e(B\e1\e,T'`\e(B\e0\e,TCTh\e(B\e1\e,TA\e(B\e0\e,T5i\e(B\e1\e,T9"M'$S\e(B\e0\e,T6Q\e(B\e1\e,T4d;c9!C\e(B\e0\e,T3U\e(B\e1\e0\e,T7Uh\e(B\e1\e,T$S\e(B\e0\e,T9Qi\e(B\e1\e,T9d\e(B\e0\e,TAh\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1\e,T`\e(B\e0\e,T;g\e(B\e1\e,T9$S\e(B\e0\e,TJX\e(B\e1\e,T4\e(B\e0\e,T7i\e(B\e1\e,TRB"M'\e(B
-        \e,T:CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B. \e0\e,T6i\e(B\e1\e,TR$S\e(B\e0\e,T9Qi\e(B\e1\e,T9`\e(B\e0\e,T;g\e(B\e1\e,T9$S\e(B\e0\e,TJX\e(B\e1\e,T4\e(B\e0\e,T7i\e(B\e1\e,TRB"M':CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B, \e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B M-f \e,T(Pc\e(B\e0\e,T*i\e(B\e1\e,T`$\e(B\e0\e,TEWh\e(B\e1\e,TM9d;\e(B\e0\e,TBQ\e(B\e1\e,T'\e(B
-        \e,T5SaK\e(B\e0\e,T9h\e(B\e1\e,T'\e(B\e0\e,T7i\e(B\e1\e,TRB"M'$S\e(B\e0\e,T9Qi\e(B\e1\e,T9\e(B.
+        \e,Td\e0Ah\e1\e0Gh\e1R\e07h\e1R9M\e0BYh\e1\e07Uh\e15SaK\e09h\e1'!ER'K\e0CW\e1M5SaK\e09h\e1'`\e0CTh\e1A\e05i\e19"M'$S\e0!g\e15RA\e(B, \e,T$S\e0JQh\e1'\e(B M-f \e,T(Pc\e0*i\e1\e(B
+        \e,T`$\e0EWh\e1M9d;\e0BQ\e1'5SaK\e09h\e1'`\e0CTh\e1A\e05i\e19"M'$S\e06Q\e14d;c9!C\e03U\e1\e07Uh\e1$S\e09Qi\e19d\e0Ah\e1d\e04i\e1`\e0;g\e19$S\e0JX\e14\e07i\e1RB"M'\e(B
+        \e,T:CC\e07Q\e14\e(B. \e0\e,T6i\e1R$S\e09Qi\e19`\e0;g\e19$S\e0JX\e14\e07i\e1RB"M':CC\e07Q\e14\e(B, \e,T$S\e0JQh\e1'\e(B M-f \e,T(Pc\e0*i\e1`$\e0EWh\e1M9d;\e0BQ\e1'\e(B
+        \e,T5SaK\e09h\e1'\e07i\e1RB"M'$S\e09Qi\e19\e(B.
 
->> \e,TEM'c\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B M-f \e,TaEP\e(B M-b \e0\e,T4Y\e(B\e1, \e,Tb4B;P;9\e(B\e0\e,T!Q\e(B\e1\e,T:$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-f \e,TaEP\e(B C-b, \e0\e,T7h\e(B\e1\e,TR9(P\e(B\e0\e,TJQ\e(B\e1\e,T'`!5\e(B
-   \e,T`\e(B\e0\e,TKg\e(B\e1\e,T9!RC7S'R9"M'$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B M-f \e,TaEP\e(B M-b \e,Tc95SaK\e(B\e0\e,T9h\e(B\e1\e,T'\e(B\e0\e,T5h\e(B\e1\e,TR'f\e(B \e0\e,T7Qi\e(B\e1\e,T'c9$SaEPCPK\e(B\e0\e,TGh\e(B\e1\e,TR'$S\e(B.
+>> \e,TEM'c\e0*i\e1$S\e0JQh\e1'\e(B M-f \e,TaEP\e(B M-b \e0\e,T4Y\e1\e(B, \e,Tb4B;P;9\e0!Q\e1:$S\e0JQh\e1'\e(B C-f \e,TaEP\e(B C-b, \e0\e,T7h\e1R9(P\e0JQ\e1'`!5\e(B
+   \e,T`\e0Kg\e19!RC7S'R9"M'$S\e0JQh\e1'\e(B M-f \e,TaEP\e(B M-b \e,Tc95SaK\e09h\e1'\e05h\e1R'f\e(B \e0\e,T7Qi\e1'c9$SaEPCPK\e0Gh\e1R'$S\e(B.
 
-\e0\e,T7h\e(B\e1\e,TR9JRARC6\e(B\e0\e,TJQ\e(B\e1\e,T'`!5d\e(B\e0\e,T4i\e(B\e1\e0\e,TGh\e(B\e1\e,TR$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-f \e,TaEP\e(B C-b \e0\e,T9Qi\e(B\e1\e,T97SK\e(B\e0\e,T9i\e(B\e1\e,TR\e(B\e0\e,T7Uh\e(B\e1\e,Tc9\e(B\e0\e,TEQ\e(B\e1\e,T!I3P`\e(B\e0\e,T4U\e(B\e1\e,TBG\e(B\e0\e,T!Q\e(B\e1\e,T:$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B M-f 
-\e,TaEP\e(B M-b, \e,Ta\e(B\e0\e,T5h\e(B\e1\e,TM\e(B\e0\e,TBYh\e(B\e1\e,T:9`!3\e(B\e0\e,T1l\e(B\e1\e0\e,T7Uh\e(B\e1\e0\e,T5h\e(B\e1\e,TR'\e(B\e0\e,T!Q\e(B\e1\e,T9\e(B. \e0\e,TJh\e(B\e1\e,TG9AR!\e(B \e0\e,T;Xh\e(B\e1\e,TA\e(B META \e,T(P\e(B\e0\e,T6Y\e(B\e1\e,T!!SK94c\e(B\e0\e,TKi\e(B\e1\e,Tc\e(B\e0\e,T*i\e(B\e1\e0\e,T!Q\e(B\e1\e,T:!RC7S'R9c9\e(B
-\e,TCP\e(B\e0\e,T4Q\e(B\e1\e,T:\e(B\e0\e,T7Uh\e(B\e1\e,T`\e(B\e0\e,T!Uh\e(B\e1\e,TBG\e(B\e0\e,T"i\e(B\e1\e,TM'\e(B\e0\e,T!Q\e(B\e1\e,T:K\e(B\e0\e,T9h\e(B\e1\e,TGB\e(B\e0\e,T7Uh\e(B\e1\e,T!SK94\e(B\e0\e,T"Vi\e(B\e1\e,T97R'@RIR\e(B (\e,T`\e(B\e0\e,T*h\e(B\e1\e,T9\e(B \e,T$S\e(B, \e,T;CPbB$\e(B, \e0\e,TBh\e(B\e1\e,TMK\e(B\e0\e,T9i\e(B\e1\e,TR\e(B, \e,T`\e(B\e0\e,T;g\e(B\e1\e,T9\e(B\e0\e,T5i\e(B\e1\e,T9\e(B), 
-\e,T"3P\e(B\e0\e,T7Uh\e(B\e1\e0\e,T;Xh\e(B\e1\e,TA\e(B CONTROL \e0\e,T9Qi\e(B\e1\e,T9\e(B\e0\e,TAQ\e(B\e1\e,T!(P\e(B\e0\e,T6Y\e(B\e1\e,T!!SK94c\e(B\e0\e,TKi\e(B\e1\e,Tc\e(B\e0\e,T*i\e(B\e1\e0\e,T!Q\e(B\e1\e,T:!RC7S'R9c9CP\e(B\e0\e,T4Q\e(B\e1\e,T:\e(B\e0\e,T7Uh\e(B\e1\e,T`\e(B\e0\e,T!Uh\e(B\e1\e,TBG\e(B\e0\e,T"i\e(B\e1\e,TM'\e(B\e0\e,T!Q\e(B\e1\e,T:K\e(B\e0\e,T9h\e(B\e1\e,TGB\e(B\e0\e,TBh\e(B\e1\e,TMB\e(B
-\e0\e,TMT\e(B\e1\e,TJCP\e(B\e0\e,T7Uh\e(B\e1\e,T7S!RCa\e(B\e0\e,T!i\e(B\e1\e,Td"d\e(B\e0\e,T4i\e(B\e1 (\e,T`\e(B\e0\e,T*h\e(B\e1\e,T9\e(B \e0\e,T5Q\e(B\e1\e,TG\e(B\e0\e,TMQ\e(B\e1\e,T!IC\e(B, \e,T:CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B, \e,T`\e(B\e0\e,T;g\e(B\e1\e,T9\e(B\e0\e,T5i\e(B\e1\e,T9\e(B).
+\e0\e,T7h\e1R9JRARC6\e0JQ\e1'`!5d\e04i\e1\e0Gh\e1R$S\e0JQh\e1'\e(B C-f \e,TaEP\e(B C-b \e0\e,T9Qi\e197SK\e09i\e1R\e07Uh\e1c9\e0EQ\e1!I3P`\e04U\e1BG\e0!Q\e1:$S\e0JQh\e1'\e(B M-f
+\e,TaEP\e(B M-b, \e,Ta\e05h\e1M\e0BYh\e1:9`!3\e01l\e1\e07Uh\e1\e05h\e1R'\e0!Q\e19\e(B. \e0\e,TJh\e1G9AR!\e(B \e0\e,T;Xh\e1A\e(B META \e,T(P\e06Y\e1!!SK94c\e0Ki\e1c\e0*i\e1\e0!Q\e1:!RC7S'R9c9\e(B
+\e,TCP\e04Q\e1:\e07Uh\e1`\e0!Uh\e1BG\e0"i\e1M'\e0!Q\e1:K\e09h\e1GB\e07Uh\e1!SK94\e0"Vi\e197R'@RIR\e(B (\e,T`\e0*h\e19\e(B \e,T$S\e(B, \e,T;CPbB$\e(B, \e0\e,TBh\e1MK\e09i\e1R\e(B, \e,T`\e0;g\e19\e05i\e19\e(B),
+\e,T"3P\e07Uh\e1\e0;Xh\e1A\e(B CONTROL \e0\e,T9Qi\e19\e0AQ\e1!(P\e06Y\e1!!SK94c\e0Ki\e1c\e0*i\e1\e0!Q\e1:!RC7S'R9c9CP\e04Q\e1:\e07Uh\e1`\e0!Uh\e1BG\e0"i\e1M'\e0!Q\e1:K\e09h\e1GB\e0Bh\e1MB\e(B
+\e0\e,TMT\e1JCP\e07Uh\e17S!RCa\e0!i\e1d"d\e04i\e1\e(B (\e,T`\e0*h\e19\e(B \e0\e,T5Q\e1G\e0MQ\e1!IC\e(B, \e,T:CC\e07Q\e14\e(B, \e,T`\e0;g\e19\e05i\e19\e(B).
 
-\e,T!RC7S'R9c97S9M'`\e(B\e0\e,T4U\e(B\e1\e,TBG\e(B\e0\e,T!Q\e(B\e1\e,T9JSK\e(B\e0\e,TCQ\e(B\e1\e,T::CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,T!Q\e(B\e1\e,T:;CPbB$\e(B: \e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-a \e,TaEP\e(B C-e \e,Tc\e(B\e0\e,T*i\e(B\e1\e,T`$\e(B\e0\e,TEWh\e(B\e1\e,TM9\e(B
-\e,Td;\e(B\e0\e,TBQ\e(B\e1\e,T'5SaK\e(B\e0\e,T9h\e(B\e1\e,T'`\e(B\e0\e,TCTh\e(B\e1\e,TA\e(B\e0\e,T5i\e(B\e1\e,T9aEP\e(B\e0\e,T7i\e(B\e1\e,TRB"M':CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B, \e,T"3P`\e(B\e0\e,T4U\e(B\e1\e,TBG\e(B\e0\e,T!Q\e(B\e1\e,T9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B M-a \e,TaEP\e(B M-e \e,Tc\e(B\e0\e,T*i\e(B\e1\e,T`$\e(B\e0\e,TEWh\e(B\e1\e,TM9\e(B
-\e,Td;\e(B\e0\e,TBQ\e(B\e1\e,T'5SaK\e(B\e0\e,T9h\e(B\e1\e,T'`\e(B\e0\e,TCTh\e(B\e1\e,TA\e(B\e0\e,T5i\e(B\e1\e,T9aEP\e(B\e0\e,T7i\e(B\e1\e,TRB"M';CPbB$\e(B.
+\e,T!RC7S'R9c97S9M'`\e04U\e1BG\e0!Q\e19JSK\e0CQ\e1::CC\e07Q\e14\e0!Q\e1:;CPbB$\e(B: \e,T$S\e0JQh\e1'\e(B C-a \e,TaEP\e(B C-e \e,Tc\e0*i\e1`$\e0EWh\e1M9\e(B
+\e,Td;\e0BQ\e1'5SaK\e09h\e1'`\e0CTh\e1A\e05i\e19aEP\e07i\e1RB"M':CC\e07Q\e14\e(B, \e,T"3P`\e04U\e1BG\e0!Q\e19$S\e0JQh\e1'\e(B M-a \e,TaEP\e(B M-e \e,Tc\e0*i\e1`$\e0EWh\e1M9\e(B
+\e,Td;\e0BQ\e1'5SaK\e09h\e1'`\e0CTh\e1A\e05i\e19aEP\e07i\e1RB"M';CPbB$\e(B.
 
-\e,TKARB`K\e(B\e0\e,T5X\e(B\e1: \e,T`\e(B\e0\e,T9Wh\e(B\e1\e,TM'(R!@RIRd7Bd\e(B\e0\e,TAh\e(B\e1\e0\e,T9T\e(B\e1\e,TBAc\e(B\e0\e,T*i\e(B\e1\e0\e,TMQ\e(B\e1\e,T!"CPA\e(B\e0\e,TKQ\e(B\e1\e,T>@R$\e(B (period) \e,Tc9!RCaJ4'\e(B\e0\e,T(X\e(B\e1\e,T4\e(B\e0\e,TJTi\e(B\e1\e,T9\e(B\e0\e,TJX\e(B\e1\e,T4"M'\e(B
-        \e,T;CPbB$\e(B, \e,T7Sc\e(B\e0\e,TKi\e(B\e1\e,Td\e(B\e0\e,TAh\e(B\e1\e,TJRARC6!SK94"M:`"5"M';CPbB$c\e(B\e0\e,TKi\e(B\e1\e0\e,T6Y\e(B\e1\e,T!\e(B\e0\e,T5i\e(B\e1\e,TM'd\e(B\e0\e,T4i\e(B\e1. \e0\e,T4Q\e(B\e1\e,T'\e(B\e0\e,T9Qi\e(B\e1\e,T9`\e(B\e0\e,TAWh\e(B\e1\e,TM\e(B
-        \e,TM\e(B\e0\e,TBYh\e(B\e1\e,Tc9bKA4@RIRd7B\e(B (ThaiText mode), \e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B M-a \e,TaEP\e(B M-e \e,T(P`$\e(B\e0\e,TEWh\e(B\e1\e,TM9\e(B
-        \e,T`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1\e,Td;\e(B\e0\e,TBQ\e(B\e1\e,T'5SaK\e(B\e0\e,T9h\e(B\e1\e,T'`\e(B\e0\e,TCTh\e(B\e1\e,TA\e(B\e0\e,T5i\e(B\e1\e,T9"M'\e(B\e0\e,TBh\e(B\e1\e,TMK\e(B\e0\e,T9i\e(B\e1\e,TR\e(B \e,TaEP5SaK\e(B\e0\e,T9h\e(B\e1\e,T'\e(B\e0\e,T7i\e(B\e1\e,TRB\e(B\e0\e,TJX\e(B\e1\e,T4"M'\e(B\e0\e,TBh\e(B\e1\e,TMK\e(B\e0\e,T9i\e(B\e1\e,TR\e(B
-        \e,T5RAES\e(B\e0\e,T4Q\e(B\e1\e,T:\e(B. \e,TB!`\e(B\e0\e,TGi\e(B\e1\e,T9!C\e(B\e0\e,T3U\e(B\e1\e0\e,T7Uh\e(B\e1\e0\e,TAU\e(B\e1\e,T!RCc\e(B\e0\e,T*i\e(B\e1\e0\e,TMQ\e(B\e1\e,T!"CPA\e(B\e0\e,TKQ\e(B\e1\e,T>@R$\e(B.
+\e,TKARB`K\e05X\e1\e(B: \e,T`\e09Wh\e1M'(R!@RIRd7Bd\e0Ah\e1\e09T\e1BAc\e0*i\e1\e0MQ\e1!"CPA\e0KQ\e1>@R$\e(B (period) \e,Tc9!RCaJ4'\e0(X\e14\e0JTi\e19\e0JX\e14"M'\e(B
+        \e,T;CPbB$\e(B, \e,T7Sc\e0Ki\e1d\e0Ah\e1JRARC6!SK94"M:`"5"M';CPbB$c\e0Ki\e1\e06Y\e1!\e05i\e1M'd\e04i\e1\e(B. \e0\e,T4Q\e1'\e09Qi\e19`\e0AWh\e1M\e(B
+        \e,TM\e0BYh\e1c9bKA4@RIRd7B\e(B (ThaiText mode), \e,T$S\e0JQh\e1'\e(B M-a \e,TaEP\e(B M-e \e,T(P`$\e0EWh\e1M9\e(B
+        \e,T`$M\e0Cl\e1`+M\e0Cl\e1d;\e0BQ\e1'5SaK\e09h\e1'`\e0CTh\e1A\e05i\e19"M'\e0Bh\e1MK\e09i\e1R\e(B \e,TaEP5SaK\e09h\e1'\e07i\e1RB\e0JX\e14"M'\e0Bh\e1MK\e09i\e1R\e(B
+        \e,T5RAES\e04Q\e1:\e(B. \e,TB!`\e0Gi\e19!C\e03U\e1\e07Uh\e1\e0AU\e1!RCc\e0*i\e1\e0MQ\e1!"CPA\e0KQ\e1>@R$\e(B.
 
->> \e,TEM'c\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-a \e,TaEP\e(B C-e \e0\e,T4Y\e(B\e1\e0\e,TJQ\e(B\e1\e,T!JM'JRA$\e(B\e0\e,TCQi\e(B\e1\e,T'\e(B.
-   \e,TEM'c\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B M-a \e,TaEP\e(B M-e \e0\e,T4Y\e(B\e1\e0\e,TJQ\e(B\e1\e,T!JM'JRA$\e(B\e0\e,TCQi\e(B\e1\e,T'\e(B.
+>> \e,TEM'c\e0*i\e1$S\e0JQh\e1'\e(B C-a \e,TaEP\e(B C-e \e0\e,T4Y\e1\e0JQ\e1!JM'JRA$\e0CQi\e1'\e(B.
+   \e,TEM'c\e0*i\e1$S\e0JQh\e1'\e(B M-a \e,TaEP\e(B M-e \e0\e,T4Y\e1\e0JQ\e1!JM'JRA$\e0CQi\e1'\e(B.
 
-\e0\e,TJQ\e(B\e1\e,T'`!5\e(B\e0\e,T4Y\e(B\e1\e0\e,TGh\e(B\e1\e,TR!RCc\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-a \e0\e,T+i\e(B\e1\e,TSf\e(B \e0\e,T!Q\e(B\e1\e,T9(Pd\e(B\e0\e,TAh\e(B\e1\e,T`\e(B\e0\e,T!T\e(B\e1\e,T4<EMPdC\e(B, \e,Ta\e(B\e0\e,T5h\e(B\e1\e,T!RCc\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B M-a \e,T(P7Sc\e(B\e0\e,TKi\e(B\e1
-\e,T`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1\e,T`$\e(B\e0\e,TEWh\e(B\e1\e,TM9d;\e(B\e0\e,T7U\e(B\e1\e,TEP;CPbB$\e(B. \e,Ta\e(B\e0\e,TAi\e(B\e1\e0\e,TGh\e(B\e1\e,TR!RC`$\e(B\e0\e,TEWh\e(B\e1\e,TM9`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1\e,T"M'\e(B\e0\e,T7Qi\e(B\e1\e,T'JM'a::\e(B\e0\e,T9Ui\e(B\e1\e,T(Pd\e(B\e0\e,TAh\e(B\e1
-\e,T$\e(B\e0\e,TEi\e(B\e1\e,TRB\e(B\e0\e,T!Q\e(B\e1\e,T9`EB\e(B\e0\e,T7U\e(B\e1\e,T`\e(B\e0\e,T4U\e(B\e1\e,TBG\e(B, \e,Ta\e(B\e0\e,T5h\e(B\e1\e0\e,T!g\e(B\e1\e0\e,T4Y\e(B\e1\e,T`\e(B\e0\e,T;g\e(B\e1\e,T98CCA*R\e(B\e0\e,T5T\e(B\e1\e0\e,T4U\e(B\e1.
+\e0\e,TJQ\e1'`!5\e04Y\e1\e0Gh\e1R!RCc\e0*i\e1$S\e0JQh\e1'\e(B C-a \e0\e,T+i\e1Sf\e(B \e0\e,T!Q\e19(Pd\e0Ah\e1`\e0!T\e14<EMPdC\e(B, \e,Ta\e05h\e1!RCc\e0*i\e1$S\e0JQh\e1'\e(B M-a \e,T(P7Sc\e0Ki\e1\e(B
+\e,T`$M\e0Cl\e1`+M\e0Cl\e1`$\e0EWh\e1M9d;\e07U\e1EP;CPbB$\e(B. \e,Ta\e0Ai\e1\e0Gh\e1R!RC`$\e0EWh\e1M9`$M\e0Cl\e1`+M\e0Cl\e1"M'\e07Qi\e1'JM'a::\e09Ui\e1(Pd\e0Ah\e1\e(B
+\e,T$\e0Ei\e1RB\e0!Q\e19`EB\e07U\e1`\e04U\e1BG\e(B, \e,Ta\e05h\e1\e0!g\e1\e04Y\e1`\e0;g\e198CCA*R\e05T\e1\e04U\e1\e(B.
 
-\e,T:R'$\e(B\e0\e,TCQi\e(B\e1\e,T'`CR\e(B\e0\e,T!g\e(B\e1\e,T`\e(B\e0\e,TCU\e(B\e1\e,TB!5SaK\e(B\e0\e,T9h\e(B\e1\e,T'"M'`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1\e0\e,TGh\e(B\e1\e,TR\e(B "\e0\e,T(X\e(B\e1\e,T4\e(B (point)". \e,T!\e(B\e0\e,TEh\e(B\e1\e,TRG\e(B\e0\e,T$W\e(B\e1\e,TM\e(B, \e,T`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1\e0\e,T7Uh\e(B\e1
-\e,T;CR!/M\e(B\e0\e,TBYh\e(B\e1\e,T:9K\e(B\e0\e,T9i\e(B\e1\e,TR(M\e(B\e0\e,T!g\e(B\e1\e0\e,T$W\e(B\e1\e,TM5SaK\e(B\e0\e,T9h\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e0\e,T(X\e(B\e1\e,T4;CR!/M\e(B\e0\e,TBYh\e(B\e1\e,T:9\e(B\e0\e,T"i\e(B\e1\e,TM$GRA\e(B\e0\e,T9Qh\e(B\e1\e,T9`M'\e(B.
+\e,T:R'$\e0CQi\e1'`CR\e0!g\e1`\e0CU\e1B!5SaK\e09h\e1'"M'`$M\e0Cl\e1`+M\e0Cl\e1\e0Gh\e1R\e(B "\e0\e,T(X\e14\e(B (point)". \e,T!\e0Eh\e1RG\e0$W\e1M\e(B, \e,T`$M\e0Cl\e1`+M\e0Cl\e1\e07Uh\e1\e(B
+\e,T;CR!/M\e0BYh\e1:9K\e09i\e1R(M\e0!g\e1\e0$W\e1M5SaK\e09h\e1'\e07Uh\e1\e0(X\e14;CR!/M\e0BYh\e1:9\e0"i\e1M$GRA\e09Qh\e19`M'\e(B.
 
-\e0\e,T5h\e(B\e1\e,TMd;\e(B\e0\e,T9Ui\e(B\e1\e,T`\e(B\e0\e,T;g\e(B\e1\e,T9J\e(B\e0\e,TCX\e(B\e1\e,T;"M'\e(B\e0\e,T*X\e(B\e1\e,T4$S\e(B\e0\e,TJQh\e(B\e1\e,T'JSK\e(B\e0\e,TCQ\e(B\e1\e,T:!RC`$\e(B\e0\e,TEWh\e(B\e1\e,TM9`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1, \e0\e,T+Vh\e(B\e1\e,T'CGA\e(B\e0\e,T6V\e(B\e1\e,T'!RC`$\e(B\e0\e,TEWh\e(B\e1\e,TM9c9CP\e(B\e0\e,T4Q\e(B\e1\e,T:$S\e(B
+\e0\e,T5h\e1Md;\e09Ui\e1`\e0;g\e19J\e0CX\e1;"M'\e0*X\e14$S\e0JQh\e1'JSK\e0CQ\e1:!RC`$\e0EWh\e1M9`$M\e0Cl\e1`+M\e0Cl\e1\e(B, \e0\e,T+Vh\e1'CGA\e06V\e1'!RC`$\e0EWh\e1M9c9CP\e04Q\e1:$S\e(B
 \e,TaEP;CPbB$\e(B:
 
-       C-f     \e,T`$\e(B\e0\e,TEWh\e(B\e1\e,TM9d;\e(B\e0\e,T"i\e(B\e1\e,TR'K\e(B\e0\e,T9i\e(B\e1\e,TRK\e(B\e0\e,T9Vh\e(B\e1\e,T'\e(B\e0\e,T5Q\e(B\e1\e,TG\e(B\e0\e,TMQ\e(B\e1\e,T!IC\e(B
-       C-b     \e,T`$\e(B\e0\e,TEWh\e(B\e1\e,TM9!\e(B\e0\e,TEQ\e(B\e1\e,T:d;K\e(B\e0\e,T9Vh\e(B\e1\e,T'\e(B\e0\e,T5Q\e(B\e1\e,TG\e(B\e0\e,TMQ\e(B\e1\e,T!IC\e(B
+       C-f     \e,T`$\e0EWh\e1M9d;\e0"i\e1R'K\e09i\e1RK\e09Vh\e1'\e05Q\e1G\e0MQ\e1!IC\e(B
+       C-b     \e,T`$\e0EWh\e1M9!\e0EQ\e1:d;K\e09Vh\e1'\e05Q\e1G\e0MQ\e1!IC\e(B
 
-       M-f     \e,T`$\e(B\e0\e,TEWh\e(B\e1\e,TM9d;\e(B\e0\e,T"i\e(B\e1\e,TR'K\e(B\e0\e,T9i\e(B\e1\e,TRK\e(B\e0\e,T9Vh\e(B\e1\e,T'$S\e(B
-       M-b     \e,T`$\e(B\e0\e,TEWh\e(B\e1\e,TM9!\e(B\e0\e,TEQ\e(B\e1\e,T:d;K\e(B\e0\e,T9Vh\e(B\e1\e,T'$S\e(B
+       M-f     \e,T`$\e0EWh\e1M9d;\e0"i\e1R'K\e09i\e1RK\e09Vh\e1'$S\e(B
+       M-b     \e,T`$\e0EWh\e1M9!\e0EQ\e1:d;K\e09Vh\e1'$S\e(B
 
-       C-n     \e,T`$\e(B\e0\e,TEWh\e(B\e1\e,TM9d;:CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,T6Q\e(B\e1\e,T4d;\e(B
-       C-p     \e,T`$\e(B\e0\e,TEWh\e(B\e1\e,TM9d;:CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,T!h\e(B\e1\e,TM9K\e(B\e0\e,T9i\e(B\e1\e,TR\e(B
+       C-n     \e,T`$\e0EWh\e1M9d;:CC\e07Q\e14\e06Q\e14d;\e(B
+       C-p     \e,T`$\e0EWh\e1M9d;:CC\e07Q\e14\e0!h\e1M9K\e09i\e1R\e(B
 
-       C-a     \e,T`$\e(B\e0\e,TEWh\e(B\e1\e,TM9d;\e(B\e0\e,TBQ\e(B\e1\e,T'5SaK\e(B\e0\e,T9h\e(B\e1\e,T'`\e(B\e0\e,TCTh\e(B\e1\e,TA\e(B\e0\e,T5i\e(B\e1\e,T9"M':CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B
-       C-e     \e,T`$\e(B\e0\e,TEWh\e(B\e1\e,TM9d;\e(B\e0\e,TBQ\e(B\e1\e,T'5SaK\e(B\e0\e,T9h\e(B\e1\e,T'\e(B\e0\e,T7i\e(B\e1\e,TRB"M':CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B
+       C-a     \e,T`$\e0EWh\e1M9d;\e0BQ\e1'5SaK\e09h\e1'`\e0CTh\e1A\e05i\e19"M':CC\e07Q\e14\e(B
+       C-e     \e,T`$\e0EWh\e1M9d;\e0BQ\e1'5SaK\e09h\e1'\e07i\e1RB"M':CC\e07Q\e14\e(B
 
-       M-a     \e,T`$\e(B\e0\e,TEWh\e(B\e1\e,TM9d;\e(B\e0\e,TBQ\e(B\e1\e,T'5SaK\e(B\e0\e,T9h\e(B\e1\e,T'`\e(B\e0\e,TCTh\e(B\e1\e,TA\e(B\e0\e,T5i\e(B\e1\e,T9"M';CPbB$\e(B
-       M-e     \e,T`$\e(B\e0\e,TEWh\e(B\e1\e,TM9d;\e(B\e0\e,TBQ\e(B\e1\e,T'5SaK\e(B\e0\e,T9h\e(B\e1\e,T'\e(B\e0\e,T7i\e(B\e1\e,TRB"M';CPbB$\e(B
+       M-a     \e,T`$\e0EWh\e1M9d;\e0BQ\e1'5SaK\e09h\e1'`\e0CTh\e1A\e05i\e19"M';CPbB$\e(B
+       M-e     \e,T`$\e0EWh\e1M9d;\e0BQ\e1'5SaK\e09h\e1'\e07i\e1RB"M';CPbB$\e(B
 
->> \e,TEM'c\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'`K\e(B\e0\e,TEh\e(B\e1\e,TR\e(B\e0\e,T9Ui\e(B\e1\e0\e,TJQ\e(B\e1\e,T!CPBP`\e(B\e0\e,T>Wh\e(B\e1\e,TM`\e(B\e0\e,T;g\e(B\e1\e,T9!RC\e(B\e0\e,T=V\e(B\e1\e,T!\e(B\e0\e,TKQ\e(B\e1\e,T4\e(B.
-   \e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'`K\e(B\e0\e,TEh\e(B\e1\e,TR\e(B\e0\e,T9Ui\e(B\e1\e,T`\e(B\e0\e,T;g\e(B\e1\e,T9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e,Tc\e(B\e0\e,T*i\e(B\e1\e0\e,T!Q\e(B\e1\e,T9\e(B\e0\e,T:h\e(B\e1\e,TMBAR!\e(B.
+>> \e,TEM'c\e0*i\e1$S\e0JQh\e1'`K\e0Eh\e1R\e09Ui\e1\e0JQ\e1!CPBP`\e0>Wh\e1M`\e0;g\e19!RC\e0=V\e1!\e0KQ\e14\e(B.
+   \e,T$S\e0JQh\e1'`K\e0Eh\e1R\e09Ui\e1`\e0;g\e19$S\e0JQh\e1'\e07Uh\e1c\e0*i\e1\e0!Q\e19\e0:h\e1MBAR!\e(B.
 
-\e0\e,TAU\e(B\e1\e0\e,TMU\e(B\e1\e,T!JM'$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e,TJS\e(B\e0\e,T$Q\e(B\e1\e,T-c9!RC`$\e(B\e0\e,TEWh\e(B\e1\e,TM95SaK\e(B\e0\e,T9h\e(B\e1\e,T'\e(B\e0\e,T$W\e(B\e1\e,TM\e(B \e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B M-< (META \e0\e,T9i\e(B\e1\e,TMB!\e(B\e0\e,TGh\e(B\e1\e,TR\e(B), \e,Tc\e(B\e0\e,T*i\e(B\e1\e,Tc9!RC\e(B
-\e,T`$\e(B\e0\e,TEWh\e(B\e1\e,TM9d;\e(B\e0\e,TBQ\e(B\e1\e,T'5SaK\e(B\e0\e,T9h\e(B\e1\e,T'`\e(B\e0\e,TCTh\e(B\e1\e,TA\e(B\e0\e,T5i\e(B\e1\e,T9"M'\e(B\e0\e,T"i\e(B\e1\e,TM$GRA\e(B, \e,TaEP\e(B M-> (META \e,TAR!!\e(B\e0\e,TGh\e(B\e1\e,TR\e(B), \e,Tc\e(B\e0\e,T*i\e(B\e1\e,Tc9!RC`$\e(B\e0\e,TEWh\e(B\e1\e,TM9\e(B
-\e,Td;\e(B\e0\e,TBQ\e(B\e1\e,T'5SaK\e(B\e0\e,T9h\e(B\e1\e,T'\e(B\e0\e,T7i\e(B\e1\e,TRB\e(B\e0\e,TJX\e(B\e1\e,T4"M'\e(B\e0\e,T"i\e(B\e1\e,TM$GRA\e(B.
+\e0\e,TAU\e1\e0MU\e1!JM'$S\e0JQh\e1'\e07Uh\e1JS\e0$Q\e1-c9!RC`$\e0EWh\e1M95SaK\e09h\e1'\e0$W\e1M\e(B \e,T$S\e0JQh\e1'\e(B M-< (META \e0\e,T9i\e1MB!\e0Gh\e1R\e(B), \e,Tc\e0*i\e1c9!RC\e(B
+\e,T`$\e0EWh\e1M9d;\e0BQ\e1'5SaK\e09h\e1'`\e0CTh\e1A\e05i\e19"M'\e0"i\e1M$GRA\e(B, \e,TaEP\e(B M-> (META \e,TAR!!\e0Gh\e1R\e(B), \e,Tc\e0*i\e1c9!RC`$\e0EWh\e1M9\e(B
+\e,Td;\e0BQ\e1'5SaK\e09h\e1'\e07i\e1RB\e0JX\e14"M'\e0"i\e1M$GRA\e(B.
 
-\e,Tc9`$\e(B\e0\e,TCWh\e(B\e1\e,TM';ERB7R'\e(B (terminal) \e0\e,TJh\e(B\e1\e,TG9cK\e(B\e0\e,T-h\e(B\e1, \e0\e,TMQ\e(B\e1\e,T!"CP\e(B "<" \e,T(PM\e(B\e0\e,TBYh\e(B\e1\e,T`K\e(B\e0\e,T9W\e(B\e1\e,TM\e(B\e0\e,TMQ\e(B\e1\e,T!"CP\e(B\e0\e,T(X\e(B\e1\e,TE@R$\e(B
-(comma), \e,T)P\e(B\e0\e,T9Qi\e(B\e1\e,T9\e(B\e0\e,T7h\e(B\e1\e,TR9\e(B\e0\e,T5i\e(B\e1\e,TM'c\e(B\e0\e,T*i\e(B\e1\e0\e,T;Xh\e(B\e1\e,TA\e(B\e0\e,T*T\e(B\e1\e,T?\e(B\e0\e,T5l\e(B\e1 (shift) \e,Tc9!RC\e(B\e0\e,T;i\e(B\e1\e,TM9\e(B\e0\e,TMQ\e(B\e1\e,T!"CP\e(B\e0\e,T9Qi\e(B\e1\e,T9\e(B. \e,TJSK\e(B\e0\e,TCQ\e(B\e1\e,T:`$\e(B\e0\e,TCWh\e(B\e1\e,TM'\e(B
-\e,T;ERB7R'a::\e(B\e0\e,T9Ui\e(B\e1, \e0\e,T7h\e(B\e1\e,TR9\e(B\e0\e,T(V\e(B\e1\e,T'\e(B\e0\e,T5i\e(B\e1\e,TM'c\e(B\e0\e,T*i\e(B\e1\e0\e,T;Xh\e(B\e1\e,TA\e(B\e0\e,T*T\e(B\e1\e,T?\e(B\e0\e,T5l\e(B\e1\e,Tc9!RC\e(B\e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B M-< \e,Tc97S9M'`\e(B\e0\e,T4U\e(B\e1\e,TBG\e(B\e0\e,T!Q\e(B\e1\e,T9\e(B, \e0\e,T6i\e(B\e1\e,TRd\e(B\e0\e,TAh\e(B\e1
-\e,T$S\e(B\e0\e,T9V\e(B\e1\e,T'\e(B\e0\e,T6V\e(B\e1\e,T'\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B\e0\e,T*T\e(B\e1\e,T?\e(B\e0\e,T5l\e(B\e1, \e0\e,T!g\e(B\e1\e,TKARB$GRA\e(B\e0\e,TGh\e(B\e1\e,TR\e(B\e0\e,T7h\e(B\e1\e,TR9!S\e(B\e0\e,TEQ\e(B\e1\e,T'\e(B\e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B M-comma.
+\e,Tc9`$\e0CWh\e1M';ERB7R'\e(B (terminal) \e0\e,TJh\e1G9cK\e0-h\e1\e(B, \e0\e,TMQ\e1!"CP\e(B "<" \e,T(PM\e0BYh\e1`K\e09W\e1M\e0MQ\e1!"CP\e0(X\e1E@R$\e(B
+(comma), \e,T)P\e09Qi\e19\e07h\e1R9\e05i\e1M'c\e0*i\e1\e0;Xh\e1A\e0*T\e1?\e05l\e1\e(B (shift) \e,Tc9!RC\e0;i\e1M9\e0MQ\e1!"CP\e09Qi\e19\e(B. \e,TJSK\e0CQ\e1:`$\e0CWh\e1M'\e(B
+\e,T;ERB7R'a::\e09Ui\e1\e(B, \e0\e,T7h\e1R9\e0(V\e1'\e05i\e1M'c\e0*i\e1\e0;Xh\e1A\e0*T\e1?\e05l\e1c9!RC\e0;i\e1M9$S\e0JQh\e1'\e(B M-< \e,Tc97S9M'`\e04U\e1BG\e0!Q\e19\e(B, \e0\e,T6i\e1Rd\e0Ah\e1\e(B
+\e,T$S\e09V\e1'\e06V\e1'\e0;Xh\e1A\e0*T\e1?\e05l\e1\e(B, \e0\e,T!g\e1KARB$GRA\e0Gh\e1R\e07h\e1R9!S\e0EQ\e1'\e0;i\e1M9$S\e0JQh\e1'\e(B M-comma.
 
->> \e,TEM'c\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B M-< \e0\e,T4Y\e(B\e1, \e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TM`$\e(B\e0\e,TEWh\e(B\e1\e,TM9d;\e(B\e0\e,TBQ\e(B\e1\e,T'5SaK\e(B\e0\e,T9h\e(B\e1\e,T'`\e(B\e0\e,TCTh\e(B\e1\e,TA\e(B\e0\e,T5i\e(B\e1\e,T9"M'\e(B\e0\e,T$Yh\e(B\e1\e0\e,TAW\e(B\e1\e,TM!RCc\e(B\e0\e,T*i\e(B\e1\e0\e,T9Ui\e(B\e1.
-   \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TGc\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-v \e0\e,T+i\e(B\e1\e,TS\e(B\e0\e,T!Q\e(B\e1\e,T9KERBf\e(B \e,T$\e(B\e0\e,TCQi\e(B\e1\e,T'`\e(B\e0\e,T>Wh\e(B\e1\e,TM\e(B\e0\e,T7Uh\e(B\e1\e,T(P`$\e(B\e0\e,TEWh\e(B\e1\e,TM9!\e(B\e0\e,TEQ\e(B\e1\e,T:AR\e(B\e0\e,TBQ\e(B\e1\e,T'5SaK\e(B\e0\e,T9h\e(B\e1\e,T'`\e(B\e0\e,T4T\e(B\e1\e,TA\e(B\e0\e,T9Ui\e(B\e1.
+>> \e,TEM'c\e0*i\e1$S\e0JQh\e1'\e(B M-< \e0\e,T4Y\e1\e(B, \e,T`\e0>Wh\e1M`$\e0EWh\e1M9d;\e0BQ\e1'5SaK\e09h\e1'`\e0CTh\e1A\e05i\e19"M'\e0$Yh\e1\e0AW\e1M!RCc\e0*i\e1\e09Ui\e1\e(B.
+   \e,Ta\e0Ei\e1Gc\e0*i\e1$S\e0JQh\e1'\e(B C-v \e0\e,T+i\e1S\e0!Q\e19KERBf\e(B \e,T$\e0CQi\e1'`\e0>Wh\e1M\e07Uh\e1(P`$\e0EWh\e1M9!\e0EQ\e1:AR\e0BQ\e1'5SaK\e09h\e1'`\e04T\e1A\e09Ui\e1\e(B.
 
->> \e,TEM'c\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B M-> \e0\e,T4Y\e(B\e1, \e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TM`$\e(B\e0\e,TEWh\e(B\e1\e,TM9d;\e(B\e0\e,TBQ\e(B\e1\e,T'5SaK\e(B\e0\e,T9h\e(B\e1\e,T'\e(B\e0\e,T7i\e(B\e1\e,TRB\e(B\e0\e,TJX\e(B\e1\e,T4"M'\e(B\e0\e,T$Yh\e(B\e1\e0\e,TAW\e(B\e1\e,TM!RCc\e(B\e0\e,T*i\e(B\e1\e0\e,T9Ui\e(B\e1.
-   \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TGc\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B M-v \e0\e,T+i\e(B\e1\e,TS\e(B\e0\e,T!Q\e(B\e1\e,T9KERBf\e(B \e,T$\e(B\e0\e,TCQi\e(B\e1\e,T'`\e(B\e0\e,T>Wh\e(B\e1\e,TM\e(B\e0\e,T7Uh\e(B\e1\e,T(P`$\e(B\e0\e,TEWh\e(B\e1\e,TM9!\e(B\e0\e,TEQ\e(B\e1\e,T:AR\e(B\e0\e,TBQ\e(B\e1\e,T'5SaK\e(B\e0\e,T9h\e(B\e1\e,T'`\e(B\e0\e,T4T\e(B\e1\e,TA\e(B\e0\e,T9Ui\e(B\e1.
+>> \e,TEM'c\e0*i\e1$S\e0JQh\e1'\e(B M-> \e0\e,T4Y\e1\e(B, \e,T`\e0>Wh\e1M`$\e0EWh\e1M9d;\e0BQ\e1'5SaK\e09h\e1'\e07i\e1RB\e0JX\e14"M'\e0$Yh\e1\e0AW\e1M!RCc\e0*i\e1\e09Ui\e1\e(B.
+   \e,Ta\e0Ei\e1Gc\e0*i\e1$S\e0JQh\e1'\e(B M-v \e0\e,T+i\e1S\e0!Q\e19KERBf\e(B \e,T$\e0CQi\e1'`\e0>Wh\e1M\e07Uh\e1(P`$\e0EWh\e1M9!\e0EQ\e1:AR\e0BQ\e1'5SaK\e09h\e1'`\e04T\e1A\e09Ui\e1\e(B.
 
-\e0\e,T7h\e(B\e1\e,TR9JRARC6`$\e(B\e0\e,TEWh\e(B\e1\e,TM9`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1\e0\e,T4i\e(B\e1\e,TGB\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B\e0\e,TEY\e(B\e1\e,T!HC\e(B (arrow key), \e0\e,T6i\e(B\e1\e,TR`$\e(B\e0\e,TCWh\e(B\e1\e,TM';ERB7R'"M'\e(B\e0\e,T7h\e(B\e1\e,TR9\e(B
-\e0\e,TAU\e(B\e1\e0\e,T;Xh\e(B\e1\e,TA`K\e(B\e0\e,TEh\e(B\e1\e,TR\e(B\e0\e,T9Ui\e(B\e1\e,TM\e(B\e0\e,TBYh\e(B\e1. \e,T`CRa9P9Sc\e(B\e0\e,TKi\e(B\e1\e0\e,T=V\e(B\e1\e,T!\e(B\e0\e,TKQ\e(B\e1\e,T4c\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-b, C-f, C-n \e,TaEP\e(B C-p, \e0\e,T4i\e(B\e1\e,TGB`K\e(B\e0\e,T5X\e(B\e1\e,T<EJRA\e(B
-\e,T;CP!RC\e(B. \e,TK\e(B\e0\e,T9Vh\e(B\e1\e,T'\e(B, \e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'`K\e(B\e0\e,TEh\e(B\e1\e,TR\e(B\e0\e,T9Ui\e(B\e1\e,T7S'R9d\e(B\e0\e,T4i\e(B\e1\e,T:9`$\e(B\e0\e,TCWh\e(B\e1\e,TM';ERB7R'\e(B\e0\e,T7X\e(B\e1\e,T!*\e(B\e0\e,T9T\e(B\e1\e,T4\e(B. \e,TJM'\e(B, \e,T`\e(B\e0\e,TAWh\e(B\e1\e,TM\e(B\e0\e,T7h\e(B\e1\e,TR9d\e(B\e0\e,T4i\e(B\e1\e0\e,T=V\e(B\e1\e,T!\e(B\e0\e,TKQ\e(B\e1\e,T4\e(B
-\e,T!RCc\e(B\e0\e,T*i\e(B\e1\e0\e,T!Q\e(B\e1\e,T:\e(B\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG\e(B \e0\e,T7h\e(B\e1\e,TR9(P\e(B\e0\e,TCYi\e(B\e1\e0\e,TJV\e(B\e1\e,T!\e(B\e0\e,TGh\e(B\e1\e,TR!RCc\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T4i\e(B\e1\e,TGB\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B CONTROL \e0\e,T9Qi\e(B\e1\e,T9$\e(B\e0\e,TEh\e(B\e1\e,TM'\e(B\e0\e,T5Q\e(B\e1\e,TG!\e(B\e0\e,TGh\e(B\e1\e,TR!RCc\e(B\e0\e,T*i\e(B\e1
-\e0\e,T;Xh\e(B\e1\e,TA\e(B\e0\e,TEY\e(B\e1\e,T!HC\e(B (\e,T`>CRP\e(B\e0\e,TGh\e(B\e1\e,TR\e(B\e0\e,T7h\e(B\e1\e,TR9d\e(B\e0\e,TAh\e(B\e1\e0\e,T5i\e(B\e1\e,TM'`$\e(B\e0\e,TEWh\e(B\e1\e,TM9\e(B\e0\e,TBi\e(B\e1\e,TRB\e(B\e0\e,TAW\e(B\e1\e,TMMM!(R!5SaK\e(B\e0\e,T9h\e(B\e1\e,T'\e(B\e0\e,TAW\e(B\e1\e,TM\e(B\e0\e,TJQ\e(B\e1\e,TA\e(B\e0\e,T<Q\e(B\e1\e,TJ`EB\e(B). \e,TJRA\e(B, \e,T`\e(B\e0\e,TAWh\e(B\e1\e,TM\e(B
-\e0\e,T7h\e(B\e1\e,TR9\e(B\e0\e,T$Xi\e(B\e1\e,T9`$B\e(B\e0\e,T!Q\e(B\e1\e,T:!RCc\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T';CP!M:\e(B\e0\e,T!Q\e(B\e1\e,T:\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B CONTROL \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG\e(B, \e0\e,T7h\e(B\e1\e,TR9JRARC6(P\e(B\e0\e,T=V\e(B\e1\e,T!!RCc\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B
-\e0\e,T*Qi\e(B\e1\e,T9\e(B\e0\e,TJY\e(B\e1\e,T'\e(B\e0\e,T5h\e(B\e1\e,TMd;d\e(B\e0\e,T4i\e(B\e1\e0\e,TMU\e(B\e1\e,T!\e(B\e0\e,T4i\e(B\e1\e,TGB\e(B.
+\e0\e,T7h\e1R9JRARC6`$\e0EWh\e1M9`$M\e0Cl\e1`+M\e0Cl\e1d\e04i\e1\e04i\e1GB\e0;Xh\e1A\e0EY\e1!HC\e(B (arrow key), \e0\e,T6i\e1R`$\e0CWh\e1M';ERB7R'"M'\e07h\e1R9\e(B
+\e0\e,TAU\e1\e0;Xh\e1A`K\e0Eh\e1R\e09Ui\e1M\e0BYh\e1\e(B. \e,T`CRa9P9Sc\e0Ki\e1\e0=V\e1!\e0KQ\e14c\e0*i\e1$S\e0JQh\e1'\e(B C-b, C-f, C-n \e,TaEP\e(B C-p, \e0\e,T4i\e1GB`K\e05X\e1<EJRA\e(B
+\e,T;CP!RC\e(B. \e,TK\e09Vh\e1'\e(B, \e,T$S\e0JQh\e1'`K\e0Eh\e1R\e09Ui\e17S'R9d\e04i\e1:9`$\e0CWh\e1M';ERB7R'\e07X\e1!*\e09T\e14\e(B. \e,TJM'\e(B, \e,T`\e0AWh\e1M\e07h\e1R9d\e04i\e1\e0=V\e1!\e0KQ\e14\e(B
+\e,T!RCc\e0*i\e1\e0!Q\e1:\e0MU\e1aA!\e0Jl\e1a\e0Ei\e1G\e(B \e0\e,T7h\e1R9(P\e0CYi\e1\e0JV\e1!\e0Gh\e1R!RCc\e0*i\e1$S\e0JQh\e1'\e04i\e1GB\e0;Xh\e1A\e(B CONTROL \e0\e,T9Qi\e19$\e0Eh\e1M'\e05Q\e1G!\e0Gh\e1R!RCc\e0*i\e1\e(B
+\e0\e,T;Xh\e1A\e0EY\e1!HC\e(B (\e,T`>CRP\e0Gh\e1R\e07h\e1R9d\e0Ah\e1\e05i\e1M'`$\e0EWh\e1M9\e0Bi\e1RB\e0AW\e1MMM!(R!5SaK\e09h\e1'\e0AW\e1M\e0JQ\e1A\e0<Q\e1J`EB\e(B). \e,TJRA\e(B, \e,T`\e0AWh\e1M\e(B
+\e0\e,T7h\e1R9\e0$Xi\e19`$B\e0!Q\e1:!RCc\e0*i\e1$S\e0JQh\e1';CP!M:\e0!Q\e1:\e0;Xh\e1A\e(B CONTROL \e,Ta\e0Ei\e1G\e(B, \e0\e,T7h\e1R9JRARC6(P\e0=V\e1!!RCc\e0*i\e1$S\e0JQh\e1'\e(B
+\e0\e,T*Qi\e19\e0JY\e1'\e05h\e1Md;d\e04i\e1\e0MU\e1!\e04i\e1GB\e(B.
 
-\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,TJh\e(B\e1\e,TG9cK\e(B\e0\e,T-h\e(B\e1\e,Tc9\e(B\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e0\e,T9Qi\e(B\e1\e,T9(PJRARC6!S\e(B\e0\e,T!Q\e(B\e1\e,T:\e(B\e0\e,T5Q\e(B\e1\e,TG`E"MR\e(B\e0\e,TCl\e(B\e1\e0\e,T!T\e(B\e1\e,TG`A9\e(B\e0\e,T5l\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1; \e,TJSK\e(B\e0\e,TCQ\e(B\e1\e,T:$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,TJh\e(B\e1\e,TG9cK\e(B\e0\e,T-h\e(B\e1, 
-\e0\e,T5Q\e(B\e1\e,TG`E"`K\e(B\e0\e,TEh\e(B\e1\e,TR\e(B\e0\e,T9Ui\e(B\e1\e0\e,T!g\e(B\e1\e,T(PKARB\e(B\e0\e,T6V\e(B\e1\e,T'(S9G9$\e(B\e0\e,TCQi\e(B\e1\e,T'"M'!RC;CPAGE<E"M'$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T5h\e(B\e1\e,TMd;\e(B. \e,T!RC\e(B\e0\e,T7Uh\e(B\e1\e,T(P7Sc\e(B\e0\e,TKi\e(B\e1\e0\e,TAU\e(B\e1
-\e,T!RC;CPAGE<E"M'$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T+i\e(B\e1\e,TS`\e(B\e0\e,T7h\e(B\e1\e,TR(S9G9\e(B\e0\e,T7Uh\e(B\e1\e0\e,T5i\e(B\e1\e,TM'!RC\e(B\e0\e,T9Qi\e(B\e1\e,T9JRARC67Sd\e(B\e0\e,T4i\e(B\e1\e,Tb4B!RC\e(B\e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-u 
-\e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG5RA\e(B\e0\e,T4i\e(B\e1\e,TGB\e(B\e0\e,T5Q\e(B\e1\e,TG`E"\e(B\e0\e,T!h\e(B\e1\e,TM9\e(B\e0\e,T7Uh\e(B\e1\e,T(P\e(B\e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e0\e,T5i\e(B\e1\e,TM'!RC\e(B. \e0\e,T6i\e(B\e1\e,TR\e(B\e0\e,T7h\e(B\e1\e,TR9\e(B\e0\e,TAU\e(B\e1\e0\e,T;Xh\e(B\e1\e,TA\e(B META (\e,TK\e(B\e0\e,TCW\e(B\e1\e,TM\e(B EDIT \e,TK\e(B\e0\e,TCW\e(B\e1\e,TM\e(B 
-ALT), \e0\e,T7h\e(B\e1\e,TR9JRARC6(P7Sd\e(B\e0\e,T4i\e(B\e1\e0\e,T4i\e(B\e1\e,TGB\e(B\e0\e,TMU\e(B\e1\e,T!\e(B\e0\e,TGT\e(B\e1\e0\e,T8U\e(B\e1\e,TK\e(B\e0\e,T9Vh\e(B\e1\e,T'\e(B: \e0\e,T;i\e(B\e1\e,TM9\e(B\e0\e,T5Q\e(B\e1\e,TG`E""3P\e(B\e0\e,T7Uh\e(B\e1\e,T!4\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B META \e,TM\e(B\e0\e,TBYh\e(B\e1\e,T`CRa9P9S\e(B
-\e,Tc\e(B\e0\e,TKi\e(B\e1\e0\e,T7h\e(B\e1\e,TR9\e(B\e0\e,T=V\e(B\e1\e,T!\e(B\e0\e,TKQ\e(B\e1\e,T4c\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-u \e,T`>CRP\e(B\e0\e,TGh\e(B\e1\e,TRJRARC6c\e(B\e0\e,T*i\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1\e0\e,T!Q\e(B\e1\e,T:`$\e(B\e0\e,TCWh\e(B\e1\e,TM';ERB7R'\e(B\e0\e,T7X\e(B\e1\e,T!*\e(B\e0\e,T9T\e(B\e1\e,T4\e(B. \e0\e,T5Q\e(B\e1\e,TG`E"MR\e(B\e0\e,TCl\e(B\e1
-\e0\e,T!T\e(B\e1\e,TG`A9\e(B\e0\e,T5l\e(B\e1\e0\e,T7Uh\e(B\e1\e,T!\e(B\e0\e,TEh\e(B\e1\e,TRG\e(B\e0\e,T6V\e(B\e1\e,T'\e(B\e0\e,T9Ui\e(B\e1\e,T`\e(B\e0\e,TCU\e(B\e1\e,TB!\e(B\e0\e,TGh\e(B\e1\e,TR\e(B "\e,TMR\e(B\e0\e,TCl\e(B\e1\e0\e,T!T\e(B\e1\e,TG`A9\e(B\e0\e,T5l\e(B\e1\e,T`\e(B\e0\e,T5T\e(B\e1\e,TAK\e(B\e0\e,T9i\e(B\e1\e,TR\e(B (prefix argument)", \e,T`>CRP\e(B\e0\e,TGh\e(B\e1\e,TR\e(B\e0\e,T7h\e(B\e1\e,TR9\e(B
-\e0\e,T5i\e(B\e1\e,TM'\e(B\e0\e,T;i\e(B\e1\e,TM9\e(B\e0\e,T5Q\e(B\e1\e,TG`E"\e(B\e0\e,T!h\e(B\e1\e,TM9\e(B\e0\e,T7Uh\e(B\e1\e,T(P\e(B\e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B.
+\e,T$S\e0JQh\e1'\e0Jh\e1G9cK\e0-h\e1c9\e0MU\e1aA!\e0Jl\e1\e09Qi\e19(PJRARC6!S\e0!Q\e1:\e05Q\e1G`E"MR\e0Cl\e1\e0!T\e1G`A9\e05l\e1d\e04i\e1\e(B; \e,TJSK\e0CQ\e1:$S\e0JQh\e1'\e0Jh\e1G9cK\e0-h\e1\e(B,
+\e0\e,T5Q\e1G`E"`K\e0Eh\e1R\e09Ui\e1\e0!g\e1(PKARB\e06V\e1'(S9G9$\e0CQi\e1'"M'!RC;CPAGE<E"M'$S\e0JQh\e1'\e05h\e1Md;\e(B. \e,T!RC\e07Uh\e1(P7Sc\e0Ki\e1\e0AU\e1\e(B
+\e,T!RC;CPAGE<E"M'$S\e0JQh\e1'\e0+i\e1S`\e07h\e1R(S9G9\e07Uh\e1\e05i\e1M'!RC\e09Qi\e19JRARC67Sd\e04i\e1b4B!RC\e0;i\e1M9$S\e0JQh\e1'\e(B C-u
+\e,Ta\e0Ei\e1G5RA\e04i\e1GB\e05Q\e1G`E"\e0!h\e1M9\e07Uh\e1(P\e0;i\e1M9$S\e0JQh\e1'\e07Uh\e1\e05i\e1M'!RC\e(B. \e0\e,T6i\e1R\e07h\e1R9\e0AU\e1\e0;Xh\e1A\e(B META (\e,TK\e0CW\e1M\e(B EDIT \e,TK\e0CW\e1M\e(B
+ALT), \e0\e,T7h\e1R9JRARC6(P7Sd\e04i\e1\e04i\e1GB\e0MU\e1!\e0GT\e1\e08U\e1K\e09Vh\e1'\e(B: \e0\e,T;i\e1M9\e05Q\e1G`E""3P\e07Uh\e1!4\e0;Xh\e1A\e(B META \e,TM\e0BYh\e1\e(B\e,T`CRa9P9S\e(B
+\e,Tc\e0Ki\e1\e07h\e1R9\e0=V\e1!\e0KQ\e14c\e0*i\e1$S\e0JQh\e1'\e(B C-u \e,T`>CRP\e0Gh\e1RJRARC6c\e0*i\e1d\e04i\e1\e0!Q\e1:`$\e0CWh\e1M';ERB7R'\e07X\e1!*\e09T\e14\e(B. \e0\e,T5Q\e1G`E"MR\e0Cl\e1\e(B
+\e0\e,T!T\e1G`A9\e05l\e1\e07Uh\e1!\e0Eh\e1RG\e06V\e1'\e09Ui\e1`\e0CU\e1B!\e0Gh\e1R\e(B "\e,TMR\e0Cl\e1\e0!T\e1G`A9\e05l\e1`\e05T\e1AK\e09i\e1R\e(B (prefix argument)", \e,T`>CRP\e0Gh\e1R\e07h\e1R9\e(B
+\e0\e,T5i\e1M'\e0;i\e1M9\e05Q\e1G`E"\e0!h\e1M9\e07Uh\e1(P\e0;i\e1M9$S\e0JQh\e1'\e(B.
 
-\e0\e,T5Q\e(B\e1\e,TGM\e(B\e0\e,TBh\e(B\e1\e,TR'`\e(B\e0\e,T*h\e(B\e1\e,T9\e(B, \e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-u 8 C-f \e,T(P`$\e(B\e0\e,TEWh\e(B\e1\e,TM9d;\e(B\e0\e,T"i\e(B\e1\e,TR'K\e(B\e0\e,T9i\e(B\e1\e,TRa;4\e(B\e0\e,T5Q\e(B\e1\e,TG\e(B\e0\e,TMQ\e(B\e1\e,T!IC\e(B.
+\e0\e,T5Q\e1GM\e0Bh\e1R'`\e0*h\e19\e(B, \e,T$S\e0JQh\e1'\e(B C-u 8 C-f \e,T(P`$\e0EWh\e1M9d;\e0"i\e1R'K\e09i\e1Ra;4\e05Q\e1G\e0MQ\e1!IC\e(B.
 
->> \e,TEM'c\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-n \e,TK\e(B\e0\e,TCW\e(B\e1\e,TM\e(B C-p \e,T;CP!M:\e(B\e0\e,T!Q\e(B\e1\e,T:\e(B\e0\e,T5Q\e(B\e1\e,TG`E"MR\e(B\e0\e,TCl\e(B\e1\e0\e,T!T\e(B\e1\e,TG`A9\e(B\e0\e,T5l\e(B\e1, \e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TM\e(B\e0\e,T7Uh\e(B\e1\e,T(P`$\e(B\e0\e,TEWh\e(B\e1\e,TM9`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1
-   \e,T`\e(B\e0\e,T"i\e(B\e1\e,TRARc!\e(B\e0\e,TEi\e(B\e1\e,T:CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,T9Ui\e(B\e1\e,Tb4Bc\e(B\e0\e,T*i\e(B\e1\e,T`\e(B\e0\e,T>U\e(B\e1\e,TB'$S\e(B\e0\e,TJQh\e(B\e1\e,T'`\e(B\e0\e,T4U\e(B\e1\e,TBG\e(B.
+>> \e,TEM'c\e0*i\e1$S\e0JQh\e1'\e(B C-n \e,TK\e0CW\e1M\e(B C-p \e,T;CP!M:\e0!Q\e1:\e05Q\e1G`E"MR\e0Cl\e1\e0!T\e1G`A9\e05l\e1\e(B, \e,T`\e0>Wh\e1M\e07Uh\e1(P`$\e0EWh\e1M9`$M\e0Cl\e1`+M\e0Cl\e1\e(B
+   \e,T`\e0"i\e1RARc!\e0Ei\e1:CC\e07Q\e14\e09Ui\e1b4Bc\e0*i\e1`\e0>U\e1B'$S\e0JQh\e1'`\e04U\e1BG\e(B.
 
-\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,TJh\e(B\e1\e,TG9cK\e(B\e0\e,T-h\e(B\e1\e,Tc\e(B\e0\e,T*i\e(B\e1\e0\e,T5Q\e(B\e1\e,TG`E"MR\e(B\e0\e,TCl\e(B\e1\e0\e,T!T\e(B\e1\e,TG`A9\e(B\e0\e,T5l\e(B\e1\e,T`K\e(B\e0\e,TEh\e(B\e1\e,TR\e(B\e0\e,T9Ui\e(B\e1\e,TJSK\e(B\e0\e,TCQ\e(B\e1\e,T:!RC;CPAGE<E$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T+i\e(B\e1\e,TS\e(B, \e,Ta\e(B\e0\e,T5h\e(B\e1\e,T:R'$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T!g\e(B\e1\e,Tc\e(B\e0\e,T*i\e(B\e1
-\e,Tc9\e(B\e0\e,TEQ\e(B\e1\e,T!I3P\e(B\e0\e,TMWh\e(B\e1\e,T9\e(B. \e0\e,TAU\e(B\e1\e,TKERB$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B (\e,Ta\e(B\e0\e,T5h\e(B\e1\e,Td\e(B\e0\e,TAh\e(B\e1\e,TCGA$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1\e,T!\e(B\e0\e,TEh\e(B\e1\e,TRGAR\e(B\e0\e,T6V\e(B\e1\e,T'5C'\e(B\e0\e,T9Ui\e(B\e1) \e,Tc\e(B\e0\e,T*i\e(B\e1\e0\e,T5Q\e(B\e1\e,TG`E"\e(B\e0\e,T9Ui\e(B\e1\e,T`\e(B\e0\e,T;g\e(B\e1\e,T9\e(B\e0\e,T5Q\e(B\e1\e,TG\e(B
-\e0\e,T:h\e(B\e1\e,T'\e(B\e0\e,T*Ui\e(B\e1--\e,T!RC\e(B\e0\e,T7Uh\e(B\e1\e0\e,TAU\e(B\e1\e,TMR\e(B\e0\e,TCl\e(B\e1\e0\e,T!T\e(B\e1\e,TG`A9\e(B\e0\e,T5l\e(B\e1\e,T`\e(B\e0\e,T5T\e(B\e1\e,TAK\e(B\e0\e,T9i\e(B\e1\e,TR\e(B, \e,Tb4Bd\e(B\e0\e,TAh\e(B\e1\e,T$S\e(B\e0\e,T9V\e(B\e1\e,T'\e(B\e0\e,T6V\e(B\e1\e,T'\e(B\e0\e,T$h\e(B\e1\e,TR"M'\e(B\e0\e,T5Q\e(B\e1\e,TG`E"\e(B, \e,T(P7Sc\e(B\e0\e,TKi\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T9Qi\e(B\e1\e,T97S'R9\e(B
-\e0\e,T5h\e(B\e1\e,TR'MM!d;\e(B.
+\e,T$S\e0JQh\e1'\e0Jh\e1G9cK\e0-h\e1c\e0*i\e1\e05Q\e1G`E"MR\e0Cl\e1\e0!T\e1G`A9\e05l\e1`K\e0Eh\e1R\e09Ui\e1JSK\e0CQ\e1:!RC;CPAGE<E$S\e0JQh\e1'\e0+i\e1S\e(B, \e,Ta\e05h\e1:R'$S\e0JQh\e1'\e0!g\e1c\e0*i\e1\e(B
+\e,Tc9\e0EQ\e1!I3P\e0MWh\e19\e(B. \e0\e,TAU\e1KERB$S\e0JQh\e1'\e(B (\e,Ta\e05h\e1d\e0Ah\e1CGA$S\e0JQh\e1'\e07Uh\e1d\e04i\e1!\e0Eh\e1RGAR\e06V\e1'5C'\e09Ui\e1\e(B) \e,Tc\e0*i\e1\e05Q\e1G`E"\e09Ui\e1`\e0;g\e19\e05Q\e1G\e(B
+\e0\e,T:h\e1'\e0*Ui\e1\e(B--\e,T!RC\e07Uh\e1\e0AU\e1MR\e0Cl\e1\e0!T\e1G`A9\e05l\e1`\e05T\e1AK\e09i\e1R\e(B, \e,Tb4Bd\e0Ah\e1$S\e09V\e1'\e06V\e1'\e0$h\e1R"M'\e05Q\e1G`E"\e(B, \e,T(P7Sc\e0Ki\e1$S\e0JQh\e1'\e09Qi\e197S'R9\e(B
+\e0\e,T5h\e1R'MM!d;\e(B.
 
-\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-v \e,TaEP\e(B M-v \e,T`\e(B\e0\e,T;g\e(B\e1\e,T9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e,TB!`\e(B\e0\e,TGi\e(B\e1\e,T9\e(B\e0\e,TMU\e(B\e1\e,T!;CP`@7K\e(B\e0\e,T9Vh\e(B\e1\e,T'\e(B. \e0\e,T6i\e(B\e1\e,TR\e(B\e0\e,T;i\e(B\e1\e,TM9\e(B\e0\e,T5Q\e(B\e1\e,TG`E"MR\e(B\e0\e,TCl\e(B\e1\e0\e,T!T\e(B\e1\e,TG`A9\e(B\e0\e,T5l\e(B\e1\e0\e,T4i\e(B\e1\e,TGBa\e(B\e0\e,TEi\e(B\e1\e,TG\e(B,
-\e,TK\e(B\e0\e,T9i\e(B\e1\e,TR(M(P\e(B\e0\e,T6Y\e(B\e1\e,T!`$\e(B\e0\e,TEWh\e(B\e1\e,TM9\e(B\e0\e,TAi\e(B\e1\e,TG9\e(B\e0\e,T"Vi\e(B\e1\e,T9K\e(B\e0\e,TCW\e(B\e1\e,TME'`\e(B\e0\e,T;g\e(B\e1\e,T9(S9G9:CC\e(B\e0\e,T7Q\e(B\e1\e,T4`\e(B\e0\e,T7h\e(B\e1\e,TR\e(B\e0\e,T5Q\e(B\e1\e,TG`E"\e(B\e0\e,T7Uh\e(B\e1\e,T!SK94\e(B, \e,Ta79\e(B\e0\e,T7Uh\e(B\e1\e,T(P`$\e(B\e0\e,TEWh\e(B\e1\e,TM9\e(B\e0\e,TAi\e(B\e1\e,TG9\e(B
-\e0\e,T7U\e(B\e1\e,TEPK\e(B\e0\e,T9i\e(B\e1\e,TR(M\e(B. \e0\e,T5Q\e(B\e1\e,TGM\e(B\e0\e,TBh\e(B\e1\e,TR'`\e(B\e0\e,T*h\e(B\e1\e,T9\e(B, \e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-u 8 C-v \e,T(P`$\e(B\e0\e,TEWh\e(B\e1\e,TM9\e(B\e0\e,TAi\e(B\e1\e,TG9K\e(B\e0\e,T9i\e(B\e1\e,TR(M\e(B\e0\e,T7U\e(B\e1\e,TEPa;4:CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B.
+\e,T$S\e0JQh\e1'\e(B C-v \e,TaEP\e(B M-v \e,T`\e0;g\e19$S\e0JQh\e1'\e07Uh\e1B!`\e0Gi\e19\e0MU\e1!;CP`@7K\e09Vh\e1'\e(B. \e0\e,T6i\e1R\e0;i\e1M9\e05Q\e1G`E"MR\e0Cl\e1\e0!T\e1G`A9\e05l\e1\e04i\e1GBa\e0Ei\e1G\e(B,
+\e,TK\e09i\e1R(M(P\e06Y\e1!`$\e0EWh\e1M9\e0Ai\e1G9\e0"Vi\e19K\e0CW\e1ME'`\e0;g\e19(S9G9:CC\e07Q\e14`\e07h\e1R\e05Q\e1G`E"\e07Uh\e1!SK94\e(B, \e,Ta79\e07Uh\e1(P`$\e0EWh\e1M9\e0Ai\e1G9\e(B
+\e0\e,T7U\e1EPK\e09i\e1R(M\e(B. \e0\e,T5Q\e1GM\e0Bh\e1R'`\e0*h\e19\e(B, \e,T$S\e0JQh\e1'\e(B C-u 8 C-v \e,T(P`$\e0EWh\e1M9\e0Ai\e1G9K\e09i\e1R(M\e07U\e1EPa;4:CC\e07Q\e14\e(B.
 
->> \e,TEM'c\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-u 8 C-v \e0\e,T4Y\e(B\e1.
+>> \e,TEM'c\e0*i\e1$S\e0JQh\e1'\e(B C-u 8 C-v \e0\e,T4Y\e1\e(B.
 
-\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T9Ui\e(B\e1\e,T(P`$\e(B\e0\e,TEWh\e(B\e1\e,TM9\e(B\e0\e,TAi\e(B\e1\e,TG9K\e(B\e0\e,T9i\e(B\e1\e,TR(M\e(B\e0\e,T"Vi\e(B\e1\e,T9d;a;4:CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B. \e0\e,T6i\e(B\e1\e,TR\e(B\e0\e,T7h\e(B\e1\e,TR9\e(B\e0\e,T5i\e(B\e1\e,TM'!RC(P`$\e(B\e0\e,TEWh\e(B\e1\e,TM9\e(B\e0\e,TAi\e(B\e1\e,TG9!\e(B\e0\e,TEQ\e(B\e1\e,T:AR\e(B\e0\e,TMU\e(B\e1\e,T!\e(B, \e0\e,T7h\e(B\e1\e,TR9\e(B
-\e0\e,T!g\e(B\e1\e,T7Sd\e(B\e0\e,T4i\e(B\e1\e,Tb4B!RC!S\e(B\e0\e,T!Q\e(B\e1\e,T:\e(B\e0\e,T5Q\e(B\e1\e,TG`E"MR\e(B\e0\e,TCl\e(B\e1\e0\e,T!T\e(B\e1\e,TG`A9\e(B\e0\e,T5l\e(B\e1\e,Tc\e(B\e0\e,TKi\e(B\e1\e0\e,T!Q\e(B\e1\e,T:$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B M-v.
+\e,T$S\e0JQh\e1'\e09Ui\e1(P`$\e0EWh\e1M9\e0Ai\e1G9K\e09i\e1R(M\e0"Vi\e19d;a;4:CC\e07Q\e14\e(B. \e0\e,T6i\e1R\e07h\e1R9\e05i\e1M'!RC(P`$\e0EWh\e1M9\e0Ai\e1G9!\e0EQ\e1:AR\e0MU\e1!\e(B, \e0\e,T7h\e1R9\e(B
+\e0\e,T!g\e17Sd\e04i\e1b4B!RC!S\e0!Q\e1:\e05Q\e1G`E"MR\e0Cl\e1\e0!T\e1G`A9\e05l\e1c\e0Ki\e1\e0!Q\e1:$S\e0JQh\e1'\e(B M-v.
 
-\e0\e,T6i\e(B\e1\e,TR\e(B\e0\e,T7h\e(B\e1\e,TR9!S\e(B\e0\e,TEQ\e(B\e1\e,T'c\e(B\e0\e,T*i\e(B\e1\e,T`M!\e(B\e0\e,T+l\e(B\e1\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1 (X Window) \e,TM\e(B\e0\e,TBYh\e(B\e1, \e,T(P\e(B\e0\e,TAU\e(B\e1\e,Ta<'`$\e(B\e0\e,TEWh\e(B\e1\e,TM9\e(B\e0\e,TAi\e(B\e1\e,TG9\e(B (scroll bar) \e0\e,T7Uh\e(B\e1
-\e,T`\e(B\e0\e,T;g\e(B\e1\e,T9\e(B\e0\e,T>Wi\e(B\e1\e,T9\e(B\e0\e,T7Uh\e(B\e1\e0\e,TJUh\e(B\e1\e,T`K\e(B\e0\e,TEUh\e(B\e1\e,TBA\e(B\e0\e,T<W\e(B\e1\e,T9\e(B\e0\e,T<i\e(B\e1\e,TRM\e(B\e0\e,TBYh\e(B\e1\e,T7R'\e(B\e0\e,T4i\e(B\e1\e,TR9\e(B\e0\e,T+i\e(B\e1\e,TRB"M'\e(B\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1 (window) \e,T"M'\e(B\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1. \e0\e,T7h\e(B\e1\e,TR9JRARC6\e(B
-\e,T(P`$\e(B\e0\e,TEWh\e(B\e1\e,TM9\e(B\e0\e,TAi\e(B\e1\e,TG9\e(B\e0\e,T"i\e(B\e1\e,TM$GRAb4B!RC$\e(B\e0\e,TET\e(B\e1\e,T!`AR\e(B\e0\e,TJl\e(B\e1 (click mouse) \e,T:9a<'`$\e(B\e0\e,TEWh\e(B\e1\e,TM9\e(B\e0\e,TAi\e(B\e1\e,TG9\e(B.
+\e0\e,T6i\e1R\e07h\e1R9!S\e0EQ\e1'c\e0*i\e1`M!\e0+l\e1\e0GT\e19b4\e0Gl\e1\e(B (X Window) \e,TM\e0BYh\e1\e(B, \e,T(P\e0AU\e1a<'`$\e0EWh\e1M9\e0Ai\e1G9\e(B (scroll bar) \e0\e,T7Uh\e1\e(B
+\e,T`\e0;g\e19\e0>Wi\e19\e07Uh\e1\e0JUh\e1`K\e0EUh\e1BA\e0<W\e19\e0<i\e1RM\e0BYh\e17R'\e04i\e1R9\e0+i\e1RB"M'\e0GT\e19b4\e0Gl\e1\e(B (window) \e,T"M'\e0MU\e1aA!\e0Jl\e1\e(B. \e0\e,T7h\e1R9JRARC6\e(B
+\e,T(P`$\e0EWh\e1M9\e0Ai\e1G9\e0"i\e1M$GRAb4B!RC$\e0ET\e1!`AR\e0Jl\e1\e(B (click mouse) \e,T:9a<'`$\e0EWh\e1M9\e0Ai\e1G9\e(B.
 
->> \e,TEM'!4\e(B\e0\e,T;Xh\e(B\e1\e,TA!ER'\e(B\e0\e,T7Uh\e(B\e1\e0\e,TJh\e(B\e1\e,TG9:9\e(B\e0\e,TJX\e(B\e1\e,T4"M'\e(B\e0\e,T>Wi\e(B\e1\e,T9\e(B\e0\e,T7Uh\e(B\e1\e0\e,T7Uh\e(B\e1\e,T`\e(B\e0\e,T9i\e(B\e1\e,T9\e(B (highlight) \e,T@RBc9a<'`$\e(B\e0\e,TEWh\e(B\e1\e,TM9\e(B\e0\e,TAi\e(B\e1\e,TG9\e(B.
-   \e0\e,T"i\e(B\e1\e,TM$GRA(P\e(B\e0\e,T6Y\e(B\e1\e,T!`$\e(B\e0\e,TEWh\e(B\e1\e,TM9\e(B\e0\e,TAi\e(B\e1\e,TG9d;\e(B\e0\e,TBQ\e(B\e1\e,T'5SaK\e(B\e0\e,T9h\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e0\e,T7Uh\e(B\e1\e0\e,T7h\e(B\e1\e,TR9d\e(B\e0\e,T4i\e(B\e1\e,T$\e(B\e0\e,TET\e(B\e1\e,T!\e(B.
+>> \e,TEM'!4\e0;Xh\e1A!ER'\e07Uh\e1\e0Jh\e1G9:9\e0JX\e14"M'\e0>Wi\e19\e07Uh\e1\e07Uh\e1`\e09i\e19\e(B (highlight) \e,T@RBc9a<'`$\e0EWh\e1M9\e0Ai\e1G9\e(B.
+   \e0\e,T"i\e1M$GRA(P\e06Y\e1!`$\e0EWh\e1M9\e0Ai\e1G9d;\e0BQ\e1'5SaK\e09h\e1'\e07Uh\e1\e07Uh\e1\e07h\e1R9d\e04i\e1$\e0ET\e1!\e(B.
 
->> \e,TEM'`$\e(B\e0\e,TEWh\e(B\e1\e,TM9`AR\e(B\e0\e,TJl\e(B\e1\e0\e,T"Vi\e(B\e1\e,T9E'\e(B\e0\e,T4Y\e(B\e1, \e,T"3P\e(B\e0\e,T7Uh\e(B\e1\e0\e,TBQ\e(B\e1\e,T'!4\e(B\e0\e,T;Xh\e(B\e1\e,TA!ER'M\e(B\e0\e,TBYh\e(B\e1. \e0\e,T7h\e(B\e1\e,TR9(P>:\e(B\e0\e,TGh\e(B\e1\e,TR\e(B\e0\e,T"i\e(B\e1\e,TM$GRA(P`$\e(B\e0\e,TEWh\e(B\e1\e,TM9\e(B\e0\e,T7Uh\e(B\e1\e0\e,T"Vi\e(B\e1\e,T9\e(B
-   \e,TE'5RA\e(B\e0\e,T7Uh\e(B\e1\e0\e,T7h\e(B\e1\e,TR9`$\e(B\e0\e,TEWh\e(B\e1\e,TM9`AR\e(B\e0\e,TJl\e(B\e1\e,Td;\e(B.
+>> \e,TEM'`$\e0EWh\e1M9`AR\e0Jl\e1\e0"Vi\e19E'\e04Y\e1\e(B, \e,T"3P\e07Uh\e1\e0BQ\e1'!4\e0;Xh\e1A!ER'M\e0BYh\e1\e(B. \e0\e,T7h\e1R9(P>:\e0Gh\e1R\e0"i\e1M$GRA(P`$\e0EWh\e1M9\e07Uh\e1\e0"Vi\e19\e(B
+   \e,TE'5RA\e07Uh\e1\e07h\e1R9`$\e0EWh\e1M9`AR\e0Jl\e1d;\e(B.
 
 
-* \e,T!C\e(B\e0\e,T3U\e(B\e1\e0\e,T7Uh\e(B\e1\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,TK\e(B\e0\e,TBX\e(B\e1\e,T4*P\e(B\e0\e,T'Q\e(B\e1\e,T!\e(B (hang up)
+* \e,T!C\e03U\e1\e07Uh\e1\e0MU\e1aA!\e0Jl\e1K\e0BX\e14*P\e0'Q\e1!\e(B (hang up)
 ----------------------------
 
-\e0\e,T6i\e(B\e1\e,TR\e(B\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,TK\e(B\e0\e,TBX\e(B\e1\e,T4aEPd\e(B\e0\e,TAh\e(B\e1\e,T5M:J9M'$S\e(B\e0\e,TJQh\e(B\e1\e,T'c4f\e(B, \e0\e,T7h\e(B\e1\e,TR9JRARC6B!`\e(B\e0\e,TET\e(B\e1\e,T!$S\e(B\e0\e,TJQh\e(B\e1\e,T'd\e(B\e0\e,T4i\e(B\e1\e,TM\e(B\e0\e,TBh\e(B\e1\e,TR';EM4\e(B\e0\e,T@Q\e(B\e1\e,TBb4Bc\e(B\e0\e,T*i\e(B\e1
-\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-g. \e0\e,T7h\e(B\e1\e,TR9JRARC6c\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-g \e,Tc9!RCB!`\e(B\e0\e,TET\e(B\e1\e,T!$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e,T!S\e(B\e0\e,TEQ\e(B\e1\e,T'7S'R9M\e(B\e0\e,TBYh\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1.
+\e0\e,T6i\e1R\e0MU\e1aA!\e0Jl\e1K\e0BX\e14aEPd\e0Ah\e15M:J9M'$S\e0JQh\e1'c4f\e(B, \e0\e,T7h\e1R9JRARC6B!`\e0ET\e1!$S\e0JQh\e1'd\e04i\e1M\e0Bh\e1R';EM4\e0@Q\e1Bb4Bc\e0*i\e1\e(B
+\e,T$S\e0JQh\e1'\e(B C-g. \e0\e,T7h\e1R9JRARC6c\e0*i\e1$S\e0JQh\e1'\e(B C-g \e,Tc9!RCB!`\e0ET\e1!$S\e0JQh\e1'\e07Uh\e1!S\e0EQ\e1'7S'R9M\e0BYh\e1d\e04i\e1\e(B.
 
-\e0\e,T7h\e(B\e1\e,TR9JRARC6c\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-g \e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TMB!`\e(B\e0\e,TET\e(B\e1\e,T!\e(B\e0\e,T5Q\e(B\e1\e,TG`E"MR\e(B\e0\e,TCl\e(B\e1\e0\e,T!T\e(B\e1\e,TG`A9\e(B\e0\e,T5l\e(B\e1\e,TK\e(B\e0\e,TCW\e(B\e1\e,TM$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e0\e,T7h\e(B\e1\e,TR9!S\e(B\e0\e,TEQ\e(B\e1\e,T'\e(B\e0\e,T;i\e(B\e1\e,TM9M\e(B\e0\e,TBYh\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1.
+\e0\e,T7h\e1R9JRARC6c\e0*i\e1$S\e0JQh\e1'\e(B C-g \e,T`\e0>Wh\e1MB!`\e0ET\e1!\e05Q\e1G`E"MR\e0Cl\e1\e0!T\e1G`A9\e05l\e1K\e0CW\e1M$S\e0JQh\e1'\e07Uh\e1\e07h\e1R9!S\e0EQ\e1'\e0;i\e1M9M\e0BYh\e1d\e04i\e1\e(B.
 
->> \e,TEM'\e(B\e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-u 100 \e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TM\e(B\e0\e,T7Uh\e(B\e1\e,T(Pc\e(B\e0\e,TKi\e(B\e1\e0\e,TAU\e(B\e1\e0\e,T5Q\e(B\e1\e,TG`E"MR\e(B\e0\e,TCl\e(B\e1\e0\e,T!T\e(B\e1\e,TG`A9\e(B\e0\e,T5l\e(B\e1\e,T`\e(B\e0\e,T;g\e(B\e1\e,T9\e(B 100, \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG\e(B\e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-g.
-   \e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-f. \e,T<E\e(B\e0\e,T7Uh\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1\e0\e,T!g\e(B\e1\e0\e,T$W\e(B\e1\e,TM`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1\e,T`$\e(B\e0\e,TEWh\e(B\e1\e,TM9d;`\e(B\e0\e,T>U\e(B\e1\e,TB'K\e(B\e0\e,T9Vh\e(B\e1\e,T'\e(B\e0\e,T5Q\e(B\e1\e,TG\e(B\e0\e,TMQ\e(B\e1\e,T!IC\e(B, \e,T`>CRP\e(B\e0\e,TGh\e(B\e1\e,TR\e(B\e0\e,T7h\e(B\e1\e,TR9d\e(B\e0\e,T4i\e(B\e1
-   \e,TB!`\e(B\e0\e,TET\e(B\e1\e,T!\e(B\e0\e,T5Q\e(B\e1\e,TG`E"MR\e(B\e0\e,TCl\e(B\e1\e0\e,T!T\e(B\e1\e,TG`A9\e(B\e0\e,T5l\e(B\e1\e,Td;a\e(B\e0\e,TEi\e(B\e1\e,TG\e(B\e0\e,T4i\e(B\e1\e,TGB$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-g.
+>> \e,TEM'\e0;i\e1M9$S\e0JQh\e1'\e(B C-u 100 \e,T`\e0>Wh\e1M\e07Uh\e1(Pc\e0Ki\e1\e0AU\e1\e05Q\e1G`E"MR\e0Cl\e1\e0!T\e1G`A9\e05l\e1`\e0;g\e19\e(B 100, \e,Ta\e0Ei\e1G\e0;i\e1M9$S\e0JQh\e1'\e(B C-g.
+   \e0\e,T;i\e1M9$S\e0JQh\e1'\e(B C-f. \e,T<E\e07Uh\e1d\e04i\e1\e0!g\e1\e0$W\e1M`$M\e0Cl\e1`+M\e0Cl\e1`$\e0EWh\e1M9d;`\e0>U\e1B'K\e09Vh\e1'\e05Q\e1G\e0MQ\e1!IC\e(B, \e,T`>CRP\e0Gh\e1R\e07h\e1R9d\e04i\e1\e(B
+   \e,TB!`\e0ET\e1!\e05Q\e1G`E"MR\e0Cl\e1\e0!T\e1G`A9\e05l\e1d;a\e0Ei\e1G\e04i\e1GB$S\e0JQh\e1'\e(B C-g.
 
-\e0\e,T6i\e(B\e1\e,TR\e(B\e0\e,T7h\e(B\e1\e,TR9\e(B\e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B <ESC> \e,Tb4Bd\e(B\e0\e,TAh\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1\e0\e,T5Qi\e(B\e1\e,T'c(\e(B, \e0\e,T7h\e(B\e1\e,TR9\e(B\e0\e,T!g\e(B\e1\e,TJRARC6(PB!`\e(B\e0\e,TET\e(B\e1\e,T!$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T9Qi\e(B\e1\e,T9d\e(B\e0\e,T4i\e(B\e1\e0\e,T4i\e(B\e1\e,TGB$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-g.
+\e0\e,T6i\e1R\e07h\e1R9\e0;i\e1M9$S\e0JQh\e1'\e(B <ESC> \e,Tb4Bd\e0Ah\e1d\e04i\e1\e05Qi\e1'c(\e(B, \e0\e,T7h\e1R9\e0!g\e1JRARC6(PB!`\e0ET\e1!$S\e0JQh\e1'\e09Qi\e19d\e04i\e1\e04i\e1GB$S\e0JQh\e1'\e(B C-g.
 
 
-* \e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e0\e,T6Y\e(B\e1\e,T!\e(B\e0\e,T;T\e(B\e1\e,T47R'\e(B (disable)
+* \e,T$S\e0JQh\e1'\e07Uh\e1\e06Y\e1!\e0;T\e147R'\e(B (disable)
 ------------------------
 
-\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T':R'$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T6Y\e(B\e1\e,T!\e(B\e0\e,T;T\e(B\e1\e,T47R'd\e(B\e0\e,TGi\e(B\e\e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TM\e(B\e0\e,T7Uh\e(B\e1\e,T(P\e(B\e0\e,T;i\e(B\e1\e,TM'\e(B\e0\e,T!Q\e(B\e1\e,T9d\e(B\e0\e,TAh\e(B\e1\e,Tc\e(B\e0\e,TKi\e(B\e1\e0\e,T<Yi\e(B\e1\e0\e,T7Uh\e(B\e1\e,T`\e(B\e0\e,TCTh\e(B\e1\e,TA\e(B\e0\e,T5i\e(B\e1\e,T9c\e(B\e0\e,T*i\e(B\e1 (beginning user) \e,Tc\e(B\e0\e,T*i\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1
-\e,Tb4Bd\e(B\e0\e,TAh\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1\e0\e,T5Qi\e(B\e1\e,T'c(\e(B.
+\e,T$S\e0JQh\e1':R'$S\e0JQh\e1'\e06Y\e1!\e0;T\e147R'd\e0Gi\e1\e(B \e,T`\e0>Wh\e1M\e07Uh\e1(P\e0;i\e1M'\e0!Q\e19d\e0Ah\e1c\e0Ki\e1\e0<Yi\e1\e07Uh\e1`\e0CTh\e1A\e05i\e19c\e0*i\e1\e(B (beginning user) \e,Tc\e0*i\e1d\e04i\e1\e(B
+\e,Tb4Bd\e0Ah\e1d\e04i\e1\e05Qi\e1'c(\e(B.
 
-\e0\e,T6i\e(B\e1\e,TR\e(B\e0\e,T7h\e(B\e1\e,TR9\e(B\e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T';CP`@7\e(B\e0\e,T9Ui\e(B\e1\e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG\e(B, \e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,T(PaJ4'\e(B\e0\e,T"i\e(B\e1\e,TM$GRA\e(B\e0\e,TGh\e(B\e1\e,TR$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T9Qi\e(B\e1\e,T9\e(B\e0\e,T$W\e(B\e1\e,TMMPdC\e(B, \e,TaEP(P6RA\e(B
-\e0\e,T7h\e(B\e1\e,TR9\e(B\e0\e,TGh\e(B\e1\e,TR\e(B\e0\e,T5i\e(B\e1\e,TM'!RC(P;CPAGE<E$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T9Qi\e(B\e1\e,T9K\e(B\e0\e,TCW\e(B\e1\e,TMd\e(B\e0\e,TAh\e(B\e1.
+\e0\e,T6i\e1R\e07h\e1R9\e0;i\e1M9$S\e0JQh\e1';CP`@7\e09Ui\e1a\e0Ei\e1G\e(B, \e0\e,TMU\e1aA!\e0Jl\e1(PaJ4'\e0"i\e1M$GRA\e0Gh\e1R$S\e0JQh\e1'\e09Qi\e19\e0$W\e1MMPdC\e(B, \e,TaEP(P6RA\e(B
+\e0\e,T7h\e1R9\e0Gh\e1R\e05i\e1M'!RC(P;CPAGE<E$S\e0JQh\e1'\e09Qi\e19K\e0CW\e1Md\e0Ah\e1\e(B.
 
-\e0\e,T6i\e(B\e1\e,TR\e(B\e0\e,T7h\e(B\e1\e,TR9\e(B\e0\e,T5i\e(B\e1\e,TM'!RC\e(B\e0\e,T7Uh\e(B\e1\e,T(P;CPAGE<E$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T9Qi\e(B\e1\e,T9(\e(B\e0\e,TCT\e(B\e1\e,T'f\e(B, \e,T!4\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B space \e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TM5M:\e(B\e0\e,TBW\e(B\e1\e,T9\e(B\e0\e,TBQ\e(B\e1\e,T9$GRA\e(B\e0\e,T5i\e(B\e1\e,TM'!RC\e(B.
-\e,Tb4B;C!\e(B\e0\e,T5T\e(B\e1\e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG\e(B, \e0\e,T6i\e(B\e1\e,TR\e(B\e0\e,T7h\e(B\e1\e,TR9d\e(B\e0\e,TAh\e(B\e1\e0\e,T5i\e(B\e1\e,TM'!RC(P;CPAGE<E$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e0\e,T6Y\e(B\e1\e,T!\e(B\e0\e,T;T\e(B\e1\e,T47R'd\e(B\e0\e,TGi\e(B\e1, \e0\e,T!g\e(B\e1\e,T5M:\e(B "n" \e,T`\e(B\e0\e,T7h\e(B\e1\e,TR\e(B\e0\e,T9Qi\e(B\e1\e,T9\e(B.
+\e0\e,T6i\e1R\e07h\e1R9\e05i\e1M'!RC\e07Uh\e1(P;CPAGE<E$S\e0JQh\e1'\e09Qi\e19(\e0CT\e1'f\e(B, \e,T!4\e0;Xh\e1A\e(B space \e,T`\e0>Wh\e1M5M:\e0BW\e19\e0BQ\e19$GRA\e05i\e1M'!RC\e(B.
+\e,Tb4B;C!\e05T\e1a\e0Ei\e1G\e(B, \e0\e,T6i\e1R\e07h\e1R9d\e0Ah\e1\e05i\e1M'!RC(P;CPAGE<E$S\e0JQh\e1'\e07Uh\e1\e06Y\e1!\e0;T\e147R'd\e0Gi\e1\e(B, \e0\e,T!g\e15M:\e(B "n" \e,T`\e07h\e1R\e09Qi\e19\e(B.
 
->> \e,TEM'c\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-x C-l (\e0\e,T+Vh\e(B\e1\e,T'`\e(B\e0\e,T;g\e(B\e1\e,T9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e0\e,T6Y\e(B\e1\e,T!\e(B\e0\e,T;T\e(B\e1\e,T47R'd\e(B\e0\e,TGi\e(B\e1), \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG\e(B\e0\e,T;i\e(B\e1\e,TM9\e(B "n" \e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TM`\e(B\e0\e,T;g\e(B\e1\e,T9!RC5M:\e(B
+>> \e,TEM'c\e0*i\e1$S\e0JQh\e1'\e(B C-x C-l (\e0\e,T+Vh\e1'`\e0;g\e19$S\e0JQh\e1'\e07Uh\e1\e06Y\e1!\e0;T\e147R'd\e0Gi\e1\e(B), \e,Ta\e0Ei\e1G\e0;i\e1M9\e(B "n" \e,T`\e0>Wh\e1M`\e0;g\e19!RC5M:\e(B
    \e,T$S6RA\e(B.
 
 
-* \e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1 (window)
+* \e0\e,TGT\e19b4\e0Gl\e1\e(B (window)
 ----------------
 
-\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,TJRARC6\e(B\e0\e,TAU\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1\e,TKERB\e(B\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1, \e,Ta\e(B\e0\e,T5h\e(B\e1\e,TEP\e(B\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1\e0\e,T!g\e(B\e1\e,T(PaJ4'<E"M'\e(B\e0\e,T"i\e(B\e1\e,TM$GRA"M'59`M'\e(B. \e,T`CR(P\e(B
-\e,TM\e(B\e0\e,T8T\e(B\e1\e,T:RB\e(B\e0\e,T6V\e(B\e1\e,T'\e(B\e0\e,TGT\e(B\e1\e0\e,T8U\e(B\e1\e,T!RCc\e(B\e0\e,T*i\e(B\e1\e,Ta::KERB\e(B\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1\e,TK\e(B\e0\e,TEQ\e(B\e1\e,T'(R!\e(B\e0\e,T9Ui\e(B\e1. \e,T5M9\e(B\e0\e,T9Ui\e(B\e1\e,T(P!\e(B\e0\e,TEh\e(B\e1\e,TRG\e(B\e0\e,T6V\e(B\e1\e,T'\e(B\e0\e,TGT\e(B\e1\e0\e,T8U\e(B\e1\e,T!RC\e(B\e0\e,T;T\e(B\e1\e,T4\e(B\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1\e0\e,T7Uh\e(B\e1\e,Td\e(B\e0\e,TAh\e(B\e1\e0\e,T5i\e(B\e1\e,TM'\e(B
-\e,T!RC\e(B, \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG!\e(B\e0\e,TEQ\e(B\e1\e,T:d;c\e(B\e0\e,T*i\e(B\e1\e,T`\e(B\e0\e,T>U\e(B\e1\e,TB'\e(B\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1\e,T`\e(B\e0\e,T4U\e(B\e1\e,TBG\e(B. \e0\e,T+Vh\e(B\e1\e,T'JRARC67Sd\e(B\e0\e,T4i\e(B\e1\e0\e,T4Q\e(B\e1\e,T'\e(B\e0\e,T9Ui\e(B\e1:
+\e0\e,TMU\e1aA!\e0Jl\e1JRARC6\e0AU\e1d\e04i\e1KERB\e0GT\e19b4\e0Gl\e1\e(B, \e,Ta\e05h\e1EP\e0GT\e19b4\e0Gl\e1\e0!g\e1(PaJ4'<E"M'\e0"i\e1M$GRA"M'59`M'\e(B. \e,T`CR(P\e(B
+\e,TM\e08T\e1:RB\e06V\e1'\e0GT\e1\e08U\e1!RCc\e0*i\e1a::KERB\e0GT\e19b4\e0Gl\e1K\e0EQ\e1'(R!\e09Ui\e1\e(B. \e,T5M9\e09Ui\e1(P!\e0Eh\e1RG\e06V\e1'\e0GT\e1\e08U\e1!RC\e0;T\e14\e0GT\e19b4\e0Gl\e1\e07Uh\e1d\e0Ah\e1\e05i\e1M'\e(B
+\e,T!RC\e(B, \e,Ta\e0Ei\e1G!\e0EQ\e1:d;c\e0*i\e1`\e0>U\e1B'\e0GT\e19b4\e0Gl\e1`\e04U\e1BG\e(B. \e0\e,T+Vh\e1'JRARC67Sd\e04i\e1\e04Q\e1'\e09Ui\e1\e(B:
 
-       C-x 1   \e,TK\e(B\e0\e,T9Vh\e(B\e1\e,T'\e(B\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1 (\e0\e,T$W\e(B\e1\e,TM!RC\e(B\e0\e,T;T\e(B\e1\e,T4\e(B\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1\e0\e,TMWh\e(B\e1\e,T9f\e(B \e0\e,T7Qi\e(B\e1\e,T'KA4\e(B)
+       C-x 1   \e,TK\e09Vh\e1'\e0GT\e19b4\e0Gl\e1\e(B (\e0\e,T$W\e1M!RC\e0;T\e14\e0GT\e19b4\e0Gl\e1\e0MWh\e19f\e(B \e0\e,T7Qi\e1'KA4\e(B)
 
-\e0\e,T9Qh\e(B\e1\e,T9\e(B\e0\e,T$W\e(B\e1\e,TM`\e(B\e0\e,T>U\e(B\e1\e,TB'\e(B\e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-x \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG5RA\e(B\e0\e,T4i\e(B\e1\e,TGB`E"\e(B 1. \e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-x 1 \e,T(P"BRB\e(B\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1\e0\e,T7Uh\e(B\e1\e0\e,TAU\e(B\e1
-\e,T`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1\e,TM\e(B\e0\e,TBYh\e(B\e\e,Tc\e(B\e0\e,TKi\e(B\e1\e,T`\e(B\e0\e,T5g\e(B\e1\e,TAK\e(B\e0\e,T9i\e(B\e1\e,TR(M\e(B. \e0\e,T+Vh\e(B\e1\e,T'(P`\e(B\e0\e,T;g\e(B\e1\e,T9!RC\e(B\e0\e,T;T\e(B\e1\e,T4\e(B\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1\e0\e,TMWh\e(B\e1\e,T9f\e(B \e0\e,T7Qi\e(B\e1\e,T'KA4\e(B.
+\e0\e,T9Qh\e19\e0$W\e1M`\e0>U\e1B'\e0;i\e1M9$S\e0JQh\e1'\e(B C-x \e,Ta\e0Ei\e1G5RA\e04i\e1GB`E"\e(B 1. \e,T$S\e0JQh\e1'\e(B C-x 1 \e,T(P"BRB\e0GT\e19b4\e0Gl\e1\e07Uh\e1\e0AU\e1\e(B
+\e,T`$M\e0Cl\e1`+M\e0Cl\e1M\e0BYh\e1\e(B \e,Tc\e0Ki\e1`\e05g\e1AK\e09i\e1R(M\e(B. \e0\e,T+Vh\e1'(P`\e0;g\e19!RC\e0;T\e14\e0GT\e19b4\e0Gl\e1\e0MWh\e19f\e(B \e0\e,T7Qi\e1'KA4\e(B.
 
->> \e,T`$\e(B\e0\e,TEWh\e(B\e1\e,TM9`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1\e,TAR\e(B\e0\e,TBQ\e(B\e1\e,T':CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,T9Ui\e(B\e\e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG\e(B\e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-u 0 C-l.
->> \e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-h k C-f.
-   \e,T(P`\e(B\e0\e,TKg\e(B\e1\e,T9\e(B\e0\e,TGh\e(B\e1\e,TR\e(B\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1\e0\e,T9Ui\e(B\e1\e0\e,TAU\e(B\e1\e,T"9R4\e(B\e0\e,TBh\e(B\e1\e,TME'\e(B \e,T"3P\e(B\e0\e,T7Uh\e(B\e1\e0\e,TAU\e(B\e1\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1\e,TcK\e(B\e0\e,TAh\e(B\e1\e,T`\e(B\e0\e,T!T\e(B\e1\e,T4\e(B\e0\e,T"Vi\e(B\e1\e,T9aJ4'<E"M'`M!JRC\e(B\e0\e,T7Uh\e(B\e1\e,T`\e(B\e0\e,T!Uh\e(B\e1\e,TBG\e(B\e0\e,T!Q\e(B\e1\e,T:\e(B
-   \e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'"M'\e(B C-f.
+>> \e,T`$\e0EWh\e1M9`$M\e0Cl\e1`+M\e0Cl\e1AR\e0BQ\e1':CC\e07Q\e14\e09Ui\e1\e(B \e,Ta\e0Ei\e1G\e0;i\e1M9$S\e0JQh\e1'\e(B C-u 0 C-l.
+>> \e0\e,T;i\e1M9$S\e0JQh\e1'\e(B C-h k C-f.
+   \e,T(P`\e0Kg\e19\e0Gh\e1R\e0GT\e19b4\e0Gl\e1\e09Ui\e1\e0AU\e1"9R4\e0Bh\e1ME'\e(B \e,T"3P\e07Uh\e1\e0AU\e1\e0GT\e19b4\e0Gl\e1cK\e0Ah\e1`\e0!T\e14\e0"Vi\e19aJ4'<E"M'`M!JRC\e07Uh\e1`\e0!Uh\e1BG\e0!Q\e1:\e(B
+   \e,T$S\e0JQh\e1'"M'\e(B C-f.
 
->> \e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-x 1 \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG(P>:\e(B\e0\e,TGh\e(B\e1\e,TR\e(B\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1\e0\e,T7Uh\e(B\e1\e,TaJ4'CRB!RC"M'`M!JRCKRBd;\e(B.
+>> \e0\e,T;i\e1M9$S\e0JQh\e1'\e(B C-x 1 \e,Ta\e0Ei\e1G(P>:\e0Gh\e1R\e0GT\e19b4\e0Gl\e1\e07Uh\e1aJ4'CRB!RC"M'`M!JRCKRBd;\e(B.
 
-\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T9Ui\e(B\e1\e0\e,T5h\e(B\e1\e,TR'(R!$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1\e,T!\e(B\e0\e,TEh\e(B\e1\e,TRGAR5C'\e(B\e0\e,T7Uh\e(B\e1\e0\e,TGh\e(B\e1\e,TR$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T9Ui\e(B\e1\e,T;CP!M:\e(B\e0\e,T4i\e(B\e1\e,TGBJM'\e(B\e0\e,T5Q\e(B\e1\e,TG\e(B\e0\e,TMQ\e(B\e1\e,T!IC\e(B. \e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T9Ui\e(B\e1\e,T`\e(B\e0\e,TCTh\e(B\e1\e,TA\e(B\e0\e,T5i\e(B\e1\e,T9\e(B
-\e0\e,T4i\e(B\e1\e,TGB\e(B\e0\e,TMQ\e(B\e1\e,T!"CP\e(B C-x. \e0\e,TAU\e(B\e1\e0\e,T*X\e(B\e1\e,T4"M'$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e0\e,T"Vi\e(B\e1\e,T9\e(B\e0\e,T5i\e(B\e1\e,T9\e(B\e0\e,T4i\e(B\e1\e,TGB\e(B\e0\e,TMQ\e(B\e1\e,T!"CP\e(B C-x; \e0\e,TJh\e(B\e1\e,TG9cK\e(B\e0\e,T-h\e(B\e1\e,T(P`\e(B\e0\e,T!Uh\e(B\e1\e,TBG\e(B\e0\e,T"i\e(B\e1\e,TM'\e(B\e0\e,T!Q\e(B\e1\e,T:!RC\e(B
-\e0\e,T(Q\e(B\e1\e,T4!RC\e(B\e0\e,T!Q\e(B\e1\e,T:\e(B\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1, \e,Ta\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B, \e0\e,T:Q\e(B\e1\e,T?`?M\e(B\e0\e,TCl\e(B\e1, \e,TaEP\e(B\e0\e,TMWh\e(B\e1\e,T9f\e(B \e,Tc97S9M'`\e(B\e0\e,T4U\e(B\e1\e,TBG\e(B\e0\e,T!Q\e(B\e1\e,T9\e(B. \e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'`K\e(B\e0\e,TEh\e(B\e1\e,TR\e(B\e0\e,T9Ui\e(B\e1\e,T(P\e(B
-\e,T;CP!M:\e(B\e0\e,T4i\e(B\e1\e,TGBJM'\e(B, \e,TJRA\e(B, \e,TK\e(B\e0\e,TCW\e(B\e1\e,TM\e(B\e0\e,TJUh\e(B\e1\e0\e,T5Q\e(B\e1\e,TG\e(B\e0\e,TMQ\e(B\e1\e,T!IC\e(B.
+\e,T$S\e0JQh\e1'\e09Ui\e1\e05h\e1R'(R!$S\e0JQh\e1'\e07Uh\e1d\e04i\e1!\e0Eh\e1RGAR5C'\e07Uh\e1\e0Gh\e1R$S\e0JQh\e1'\e09Ui\e1;CP!M:\e04i\e1GBJM'\e05Q\e1G\e0MQ\e1!IC\e(B. \e,T$S\e0JQh\e1'\e09Ui\e1`\e0CTh\e1A\e05i\e19\e(B
+\e0\e,T4i\e1GB\e0MQ\e1!"CP\e(B C-x. \e0\e,TAU\e1\e0*X\e14"M'$S\e0JQh\e1'\e07Uh\e1\e0"Vi\e19\e05i\e19\e04i\e1GB\e0MQ\e1!"CP\e(B C-x; \e0\e,TJh\e1G9cK\e0-h\e1(P`\e0!Uh\e1BG\e0"i\e1M'\e0!Q\e1:!RC\e(B
+\e0\e,T(Q\e14!RC\e0!Q\e1:\e0GT\e19b4\e0Gl\e1\e(B, \e,Ta\e0?i\e1A\e0"i\e1M\e0AY\e1E\e(B, \e0\e,T:Q\e1?`?M\e0Cl\e1\e(B, \e,TaEP\e0MWh\e19f\e(B \e,Tc97S9M'`\e04U\e1BG\e0!Q\e19\e(B. \e,T$S\e0JQh\e1'`K\e0Eh\e1R\e09Ui\e1(P\e(B
+\e,T;CP!M:\e04i\e1GBJM'\e(B, \e,TJRA\e(B, \e,TK\e0CW\e1M\e0JUh\e1\e05Q\e1G\e0MQ\e1!IC\e(B.
 
 
 * \e,T!RCa7C!\e(B (inserting) \e,TaEP!RCE:\e(B (deleting)
 ----------------------------------------------
 
-\e0\e,T6i\e(B\e1\e,TR\e(B\e0\e,T7h\e(B\e1\e,TR9\e(B\e0\e,T5i\e(B\e1\e,TM'!RC\e(B\e0\e,T7Uh\e(B\e1\e,T(Pa7C!\e(B\e0\e,T"i\e(B\e1\e,TM$GRA\e(B, \e0\e,T!g\e(B\e1\e,TJRARC67Sd\e(B\e0\e,T4i\e(B\e1\e,Tb4B!RC\e(B\e0\e,T;i\e(B\e1\e,TM9\e(B\e0\e,T"i\e(B\e1\e,TM$GRA\e(B\e0\e,T9Qi\e(B\e1\e,T9`\e(B\e0\e,T"i\e(B\e1\e,TRd;`\e(B\e0\e,T7h\e(B\e1\e,TR\e(B\e0\e,T9Qi\e(B\e1\e,T9\e(B. 
-\e0\e,T5Q\e(B\e1\e,TG\e(B\e0\e,TMQ\e(B\e1\e,T!IC\e(B\e0\e,T7Uh\e(B\e1\e0\e,T7h\e(B\e1\e,TR9`\e(B\e0\e,TKg\e(B\e1\e,T9\e(B, \e,T`\e(B\e0\e,T*h\e(B\e1\e,T9\e(B A, 7, *, \e,T`\e(B\e0\e,T;g\e(B\e1\e,T9\e(B\e0\e,T5i\e(B\e1\e,T9\e(B, \e0\e,T5h\e(B\e1\e,TR'\e(B\e0\e,T!g\e(B\e1\e0\e,T6W\e(B\e1\e,TM\e(B\e0\e,TGh\e(B\e1\e,TR`\e(B\e0\e,T;g\e(B\e1\e,T9\e(B\e0\e,T"i\e(B\e1\e,TM$GRAaEP\e(B\e0\e,T6Y\e(B\e1\e,T!a7C!`\e(B\e0\e,T"i\e(B\e1\e,TRd;\e(B
-\e0\e,T7Q\e(B\e1\e,T9\e(B\e0\e,T7U\e(B\e1\e0\e,T7Uh\e(B\e1\e0\e,T;i\e(B\e1\e,TM9\e(B. \e,T!4\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B <Return> \e,Tc9!RC\e(B\e0\e,T7Uh\e(B\e1\e,T(Pa7C!\e(B\e0\e,TMQ\e(B\e1\e,T!"CP\e(B Newline.
+\e0\e,T6i\e1R\e07h\e1R9\e05i\e1M'!RC\e07Uh\e1(Pa7C!\e0"i\e1M$GRA\e(B, \e0\e,T!g\e1JRARC67Sd\e04i\e1b4B!RC\e0;i\e1M9\e0"i\e1M$GRA\e09Qi\e19`\e0"i\e1Rd;`\e07h\e1R\e09Qi\e19\e(B.
+\e0\e,T5Q\e1G\e0MQ\e1!IC\e07Uh\e1\e07h\e1R9`\e0Kg\e19\e(B, \e,T`\e0*h\e19\e(B A, 7, *, \e,T`\e0;g\e19\e05i\e19\e(B, \e0\e,T5h\e1R'\e0!g\e1\e06W\e1M\e0Gh\e1R`\e0;g\e19\e0"i\e1M$GRAaEP\e06Y\e1!a7C!`\e0"i\e1Rd;\e(B
+\e0\e,T7Q\e19\e07U\e1\e07Uh\e1\e0;i\e1M9\e(B. \e,T!4\e0;Xh\e1A\e(B <Return> \e,Tc9!RC\e07Uh\e1(Pa7C!\e0MQ\e1!"CP\e(B Newline.
 
-\e0\e,T7h\e(B\e1\e,TR9JRARC6E:\e(B\e0\e,T5Q\e(B\e1\e,TG\e(B\e0\e,TMQ\e(B\e1\e,T!IC\e(B\e0\e,T5Q\e(B\e1\e,TG\e(B\e0\e,TJX\e(B\e1\e,T4\e(B\e0\e,T7i\e(B\e1\e,TRB\e(B\e0\e,T7Uh\e(B\e1\e0\e,T7h\e(B\e1\e,TR9d\e(B\e0\e,T4i\e(B\e1\e0\e,T;i\e(B\e1\e,TM9`\e(B\e0\e,T"i\e(B\e1\e,TRd;d\e(B\e0\e,T4i\e(B\e1\e,Tb4B!RC!4\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B <Delete>. \e0\e,T;Xh\e(B\e1\e,TA\e(B
-<Delete> \e,T`\e(B\e0\e,T;g\e(B\e1\e,T9\e(B\e0\e,T;Xh\e(B\e1\e,TAf\e(B \e,TK\e(B\e0\e,T9Vh\e(B\e1\e,T':9a\e(B\e0\e,T;i\e(B\e1\e,T9\e(B\e0\e,T>T\e(B\e1\e,TA\e(B\e0\e,T>l\e(B\e1, \e0\e,T+Vh\e(B\e1\e,T':R'$\e(B\e0\e,TCQi\e(B\e1\e,T'MR(`\e(B\e0\e,T;g\e(B\e1\e,T9\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B\e0\e,T7Uh\e(B\e1\e,T!S\e(B\e0\e,T!Q\e(B\e1\e,T:\e(B\e0\e,T4i\e(B\e1\e,TGB\e(B "Del". \e,Tc9:R'\e(B
-\e,T!C\e(B\e0\e,T3U\e(B\e1, \e0\e,T;Xh\e(B\e1\e,TA\e(B "Backspace" \e0\e,T!g\e(B\e1\e,T7SK\e(B\e0\e,T9i\e(B\e1\e,TR\e(B\e0\e,T7Uh\e(B\e1\e,T`\e(B\e0\e,T*h\e(B\e1\e,T9`\e(B\e0\e,T4U\e(B\e1\e,TBG\e(B\e0\e,T!Q\e(B\e1\e,T:\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B <Delete>, \e,Ta\e(B\e0\e,T5h\e(B\e1\e0\e,T!g\e(B\e1\e,Td\e(B\e0\e,TAh\e(B\e1\e,T`JAMd;\e(B.
+\e0\e,T7h\e1R9JRARC6E:\e05Q\e1G\e0MQ\e1!IC\e05Q\e1G\e0JX\e14\e07i\e1RB\e07Uh\e1\e07h\e1R9d\e04i\e1\e0;i\e1M9`\e0"i\e1Rd;d\e04i\e1b4B!RC!4\e0;Xh\e1A\e(B <Delete>. \e0\e,T;Xh\e1A\e(B
+<Delete> \e,T`\e0;g\e19\e0;Xh\e1Af\e(B \e,TK\e09Vh\e1':9a\e0;i\e19\e0>T\e1A\e0>l\e1\e(B, \e0\e,T+Vh\e1':R'$\e0CQi\e1'MR(`\e0;g\e19\e0;Xh\e1A\e07Uh\e1!S\e0!Q\e1:\e04i\e1GB\e(B "Del". \e,Tc9:R'\e(B
+\e,T!C\e03U\e1\e(B, \e0\e,T;Xh\e1A\e(B "Backspace" \e0\e,T!g\e17SK\e09i\e1R\e07Uh\e1`\e0*h\e19`\e04U\e1BG\e0!Q\e1:\e0;Xh\e1A\e(B <Delete>, \e,Ta\e05h\e1\e0!g\e1d\e0Ah\e1`JAMd;\e(B.
 
-\e,Tb4B\e(B\e0\e,T7Qh\e(B\e1\e,TGd;a\e(B\e0\e,TEi\e(B\e1\e,TG\e(B, \e0\e,T;Xh\e(B\e1\e,TA\e(B <Delete> \e,T(Pc\e(B\e0\e,T*i\e(B\e1\e,TJSK\e(B\e0\e,TCQ\e(B\e1\e,T:E:\e(B\e0\e,T5Q\e(B\e1\e,TG\e(B\e0\e,TMQ\e(B\e1\e,T!IC\e(B\e0\e,T7Uh\e(B\e1\e,TM\e(B\e0\e,TBYh\e(B\e1\e,TK\e(B\e0\e,T9i\e(B\e1\e,TR5SaK\e(B\e0\e,T9h\e(B\e1\e,T'"M'`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1\e0\e,T;Q\e(B\e1\e,T(\e(B\e0\e,T(X\e(B\e1\e0\e,T:Q\e(B\e1\e,T9\e(B.
+\e,Tb4B\e07Qh\e1Gd;a\e0Ei\e1G\e(B, \e0\e,T;Xh\e1A\e(B <Delete> \e,T(Pc\e0*i\e1JSK\e0CQ\e1:E:\e05Q\e1G\e0MQ\e1!IC\e07Uh\e1M\e0BYh\e1K\e09i\e1R5SaK\e09h\e1'"M'`$M\e0Cl\e1`+M\e0Cl\e1\e0;Q\e1(\e0(X\e1\e0:Q\e19\e(B.
 
->> \e,TEM'7S\e(B\e0\e,T4Y\e(B\e1--\e0\e,T;i\e(B\e1\e,TM9\e(B\e0\e,T5Q\e(B\e1\e,TG\e(B\e0\e,TMQ\e(B\e1\e,T!ICc4f\e(B \e0\e,TJQ\e(B\e1\e,T!JM'JRA\e(B\e0\e,T5Q\e(B\e1\e,TG\e(B, \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TGE:\e(B\e0\e,T5Q\e(B\e1\e,TG\e(B\e0\e,TMQ\e(B\e1\e,T!IC\e(B\e0\e,T9Qi\e(B\e1\e,T9MM!b4B!4\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B
-   <Delete> \e0\e,TJQ\e(B\e1\e,T!JM'JRA$\e(B\e0\e,TCQi\e(B\e1\e,T'\e(B. \e,Td\e(B\e0\e,TAh\e(B\e1\e0\e,T5i\e(B\e1\e,TM'\e(B\e0\e,T!Q\e(B\e1\e,T'GE\e(B\e0\e,TGh\e(B\e1\e,TR(P7Sc\e(B\e0\e,TKi\e(B\e1\e0\e,T"i\e(B\e1\e,TM$GRAc9a\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B\e0\e,T9Ui\e(B\e1\e,T`;\e(B\e0\e,TEUh\e(B\e1\e,TB9d;\e(B; 
-   \e0\e,T7h\e(B\e1\e,TR9(Pd\e(B\e0\e,TAh\e(B\e1\e,T7Sc\e(B\e0\e,TKi\e(B\e1\e0\e,T"i\e(B\e1\e,TM$GRAc9\e(B\e0\e,T5i\e(B\e1\e,T9)\e(B\e0\e,T:Q\e(B\e1\e,T:"M'\e(B\e0\e,T$Yh\e(B\e1\e0\e,TAW\e(B\e1\e,TM!RCc\e(B\e0\e,T*i\e(B\e1\e,T`;\e(B\e0\e,TEUh\e(B\e1\e,TB9a;E'\e(B. \e0\e,T9Uh\e(B\e1\e,T`\e(B\e0\e,T;g\e(B\e1\e,T9`\e(B\e0\e,T>U\e(B\e1\e,TB')\e(B\e0\e,T:Q\e(B\e1\e,T:JS`9R`\e(B\e0\e,T7h\e(B\e1\e,TR\e(B\e0\e,T9Qi\e(B\e1\e,T9\e(B.
+>> \e,TEM'7S\e04Y\e1\e(B--\e0\e,T;i\e1M9\e05Q\e1G\e0MQ\e1!ICc4f\e(B \e0\e,TJQ\e1!JM'JRA\e05Q\e1G\e(B, \e,Ta\e0Ei\e1GE:\e05Q\e1G\e0MQ\e1!IC\e09Qi\e19MM!b4B!4\e0;Xh\e1A\e(B
+   <Delete> \e0\e,TJQ\e1!JM'JRA$\e0CQi\e1'\e(B. \e,Td\e0Ah\e1\e05i\e1M'\e0!Q\e1'GE\e0Gh\e1R(P7Sc\e0Ki\e1\e0"i\e1M$GRAc9a\e0?i\e1A\e0"i\e1M\e0AY\e1E\e09Ui\e1`;\e0EUh\e1B9d;\e(B;
+   \e0\e,T7h\e1R9(Pd\e0Ah\e17Sc\e0Ki\e1\e0"i\e1M$GRAc9\e05i\e19)\e0:Q\e1:"M'\e0$Yh\e1\e0AW\e1M!RCc\e0*i\e1`;\e0EUh\e1B9a;E'\e(B. \e0\e,T9Uh\e1`\e0;g\e19`\e0>U\e1B')\e0:Q\e1:JS`9R`\e07h\e1R\e09Qi\e19\e(B.
 
-\e,T`\e(B\e0\e,TAWh\e(B\e1\e,TM\e(B\e0\e,T"i\e(B\e1\e,TM$GRAc9:CC\e(B\e0\e,T7Q\e(B\e1\e,T4BRG`\e(B\e0\e,T!T\e(B\e1\e,T9!\e(B\e0\e,TGh\e(B\e1\e,TRK\e(B\e0\e,T9Vh\e(B\e1\e,T':CC\e(B\e0\e,T7Q\e(B\e1\e,T4"M'K\e(B\e0\e,T9i\e(B\e1\e,TR(M\e(B, \e0\e,T"i\e(B\e1\e,TM$GRAc9:CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,T9Qi\e(B\e1\e,T9(P\e(B\e0\e,T5h\e(B\e1\e,TM`\e(B\e0\e,T9Wh\e(B\e1\e,TM'\e(B
-\e,Td;\e(B\e0\e,TBQ\e(B\e1\e,T':CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,T6Q\e(B\e1\e,T4d;"M'K\e(B\e0\e,T9i\e(B\e1\e,TR(M\e(B. \e0\e,TMQ\e(B\e1\e,T!"CP\e(B backslash ("\") \e0\e,T7Uh\e(B\e1\e,T;ERB"M'"M:"GR\e(B\e0\e,TAW\e(B\e1\e,TM(P\e(B\e0\e,T:h\e(B\e1\e,T'\e(B\e0\e,T*Ui\e(B\e1
-\e0\e,TGh\e(B\e1\e,TR\e(B\e0\e,T"i\e(B\e1\e,TM$GRA"M':CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,T9Qi\e(B\e1\e,T9\e(B\e0\e,T5h\e(B\e1\e,TM`\e(B\e0\e,T9Wh\e(B\e1\e,TM'd;\e(B\e0\e,TBQ\e(B\e1\e,T':CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,T6Q\e(B\e1\e,T4d;\e(B.
+\e,T`\e0AWh\e1M\e0"i\e1M$GRAc9:CC\e07Q\e14BRG`\e0!T\e19!\e0Gh\e1RK\e09Vh\e1':CC\e07Q\e14"M'K\e09i\e1R(M\e(B, \e0\e,T"i\e1M$GRAc9:CC\e07Q\e14\e09Qi\e19(P\e05h\e1M`\e09Wh\e1M'\e(B
+\e,Td;\e0BQ\e1':CC\e07Q\e14\e06Q\e14d;"M'K\e09i\e1R(M\e(B. \e0\e,TMQ\e1!"CP\e(B backslash ("\") \e0\e,T7Uh\e1;ERB"M'"M:"GR\e0AW\e1M(P\e0:h\e1'\e0*Ui\e1\e(B
+\e0\e,TGh\e1R\e0"i\e1M$GRA"M':CC\e07Q\e14\e09Qi\e19\e05h\e1M`\e09Wh\e1M'd;\e0BQ\e1':CC\e07Q\e14\e06Q\e14d;\e(B.
 
->> \e0\e,T;i\e(B\e1\e,TM9\e(B\e0\e,T"i\e(B\e1\e,TM$GRA(9!CP\e(B\e0\e,T7Qh\e(B\e1\e,T'\e(B\e0\e,T6V\e(B\e1\e,T'"M:"GR\e(B, \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG\e(B\e0\e,T;i\e(B\e1\e,TM9\e(B\e0\e,T5h\e(B\e1\e,TMd;\e(B\e0\e,TMU\e(B\e1\e,T!\e(B. \e0\e,T7h\e(B\e1\e,TR9(P`\e(B\e0\e,TKg\e(B\e1\e,T9!RCaJ4'<E"M'\e(B
-   \e,T:CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,T5h\e(B\e1\e,TM`\e(B\e0\e,T9Wh\e(B\e1\e,TM'\e(B\e0\e,T!Q\e(B\e1\e,T9\e(B.
+>> \e0\e,T;i\e1M9\e0"i\e1M$GRA(9!CP\e07Qh\e1'\e06V\e1'"M:"GR\e(B, \e,Ta\e0Ei\e1G\e0;i\e1M9\e05h\e1Md;\e0MU\e1!\e(B. \e0\e,T7h\e1R9(P`\e0Kg\e19!RCaJ4'<E"M'\e(B
+   \e,T:CC\e07Q\e14\e05h\e1M`\e09Wh\e1M'\e0!Q\e19\e(B.
 
->> \e,Tc\e(B\e0\e,T*i\e(B\e1\e0\e,T;Xh\e(B\e1\e,TA\e(B <Delete> \e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TME:\e(B\e0\e,T"i\e(B\e1\e,TM$GRAMM!(9!CP\e(B\e0\e,T7Qh\e(B\e1\e,T'\e(B\e0\e,T"i\e(B\e1\e,TM$GRA\e(B\e0\e,T9Qi\e(B\e1\e,T9>M\e(B\e0\e,T4U\e(B\e1\e0\e,T!Q\e(B\e1\e,T:$GRA!\e(B\e0\e,TGi\e(B\e1\e,TR'"M'K\e(B\e0\e,T9i\e(B\e1\e,TR(M\e(B. 
-   \e,T:CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,T7Uh\e(B\e1\e0\e,T5h\e(B\e1\e,TM`\e(B\e0\e,T9Wh\e(B\e1\e,TM'\e(B\e0\e,T!Q\e(B\e1\e,T9\e(B\e0\e,T!g\e(B\e1\e,T(PKRBd;\e(B.
+>> \e,Tc\e0*i\e1\e0;Xh\e1A\e(B <Delete> \e,T`\e0>Wh\e1ME:\e0"i\e1M$GRAMM!(9!CP\e07Qh\e1'\e0"i\e1M$GRA\e09Qi\e19>M\e04U\e1\e0!Q\e1:$GRA!\e0Gi\e1R'"M'K\e09i\e1R(M\e(B.
+   \e,T:CC\e07Q\e14\e07Uh\e1\e05h\e1M`\e09Wh\e1M'\e0!Q\e19\e0!g\e1(PKRBd;\e(B.
 
-\e0\e,T7h\e(B\e1\e,TR9JRARC6E:\e(B\e0\e,TMQ\e(B\e1\e,T!"CP\e(B Newline \e,TMM!d\e(B\e0\e,T4i\e(B\e1\e,T`\e(B\e0\e,T*h\e(B\e1\e,T9`\e(B\e0\e,T4U\e(B\e1\e,TBG\e(B\e0\e,T!Q\e(B\e1\e,T:\e(B\e0\e,T5Q\e(B\e1\e,TG\e(B\e0\e,TMQ\e(B\e1\e,T!IC\e(B\e0\e,TMWh\e(B\e1\e,T9f\e(B. \e,T!RCE:\e(B\e0\e,TMQ\e(B\e1\e,T!"CP\e(B Newline 
-\e,TCPK\e(B\e0\e,TGh\e(B\e1\e,TR'JM':CC\e(B\e0\e,T7Q\e(B\e1\e,T4(P`\e(B\e0\e,T;g\e(B\e1\e,T9!RCCGAJM':CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,T9Qi\e(B\e1\e,T9`\e(B\e0\e,T"i\e(B\e1\e,TR`\e(B\e0\e,T;g\e(B\e1\e,T9:CC\e(B\e0\e,T7Q\e(B\e1\e,T4`\e(B\e0\e,T4U\e(B\e1\e,TBG\e(B. \e0\e,T6i\e(B\e1\e,TR<E"M'!RCCGAJM'\e(B
-\e,T:CC\e(B\e0\e,T7Q\e(B\e1\e,T4`\e(B\e0\e,T"i\e(B\e1\e,TR\e(B\e0\e,T4i\e(B\e1\e,TGB\e(B\e0\e,T!Q\e(B\e1\e,T97Sc\e(B\e0\e,TKi\e(B\e1\e,T:CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,T9Qi\e(B\e1\e,T9BRG`\e(B\e0\e,T!T\e(B\e1\e,T9!\e(B\e0\e,TGh\e(B\e1\e,TR:CC\e(B\e0\e,T7Q\e(B\e1\e,T4"M'K\e(B\e0\e,T9i\e(B\e1\e,TR(Ma\e(B\e0\e,TEi\e(B\e1\e,TG\e(B, \e,T:CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,T9Qi\e(B\e1\e,T9\e(B\e0\e,T!g\e(B\e1\e,T(P`\e(B\e0\e,T;g\e(B\e1\e,T9:CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B
-\e,Ta::\e(B\e0\e,T5h\e(B\e1\e,TM`\e(B\e0\e,T9Wh\e(B\e1\e,TM'\e(B.
+\e0\e,T7h\e1R9JRARC6E:\e0MQ\e1!"CP\e(B Newline \e,TMM!d\e04i\e1`\e0*h\e19`\e04U\e1BG\e0!Q\e1:\e05Q\e1G\e0MQ\e1!IC\e0MWh\e19f\e(B. \e,T!RCE:\e0MQ\e1!"CP\e(B Newline
+\e,TCPK\e0Gh\e1R'JM':CC\e07Q\e14(P`\e0;g\e19!RCCGAJM':CC\e07Q\e14\e09Qi\e19`\e0"i\e1R`\e0;g\e19:CC\e07Q\e14`\e04U\e1BG\e(B. \e0\e,T6i\e1R<E"M'!RCCGAJM'\e(B
+\e,T:CC\e07Q\e14`\e0"i\e1R\e04i\e1GB\e0!Q\e197Sc\e0Ki\e1:CC\e07Q\e14\e09Qi\e19BRG`\e0!T\e19!\e0Gh\e1R:CC\e07Q\e14"M'K\e09i\e1R(Ma\e0Ei\e1G\e(B, \e,T:CC\e07Q\e14\e09Qi\e19\e0!g\e1(P`\e0;g\e19:CC\e07Q\e14\e(B
+\e,Ta::\e05h\e1M`\e09Wh\e1M'\e(B.
 
->> \e,T`$\e(B\e0\e,TEWh\e(B\e1\e,TM9`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1\e,Td;\e(B\e0\e,TBQ\e(B\e1\e,T'5SaK\e(B\e0\e,T9h\e(B\e1\e,T'`\e(B\e0\e,TCTh\e(B\e1\e,TA\e(B\e0\e,T5i\e(B\e1\e,T9"M':CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B, \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG!4\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B <Delete>.
-   \e,T:CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,T;Q\e(B\e1\e,T(\e(B\e0\e,T(X\e(B\e1\e0\e,T:Q\e(B\e1\e,T9(P\e(B\e0\e,T6Y\e(B\e1\e,T!`\e(B\e0\e,T*Wh\e(B\e1\e,TMA`\e(B\e0\e,T"i\e(B\e1\e,TR\e(B\e0\e,T!Q\e(B\e1\e,T::CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,T!h\e(B\e1\e,TM9K\e(B\e0\e,T9i\e(B\e1\e,TR\e(B.
+>> \e,T`$\e0EWh\e1M9`$M\e0Cl\e1`+M\e0Cl\e1d;\e0BQ\e1'5SaK\e09h\e1'`\e0CTh\e1A\e05i\e19"M':CC\e07Q\e14\e(B, \e,Ta\e0Ei\e1G!4\e0;Xh\e1A\e(B <Delete>.
+   \e,T:CC\e07Q\e14\e0;Q\e1(\e0(X\e1\e0:Q\e19(P\e06Y\e1!`\e0*Wh\e1MA`\e0"i\e1R\e0!Q\e1::CC\e07Q\e14\e0!h\e1M9K\e09i\e1R\e(B.
 
->> \e,T!4\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B <Return> \e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TM\e(B\e0\e,T7Uh\e(B\e1\e,T(Pa7C!\e(B\e0\e,TMQ\e(B\e1\e,T!"CP\e(B Newline \e,T`\e(B\e0\e,T"i\e(B\e1\e,TRd;cK\e(B\e0\e,TAh\e(B\e1.
+>> \e,T!4\e0;Xh\e1A\e(B <Return> \e,T`\e0>Wh\e1M\e07Uh\e1(Pa7C!\e0MQ\e1!"CP\e(B Newline \e,T`\e0"i\e1Rd;cK\e0Ah\e1\e(B.
 
-\e,T$GC(Sd\e(B\e0\e,TGi\e(B\e1\e0\e,TGh\e(B\e1\e,TR$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,TJh\e(B\e1\e,TG9cK\e(B\e0\e,T-h\e(B\e1\e,T"M'\e(B\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,T(PJRARC67Sc\e(B\e0\e,TKi\e(B\e1\e,T;CPAGE<E\e(B\e0\e,T+i\e(B\e1\e,TSd\e(B\e0\e,T4i\e(B\e1\e,TKERB$\e(B\e0\e,TCQi\e(B\e1\e,T'\e(B; \e0\e,T+Vh\e(B\e1\e,T'CGA\e(B\e0\e,T6V\e(B\e1\e,T'\e(B
-\e,T(S9G9\e(B\e0\e,T5Q\e(B\e1\e,TG\e(B\e0\e,TMQ\e(B\e1\e,T!IC\e(B\e0\e,T4i\e(B\e1\e,TGB\e(B. \e,T!RC;CPAGE<E\e(B\e0\e,T+i\e(B\e1\e,TS"M'!RC\e(B\e0\e,T;i\e(B\e1\e,TM9\e(B\e0\e,T5Q\e(B\e1\e,TG\e(B\e0\e,TMQ\e(B\e1\e,T!IC\e(B\e0\e,T$W\e(B\e1\e,TM!RCa7C!\e(B\e0\e,T5Q\e(B\e1\e,TG\e(B\e0\e,TMQ\e(B\e1\e,T!IC`K\e(B\e0\e,TEh\e(B\e1\e,TR\e(B\e0\e,T9Qi\e(B\e1\e,T9`\e(B\e0\e,T"i\e(B\e1\e,TRd;\e(B.
+\e,T$GC(Sd\e0Gi\e1\e0Gh\e1R$S\e0JQh\e1'\e0Jh\e1G9cK\e0-h\e1"M'\e0MU\e1aA!\e0Jl\e1(PJRARC67Sc\e0Ki\e1;CPAGE<E\e0+i\e1Sd\e04i\e1KERB$\e0CQi\e1'\e(B; \e0\e,T+Vh\e1'CGA\e06V\e1'\e(B
+\e,T(S9G9\e05Q\e1G\e0MQ\e1!IC\e04i\e1GB\e(B. \e,T!RC;CPAGE<E\e0+i\e1S"M'!RC\e0;i\e1M9\e05Q\e1G\e0MQ\e1!IC\e0$W\e1M!RCa7C!\e05Q\e1G\e0MQ\e1!IC`K\e0Eh\e1R\e09Qi\e19`\e0"i\e1Rd;\e(B.
 
->> \e,TEM'7S\e(B\e0\e,T4Y\e(B\e1\e,T`\e(B\e0\e,T4Uk\e(B\e1\e,TBG\e(B\e0\e,T9Ui\e(B\e1--\e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-u 8 * \e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TM\e(B\e0\e,T7Uh\e(B\e1\e,T(P\e(B\e0\e,T;i\e(B\e1\e,TM9JRB\e(B\e0\e,TMQ\e(B\e1\e,T!"CP\e(B ********.
+>> \e,TEM'7S\e04Y\e1`\e04Uk\e1BG\e09Ui\e1\e(B--\e0\e,T;i\e1M9$S\e0JQh\e1'\e(B C-u 8 * \e,T`\e0>Wh\e1M\e07Uh\e1(P\e0;i\e1M9JRB\e0MQ\e1!"CP\e(B ********.
 
-\e0\e,T7h\e(B\e1\e,TR9d\e(B\e0\e,T4i\e(B\e1\e,T`\e(B\e0\e,TCU\e(B\e1\e,TB9\e(B\e0\e,TCYi\e(B\e1\e0\e,T6V\e(B\e1\e,T'\e(B\e0\e,TGT\e(B\e1\e0\e,T8U\e(B\e1\e,T!RC`\e(B\e0\e,T:Wi\e(B\e1\e,TM'\e(B\e0\e,T5i\e(B\e1\e,T9c9!RC\e(B\e0\e,T;i\e(B\e1\e,TM9:R'\e(B\e0\e,TJTh\e(B\e1\e,T':R'M\e(B\e0\e,TBh\e(B\e1\e,TR'c9\e(B\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,TaEP!RCa\e(B\e0\e,T!i\e(B\e1\e,Td"\e(B
-\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,T<T\e(B\e1\e,T4>ER4\e(B\e0\e,T5h\e(B\e1\e,TR'f\e(B. \e0\e,T7h\e(B\e1\e,TR9JRARC6\e(B\e0\e,T7Uh\e(B\e1\e,T(PE:\e(B\e0\e,T7U\e(B\e1\e,TEP$SK\e(B\e0\e,TCW\e(B\e1\e,TM\e(B\e0\e,T7U\e(B\e1\e,TEP:CC\e(B\e0\e,T7Q\e(B\e1\e,T4c97S9M'`\e(B\e0\e,T4U\e(B\e1\e,TBG\e(B\e0\e,T!Q\e(B\e1\e,T9\e(B. \e0\e,T5h\e(B\e1\e,TMd;\e(B\e0\e,T9Ui\e(B\e1\e,T`\e(B\e0\e,T;g\e(B\e1\e,T9\e(B
-\e,T!RCJ\e(B\e0\e,TCX\e(B\e1\e,T;!RCE:\e(B\e0\e,T4i\e(B\e1\e,TGB\e(B\e0\e,TGT\e(B\e1\e0\e,T8U\e(B\e1\e0\e,T5h\e(B\e1\e,TR'f\e(B:
+\e0\e,T7h\e1R9d\e04i\e1`\e0CU\e1B9\e0CYi\e1\e06V\e1'\e0GT\e1\e08U\e1!RC`\e0:Wi\e1M'\e05i\e19c9!RC\e0;i\e1M9:R'\e0JTh\e1':R'M\e0Bh\e1R'c9\e0MU\e1aA!\e0Jl\e1aEP!RCa\e0!i\e1d"\e(B
+\e0\e,T"i\e1M\e0<T\e14>ER4\e05h\e1R'f\e(B. \e0\e,T7h\e1R9JRARC6\e07Uh\e1(PE:\e07U\e1EP$SK\e0CW\e1M\e07U\e1EP:CC\e07Q\e14c97S9M'`\e04U\e1BG\e0!Q\e19\e(B. \e0\e,T5h\e1Md;\e09Ui\e1`\e0;g\e19\e(B
+\e,T!RCJ\e0CX\e1;!RCE:\e04i\e1GB\e0GT\e1\e08U\e1\e05h\e1R'f\e(B:
 
-       <Delete>        \e,TE:\e(B\e0\e,T5Q\e(B\e1\e,TG\e(B\e0\e,TMQ\e(B\e1\e,T!IC\e(B\e0\e,T7Uh\e(B\e1\e,TM\e(B\e0\e,TBYh\e(B\e1\e,TK\e(B\e0\e,T9i\e(B\e1\e,TR5SaK\e(B\e0\e,T9h\e(B\e1\e,T'`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1
-       C-d             \e,TE:\e(B\e0\e,T5Q\e(B\e1\e,TG\e(B\e0\e,TMQ\e(B\e1\e,T!IC\e(B\e0\e,T7Uh\e(B\e1\e,TM\e(B\e0\e,TBYh\e(B\e1\e0\e,T6Q\e(B\e1\e,T4d;K\e(B\e0\e,TEQ\e(B\e1\e,T'5SaK\e(B\e0\e,T9h\e(B\e1\e,T'`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1
+       <Delete>        \e,TE:\e05Q\e1G\e0MQ\e1!IC\e07Uh\e1M\e0BYh\e1K\e09i\e1R5SaK\e09h\e1'`$M\e0Cl\e1`+M\e0Cl\e1\e(B
+       C-d             \e,TE:\e05Q\e1G\e0MQ\e1!IC\e07Uh\e1M\e0BYh\e1\e06Q\e14d;K\e0EQ\e1'5SaK\e09h\e1'`$M\e0Cl\e1`+M\e0Cl\e1\e(B
 
-       M-<Delete>      \e0\e,T&h\e(B\e1\e,TR$S\e(B\e0\e,T7Uh\e(B\e1\e,TM\e(B\e0\e,TBYh\e(B\e1\e,TK\e(B\e0\e,T9i\e(B\e1\e,TR5SaK\e(B\e0\e,T9h\e(B\e1\e,T'`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1
-       M-d             \e0\e,T&h\e(B\e1\e,TR$S\e(B\e0\e,T7Uh\e(B\e1\e,TM\e(B\e0\e,TBYh\e(B\e1\e0\e,T6Q\e(B\e1\e,T4d;K\e(B\e0\e,TEQ\e(B\e1\e,T'5SaK\e(B\e0\e,T9h\e(B\e1\e,T'`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1
+       M-<Delete>      \e0\e,T&h\e1R$S\e07Uh\e1M\e0BYh\e1K\e09i\e1R5SaK\e09h\e1'`$M\e0Cl\e1`+M\e0Cl\e1\e(B
+       M-d             \e0\e,T&h\e1R$S\e07Uh\e1M\e0BYh\e1\e06Q\e14d;K\e0EQ\e1'5SaK\e09h\e1'`$M\e0Cl\e1`+M\e0Cl\e1\e(B
 
-       C-k             \e0\e,T&h\e(B\e1\e,TR\e(B\e0\e,T5Q\e(B\e1\e,TG\e(B\e0\e,TMQ\e(B\e1\e,T!IC\e(B\e0\e,T5Qi\e(B\e1\e,T'a\e(B\e0\e,T5h\e(B\e1\e,T5SaK\e(B\e0\e,T9h\e(B\e1\e,T'`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1\e,Td;(9\e(B\e0\e,T6V\e(B\e1\e,T'\e(B\e0\e,T7i\e(B\e1\e,TRB:CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B
-       M-k             \e0\e,T&h\e(B\e1\e,TR\e(B\e0\e,T5Q\e(B\e1\e,TG\e(B\e0\e,TMQ\e(B\e1\e,T!IC\e(B\e0\e,T5Qi\e(B\e1\e,T'a\e(B\e0\e,T5h\e(B\e1\e,T5SaK\e(B\e0\e,T9h\e(B\e1\e,T'`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1\e,Td;(9\e(B\e0\e,T6V\e(B\e1\e,T'\e(B\e0\e,T7i\e(B\e1\e,TRB"M';CPbB$\e(B
+       C-k             \e0\e,T&h\e1R\e05Q\e1G\e0MQ\e1!IC\e05Qi\e1'a\e05h\e15SaK\e09h\e1'`$M\e0Cl\e1`+M\e0Cl\e1d;(9\e06V\e1'\e07i\e1RB:CC\e07Q\e14\e(B
+       M-k             \e0\e,T&h\e1R\e05Q\e1G\e0MQ\e1!IC\e05Qi\e1'a\e05h\e15SaK\e09h\e1'`$M\e0Cl\e1`+M\e0Cl\e1d;(9\e06V\e1'\e07i\e1RB"M';CPbB$\e(B
 
-\e,T$GC(P\e(B\e0\e,TJQ\e(B\e1\e,T'`!5d\e(B\e0\e,T4i\e(B\e1\e0\e,TGh\e(B\e1\e,TR$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B <Delete> \e,TaEP\e(B C-d, \e0\e,T!Q\e(B\e1\e,T:\e(B M-<Delete> \e,TaEP\e(B M-d \e,T`\e(B\e0\e,T;g\e(B\e1\e,T9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B
-\e,Tc97S9M'`\e(B\e0\e,T4U\e(B\e1\e,TBG\e(B\e0\e,T!Q\e(B\e1\e,T9\e(B\e0\e,T7Uh\e(B\e1\e,T`\e(B\e0\e,TCTh\e(B\e1\e,TA(R!$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-f \e,TaEP\e(B M-f (\e,Ta\e(B\e0\e,TAi\e(B\e1\e0\e,TGh\e(B\e1\e,TR\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B <Delete> \e,T(Pd\e(B\e0\e,TAh\e(B\e1\e,Tc\e(B\e0\e,T*h\e(B\e1\e0\e,T5Q\e(B\e1\e,TG\e(B\e0\e,TMQ\e(B\e1\e,T!IC\e(B
-\e0\e,T!g\e(B\e1\e,T5RA\e(B, \e,Ta\e(B\e0\e,T5h\e(B\e1\e,Td\e(B\e0\e,TAh\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1\e,T`\e(B\e0\e,T;g\e(B\e1\e,T9`\e(B\e0\e,TCWh\e(B\e1\e,TM'JS\e(B\e0\e,T$Q\e(B\e1\e,T-\e(B). \e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-k \e,TaEP\e(B M-k \e0\e,T!g\e(B\e1\e,T`\e(B\e0\e,T*h\e(B\e1\e,T9`\e(B\e0\e,T4U\e(B\e1\e,TBG\e(B\e0\e,T!Q\e(B\e1\e,T:\e(B C-e \e,TaEP\e(B M-e \e0\e,T7Uh\e(B\e1
-\e,T7S'R9c9\e(B\e0\e,TEQ\e(B\e1\e,T!I3P`\e(B\e0\e,T4U\e(B\e1\e,TBG\e(B\e0\e,T!Q\e(B\e1\e,T9a\e(B\e0\e,T5h\e(B\e1\e,T$9EPCP\e(B\e0\e,T4Q\e(B\e1\e,T:\e(B, \e0\e,T$W\e(B\e1\e,TMCP\e(B\e0\e,T4Q\e(B\e1\e,T:\e(B\e0\e,T7Uh\e(B\e1\e,T`\e(B\e0\e,T;g\e(B\e1\e,T9:CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,T!Q\e(B\e1\e,T:;CPbB$\e(B.
+\e,T$GC(P\e0JQ\e1'`!5d\e04i\e1\e0Gh\e1R$S\e0JQh\e1'\e(B <Delete> \e,TaEP\e(B C-d, \e0\e,T!Q\e1:\e(B M-<Delete> \e,TaEP\e(B M-d \e,T`\e0;g\e19$S\e0JQh\e1'\e(B
+\e,Tc97S9M'`\e04U\e1BG\e0!Q\e19\e07Uh\e1`\e0CTh\e1A(R!$S\e0JQh\e1'\e(B C-f \e,TaEP\e(B M-f (\e,Ta\e0Ai\e1\e0Gh\e1R\e0;Xh\e1A\e(B <Delete> \e,T(Pd\e0Ah\e1c\e0*h\e1\e05Q\e1G\e0MQ\e1!IC\e(B
+\e0\e,T!g\e15RA\e(B, \e,Ta\e05h\e1d\e0Ah\e1d\e04i\e1`\e0;g\e19`\e0CWh\e1M'JS\e0$Q\e1-\e(B). \e,T$S\e0JQh\e1'\e(B C-k \e,TaEP\e(B M-k \e0\e,T!g\e1`\e0*h\e19`\e04U\e1BG\e0!Q\e1:\e(B C-e \e,TaEP\e(B M-e \e0\e,T7Uh\e1\e(B
+\e,T7S'R9c9\e0EQ\e1!I3P`\e04U\e1BG\e0!Q\e19a\e05h\e1$9EPCP\e04Q\e1:\e(B, \e0\e,T$W\e1MCP\e04Q\e1:\e07Uh\e1`\e0;g\e19:CC\e07Q\e14\e0!Q\e1:;CPbB$\e(B.
 
-\e,T`\e(B\e0\e,TAWh\e(B\e1\e,TM\e(B\e0\e,T7h\e(B\e1\e,TR9E:\e(B\e0\e,T5Q\e(B\e1\e,TG\e(B\e0\e,TMQ\e(B\e1\e,T!ICd;AR!!\e(B\e0\e,TGh\e(B\e1\e,TRK\e(B\e0\e,T9Vh\e(B\e1\e,T'\e(B\e0\e,T5Q\e(B\e1\e,TGc9$\e(B\e0\e,TCQi\e(B\e1\e,T'K\e(B\e0\e,T9Vh\e(B\e1\e,T'f\e(B, \e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,T(P\e(B\e0\e,T:Q\e(B\e1\e,T9\e(B\e0\e,T7V\e(B\e1\e,T!\e(B\e0\e,T"i\e(B\e1\e,TM$GRA\e(B\e0\e,T7Uh\e(B\e1\e0\e,T6Y\e(B\e1\e,T!E:d;d\e(B\e0\e,TGi\e(B\e1
-\e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TM\e(B\e0\e,TGh\e(B\e1\e,TR\e(B\e0\e,T7h\e(B\e1\e,TR9(PJRARC6`\e(B\e0\e,TCU\e(B\e1\e,TB!!\e(B\e0\e,TEQ\e(B\e1\e,T:ARd\e(B\e0\e,T4i\e(B\e1\e0\e,TMU\e(B\e1\e,T!\e(B. \e,T!RC`\e(B\e0\e,TCU\e(B\e1\e,TB!!\e(B\e0\e,TEQ\e(B\e1\e,T:AR"M'\e(B\e0\e,T"i\e(B\e1\e,TM$GRA\e(B\e0\e,T7Uh\e(B\e1\e0\e,T6Y\e(B\e1\e,T!\e(B\e0\e,T&h\e(B\e1\e,TRd;\e(B\e0\e,T9Qi\e(B\e1\e,T9`\e(B\e0\e,TCU\e(B\e1\e,TB!\e(B\e0\e,TGh\e(B\e1\e,TR\e(B
-"\e,T!RC`\e(B\e0\e,TCU\e(B\e1\e,TB!\e(B\e0\e,T$W\e(B\e1\e,T9\e(B (yanking)". \e0\e,T7h\e(B\e1\e,TR9JRARC6`\e(B\e0\e,TCU\e(B\e1\e,TB!\e(B\e0\e,T$W\e(B\e1\e,T9\e(B\e0\e,T"i\e(B\e1\e,TM$GRA\e(B\e0\e,T7Uh\e(B\e1\e0\e,T6Y\e(B\e1\e,T!\e(B\e0\e,T&h\e(B\e1\e,TRd;!\e(B\e0\e,TEQ\e(B\e1\e,T:ARd\e(B\e0\e,T4i\e(B\e1\e,Tb4Bc\e(B\e0\e,TKi\e(B\e1
-\e,T;CR!/c9\e(B\e0\e,T7Uh\e(B\e1\e0\e,T7Uh\e(B\e1\e0\e,T6Y\e(B\e1\e,T!\e(B\e0\e,T&h\e(B\e1\e,TRd;\e(B, \e,TK\e(B\e0\e,TCW\e(B\e1\e,TM;CR!/c9\e(B\e0\e,T7Uh\e(B\e1\e,Tc4f\e(B \e,T"M'\e(B\e0\e,T"i\e(B\e1\e,TM$GRA\e(B\e0\e,T!g\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1. \e0\e,T7h\e(B\e1\e,TR9JRARC6`\e(B\e0\e,TCU\e(B\e1\e,TB!\e(B\e0\e,T$W\e(B\e1\e,T9\e(B\e0\e,T"i\e(B\e1\e,TM$GRA\e(B
-\e0\e,T!Uh\e(B\e1\e,T$\e(B\e0\e,TCQi\e(B\e1\e,T'\e(B\e0\e,T!g\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1\e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TM\e(B\e0\e,T7Uh\e(B\e1\e,T(P7SJS`9R\e(B\e0\e,T"i\e(B\e1\e,TM$GRA\e(B. \e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e,Tc\e(B\e0\e,T*i\e(B\e1\e,Tc9!RC`\e(B\e0\e,TCU\e(B\e1\e,TB!\e(B\e0\e,T$W\e(B\e1\e,T9\e(B\e0\e,T$W\e(B\e1\e,TM\e(B C-y.
+\e,T`\e0AWh\e1M\e07h\e1R9E:\e05Q\e1G\e0MQ\e1!ICd;AR!!\e0Gh\e1RK\e09Vh\e1'\e05Q\e1Gc9$\e0CQi\e1'K\e09Vh\e1'f\e(B, \e0\e,TMU\e1aA!\e0Jl\e1(P\e0:Q\e19\e07V\e1!\e0"i\e1M$GRA\e07Uh\e1\e06Y\e1!E:d;d\e0Gi\e1\e(B
+\e,T`\e0>Wh\e1M\e0Gh\e1R\e07h\e1R9(PJRARC6`\e0CU\e1B!!\e0EQ\e1:ARd\e04i\e1\e0MU\e1!\e(B. \e,T!RC`\e0CU\e1B!!\e0EQ\e1:AR"M'\e0"i\e1M$GRA\e07Uh\e1\e06Y\e1!\e0&h\e1Rd;\e09Qi\e19`\e0CU\e1B!\e0Gh\e1R\e(B
+"\e,T!RC`\e0CU\e1B!\e0$W\e19\e(B (yanking)". \e0\e,T7h\e1R9JRARC6`\e0CU\e1B!\e0$W\e19\e0"i\e1M$GRA\e07Uh\e1\e06Y\e1!\e0&h\e1Rd;!\e0EQ\e1:ARd\e04i\e1b4Bc\e0Ki\e1\e(B
+\e,T;CR!/c9\e07Uh\e1\e07Uh\e1\e06Y\e1!\e0&h\e1Rd;\e(B, \e,TK\e0CW\e1M;CR!/c9\e07Uh\e1c4f\e(B \e,T"M'\e0"i\e1M$GRA\e0!g\e1d\e04i\e1\e(B. \e0\e,T7h\e1R9JRARC6`\e0CU\e1B!\e0$W\e19\e0"i\e1M$GRA\e(B
+\e0\e,T!Uh\e1$\e0CQi\e1'\e0!g\e1d\e04i\e1`\e0>Wh\e1M\e07Uh\e1(P7SJS`9R\e0"i\e1M$GRA\e(B. \e,T$S\e0JQh\e1'\e07Uh\e1c\e0*i\e1c9!RC`\e0CU\e1B!\e0$W\e19\e0$W\e1M\e(B C-y.
 
-\e0\e,TJTh\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e,T$GC\e(B\e0\e,TJQ\e(B\e1\e,T'`!5\e(B\e0\e,TMQ\e(B\e1\e,T9K\e(B\e0\e,T9Vh\e(B\e1\e,T'\e(B\e0\e,T$W\e(B\e1\e,TM\e(B\e0\e,T"i\e(B\e1\e,TMa5!\e(B\e0\e,T5h\e(B\e1\e,TR'CPK\e(B\e0\e,TGh\e(B\e1\e,TR'\e(B "\e,T!RC\e(B\e0\e,T&h\e(B\e1\e,TR\e(B (killing)" \e0\e,T!Q\e(B\e1\e,T:\e(B "\e,T!RCE:\e(B
-(deleting)". \e0\e,TJTh\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e0\e,T6Y\e(B\e1\e,T!\e(B "\e0\e,T&h\e(B\e1\e,TR\e(B (killed)" \e,Td;\e(B\e0\e,T9Qi\e(B\e1\e,T9\e(B, \e,TJRARC6\e(B\e0\e,T7Uh\e(B\e1\e,T(P`\e(B\e0\e,TCU\e(B\e1\e,TB!\e(B\e0\e,T$W\e(B\e1\e,T9\e(B (yank) \e,TARd\e(B\e0\e,T4i\e(B\e1, 
-\e,Ta\e(B\e0\e,T5h\e(B\e1\e0\e,TJTh\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e0\e,T6Y\e(B\e1\e,T!\e(B "\e,TE:\e(B (deleted)" \e,Td;\e(B\e0\e,T9Qi\e(B\e1\e,T9\e(B, \e,Td\e(B\e0\e,TAh\e(B\e1\e,TJRARC6(P`\e(B\e0\e,TCU\e(B\e1\e,TB!\e(B\e0\e,T$W\e(B\e1\e,T9ARd\e(B\e0\e,T4i\e(B\e1. \e,Tb4B\e(B\e0\e,T7Qh\e(B\e1\e,TGd;\e(B, \e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e,TJRARC6\e(B
-\e,TE:\e(B\e0\e,T"i\e(B\e1\e,TM$GRAd\e(B\e0\e,T4i\e(B\e1\e0\e,T7U\e(B\e1\e,TEPAR!f\e(B \e,T(P`\e(B\e0\e,T!g\e(B\e1\e,T:\e(B\e0\e,T"i\e(B\e1\e,TM$GRA\e(B\e0\e,T9Qi\e(B\e1\e,T9d\e(B\e0\e,TGi\e(B\e1, \e,T"3P\e(B\e0\e,T7Uh\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e,TE:d\e(B\e0\e,T4i\e(B\e1\e0\e,T7U\e(B\e1\e,TEP\e(B\e0\e,T5Q\e(B\e1\e,TG\e(B\e0\e,TMQ\e(B\e1\e,T!IC\e(B, \e,TK\e(B\e0\e,TCW\e(B\e1\e,TM:CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B
-\e,T`;\e(B\e0\e,TEh\e(B\e1\e,TRaEP`\e(B\e0\e,TGi\e(B\e1\e,T9GCC$\e(B, \e,T(Pd\e(B\e0\e,TAh\e(B\e1\e,T`\e(B\e0\e,T!g\e(B\e1\e,T:\e(B\e0\e,T"i\e(B\e1\e,TM$GRA\e(B\e0\e,T7Uh\e(B\e1\e0\e,T6Y\e(B\e1\e,T!E:d;\e(B.
+\e0\e,TJTh\e1'\e07Uh\e1$GC\e0JQ\e1'`!5\e0MQ\e19K\e09Vh\e1'\e0$W\e1M\e0"i\e1Ma5!\e05h\e1R'CPK\e0Gh\e1R'\e(B "\e,T!RC\e0&h\e1R\e(B (killing)" \e0\e,T!Q\e1:\e(B "\e,T!RCE:\e(B
+(deleting)". \e0\e,TJTh\e1'\e07Uh\e1\e06Y\e1!\e(B "\e0\e,T&h\e1R\e(B (killed)" \e,Td;\e09Qi\e19\e(B, \e,TJRARC6\e07Uh\e1(P`\e0CU\e1B!\e0$W\e19\e(B (yank) \e,TARd\e04i\e1\e(B,
+\e,Ta\e05h\e1\e0JTh\e1'\e07Uh\e1\e06Y\e1!\e(B "\e,TE:\e(B (deleted)" \e,Td;\e09Qi\e19\e(B, \e,Td\e0Ah\e1JRARC6(P`\e0CU\e1B!\e0$W\e19ARd\e04i\e1\e(B. \e,Tb4B\e07Qh\e1Gd;\e(B, \e,T$S\e0JQh\e1'\e07Uh\e1JRARC6\e(B
+\e,TE:\e0"i\e1M$GRAd\e04i\e1\e07U\e1EPAR!f\e(B \e,T(P`\e0!g\e1:\e0"i\e1M$GRA\e09Qi\e19d\e0Gi\e1\e(B, \e,T"3P\e07Uh\e1$S\e0JQh\e1'\e07Uh\e1E:d\e04i\e1\e07U\e1EP\e05Q\e1G\e0MQ\e1!IC\e(B, \e,TK\e0CW\e1M:CC\e07Q\e14\e(B
+\e,T`;\e0Eh\e1RaEP`\e0Gi\e19GCC$\e(B, \e,T(Pd\e0Ah\e1`\e0!g\e1:\e0"i\e1M$GRA\e07Uh\e1\e06Y\e1!E:d;\e(B.
 
->> \e,T`$\e(B\e0\e,TEWh\e(B\e1\e,TM9`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1\e,Td;\e(B\e0\e,TBQ\e(B\e1\e,T'\e(B\e0\e,T(X\e(B\e1\e,T4`\e(B\e0\e,TCTh\e(B\e1\e,TA\e(B\e0\e,T5i\e(B\e1\e,T9"M':CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,T7Uh\e(B\e1\e,Td\e(B\e0\e,TAh\e(B\e1\e,Tc\e(B\e0\e,T*h\e(B\e1\e,T:CC\e(B\e0\e,T7Q\e(B\e1\e,T4`;\e(B\e0\e,TEh\e(B\e1\e,TR\e(B.
-   \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG\e(B\e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-k \e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TM\e(B\e0\e,T7Uh\e(B\e1\e,T(P\e(B\e0\e,T&h\e(B\e1\e,TR\e(B\e0\e,T"i\e(B\e1\e,TM$GRA\e(B\e0\e,T7Uh\e(B\e1\e,TM\e(B\e0\e,TBYh\e(B\e1\e,T:9:CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,T9Qi\e(B\e1\e,T9\e(B.
->> \e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-k \e0\e,TMU\e(B\e1\e,T!$\e(B\e0\e,TCQi\e(B\e1\e,T'K\e(B\e0\e,T9Vh\e(B\e1\e,T'\e(B. \e0\e,T7h\e(B\e1\e,TR9(P`\e(B\e0\e,TKg\e(B\e1\e,T9\e(B\e0\e,TGh\e(B\e1\e,TR\e(B\e0\e,TMQ\e(B\e1\e,T!"CP\e(B Newline \e0\e,T7Uh\e(B\e1\e,TM\e(B\e0\e,TBYh\e(B\e1\e0\e,T7i\e(B\e1\e,TRB:CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,T9Qi\e(B\e1\e,T9(P\e(B\e0\e,T6Y\e(B\e1\e,T!\e(B
-   \e0\e,T&h\e(B\e1\e,TRd;\e(B.
+>> \e,T`$\e0EWh\e1M9`$M\e0Cl\e1`+M\e0Cl\e1d;\e0BQ\e1'\e0(X\e14`\e0CTh\e1A\e05i\e19"M':CC\e07Q\e14\e07Uh\e1d\e0Ah\e1c\e0*h\e1:CC\e07Q\e14`;\e0Eh\e1R\e(B.
+   \e,Ta\e0Ei\e1G\e0;i\e1M9$S\e0JQh\e1'\e(B C-k \e,T`\e0>Wh\e1M\e07Uh\e1(P\e0&h\e1R\e0"i\e1M$GRA\e07Uh\e1M\e0BYh\e1:9:CC\e07Q\e14\e09Qi\e19\e(B.
+>> \e0\e,T;i\e1M9$S\e0JQh\e1'\e(B C-k \e0\e,TMU\e1!$\e0CQi\e1'K\e09Vh\e1'\e(B. \e0\e,T7h\e1R9(P`\e0Kg\e19\e0Gh\e1R\e0MQ\e1!"CP\e(B Newline \e0\e,T7Uh\e1M\e0BYh\e1\e07i\e1RB:CC\e07Q\e14\e09Qi\e19(P\e06Y\e1!\e(B
+   \e0\e,T&h\e1Rd;\e(B.
 
-\e,T(P\e(B\e0\e,TJQ\e(B\e1\e,T'`!5d\e(B\e0\e,T4i\e(B\e1\e0\e,TGh\e(B\e1\e,TR$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-k \e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'aC!(P\e(B\e0\e,T&h\e(B\e1\e,TR`\e(B\e0\e,T9Wi\e(B\e1\e,TM$GRA"M':CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B, \e,TaEP$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-k \e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B
-\e0\e,T7Uh\e(B\e1\e,TJM'(P\e(B\e0\e,T&h\e(B\e1\e,TR:CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,T9Qi\e(B\e1\e,T9\e(B, \e,TaEP(P"\e(B\e0\e,TBQ\e(B\e1\e,T::CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,TMWh\e(B\e1\e,T9f\e(B \e0\e,T7Uh\e(B\e1\e,T`K\e(B\e0\e,TEW\e(B\e1\e,TM\e(B\e0\e,T7Qi\e(B\e1\e,T'KA4\e(B\e0\e,T"Vi\e(B\e1\e,T9\e(B. \e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-k \e0\e,T(Q\e(B\e1\e,T4!RC\e(B\e0\e,T!Q\e(B\e1\e,T:\e(B
-\e0\e,T5Q\e(B\e1\e,TG`E"MR\e(B\e0\e,TCl\e(B\e1\e0\e,T!T\e(B\e1\e,TG`A9\e(B\e0\e,T5l\e(B\e1\e,Tc9\e(B\e0\e,TEQ\e(B\e1\e,T!I3P\e(B\e0\e,T7Uh\e(B\e1\e,Ta5!\e(B\e0\e,T5h\e(B\e1\e,TR'MM!d;\e(B: \e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T9Ui\e(B\e1\e,T(P\e(B\e0\e,T&h\e(B\e1\e,TRKERBf\e(B \e,T:CC\e(B\e0\e,T7Q\e(B\e1\e,T4aEP`\e(B\e0\e,T9Wi\e(B\e1\e,TMKR"M'\e(B
-\e0\e,T"i\e(B\e1\e,TM$GRA\e(B\e0\e,T4i\e(B\e1\e,TGB\e(B. \e0\e,T9Uh\e(B\e1\e,Td\e(B\e0\e,TAh\e(B\e1\e,T`K\e(B\e0\e,TAW\e(B\e1\e,TM9!RC7S\e(B\e0\e,T+i\e(B\e1\e,TSa::;C!\e(B\e0\e,T5T\e(B\e1. \e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-u 2 C-k \e,T(P\e(B\e0\e,T&h\e(B\e1\e,TR\e(B\e0\e,T7Qi\e(B\e1\e,T'JM':CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B
-\e,T>\e(B\e0\e,TCi\e(B\e1\e,TMA\e(B\e0\e,T7Qi\e(B\e1\e,T'\e(B\e0\e,TMQ\e(B\e1\e,T!"CP\e(B Newline \e,T"M':CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,T9Qi\e(B\e1\e,T9f\e(B \e0\e,T4i\e(B\e1\e,TGB\e(B; \e0\e,T+Vh\e(B\e1\e,T'\e(B\e0\e,T5h\e(B\e1\e,TR'(R!!RC7S$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-k \e,TJM'$\e(B\e0\e,TCQi\e(B\e1\e,T'\e(B.
+\e,T(P\e0JQ\e1'`!5d\e04i\e1\e0Gh\e1R$S\e0JQh\e1'\e(B C-k \e,T$S\e0JQh\e1'aC!(P\e0&h\e1R`\e09Wi\e1M$GRA"M':CC\e07Q\e14\e(B, \e,TaEP$S\e0JQh\e1'\e(B C-k \e,T$S\e0JQh\e1'\e(B
+\e0\e,T7Uh\e1JM'(P\e0&h\e1R:CC\e07Q\e14\e09Qi\e19\e(B, \e,TaEP(P"\e0BQ\e1::CC\e07Q\e14\e0MWh\e19f\e(B \e0\e,T7Uh\e1`K\e0EW\e1M\e07Qi\e1'KA4\e0"Vi\e19\e(B. \e,T$S\e0JQh\e1'\e(B C-k \e0\e,T(Q\e14!RC\e0!Q\e1:\e(B
+\e0\e,T5Q\e1G`E"MR\e0Cl\e1\e0!T\e1G`A9\e05l\e1c9\e0EQ\e1!I3P\e07Uh\e1a5!\e05h\e1R'MM!d;\e(B: \e,T$S\e0JQh\e1'\e09Ui\e1(P\e0&h\e1RKERBf\e(B \e,T:CC\e07Q\e14aEP`\e09Wi\e1MKR"M'\e(B
+\e0\e,T"i\e1M$GRA\e04i\e1GB\e(B. \e0\e,T9Uh\e1d\e0Ah\e1`K\e0AW\e1M9!RC7S\e0+i\e1Sa::;C!\e05T\e1\e(B. \e,T$S\e0JQh\e1'\e(B C-u 2 C-k \e,T(P\e0&h\e1R\e07Qi\e1'JM':CC\e07Q\e14\e(B
+\e,T>\e0Ci\e1MA\e07Qi\e1'\e0MQ\e1!"CP\e(B Newline \e,T"M':CC\e07Q\e14\e09Qi\e19f\e(B \e0\e,T4i\e1GB\e(B; \e0\e,T+Vh\e1'\e05h\e1R'(R!!RC7S$S\e0JQh\e1'\e(B C-k \e,TJM'$\e0CQi\e1'\e(B.
 
-\e,Tc\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-y \e,Tc9!RC\e(B\e0\e,T7Uh\e(B\e1\e,T(P`\e(B\e0\e,TCU\e(B\e1\e,TB!\e(B\e0\e,T$W\e(B\e1\e,T9\e(B\e0\e,T"i\e(B\e1\e,TM$GRA\e(B\e0\e,T7Uh\e(B\e1\e0\e,T6Y\e(B\e1\e,T!\e(B\e0\e,T&h\e(B\e1\e,TRd;K\e(B\e0\e,TEQ\e(B\e1\e,T'\e(B\e0\e,TJX\e(B\e1\e,T4\e(B. \e0\e,T"i\e(B\e1\e,TM$GRA\e(B\e0\e,T7Uh\e(B\e1\e0\e,T6Y\e(B\e1\e,T!`\e(B\e0\e,TCU\e(B\e1\e,TB!\e(B\e0\e,T$W\e(B\e1\e,T9\e(B\e0\e,T9Qi\e(B\e1\e,T9(P\e(B
-\e,T;CR!/\e(B\e0\e,T7Uh\e(B\e1\e,T5SaK\e(B\e0\e,T9h\e(B\e1\e,T'`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1\e0\e,T;Q\e(B\e1\e,T(\e(B\e0\e,T(X\e(B\e1\e0\e,T:Q\e(B\e1\e,T9\e(B.
+\e,Tc\e0*i\e1$S\e0JQh\e1'\e(B C-y \e,Tc9!RC\e07Uh\e1(P`\e0CU\e1B!\e0$W\e19\e0"i\e1M$GRA\e07Uh\e1\e06Y\e1!\e0&h\e1Rd;K\e0EQ\e1'\e0JX\e14\e(B. \e0\e,T"i\e1M$GRA\e07Uh\e1\e06Y\e1!`\e0CU\e1B!\e0$W\e19\e09Qi\e19(P\e(B
+\e,T;CR!/\e07Uh\e15SaK\e09h\e1'`$M\e0Cl\e1`+M\e0Cl\e1\e0;Q\e1(\e0(X\e1\e0:Q\e19\e(B.
 
->> \e,TEM'c\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-y \e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TM\e(B\e0\e,T7Uh\e(B\e1\e,T(P`\e(B\e0\e,TCU\e(B\e1\e,TB!\e(B\e0\e,T$W\e(B\e1\e,T9\e(B\e0\e,T"i\e(B\e1\e,TM$GRA!\e(B\e0\e,TEQ\e(B\e1\e,T:AR\e(B.
+>> \e,TEM'c\e0*i\e1$S\e0JQh\e1'\e(B C-y \e,T`\e0>Wh\e1M\e07Uh\e1(P`\e0CU\e1B!\e0$W\e19\e0"i\e1M$GRA!\e0EQ\e1:AR\e(B.
 
-\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-y \e0\e,T!g\e(B\e1\e,T`K\e(B\e0\e,TAW\e(B\e1\e,TM9!RC`\e(B\e0\e,TCU\e(B\e1\e,TB!\e(B\e0\e,T$W\e(B\e1\e,T9\e(B\e0\e,TJTh\e(B\e1\e,T'"M'\e(B\e0\e,T7Uh\e(B\e1\e,Tc$C:R'$9d\e(B\e0\e,T4i\e(B\e1\e,T`MRd;(R!\e(B\e0\e,T7h\e(B\e1\e,TR9\e(B. \e0\e,T7h\e(B\e1\e,TR9(P\e(B\e0\e,TJQ\e(B\e1\e,T'`!5d\e(B\e0\e,T4i\e(B\e1\e0\e,TGh\e(B\e1\e,TR\e(B
-\e0\e,T6i\e(B\e1\e,TR\e(B\e0\e,T7h\e(B\e1\e,TR9c\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-k \e0\e,T5T\e(B\e1\e,T4\e(B\e0\e,T5h\e(B\e1\e,TM\e(B\e0\e,T!Q\e(B\e1\e,T9KERBf\e(B \e,T$\e(B\e0\e,TCQi\e(B\e1\e,T'\e(B, \e0\e,T"i\e(B\e1\e,TM$GRA\e(B\e0\e,T7Uh\e(B\e1\e0\e,T6Y\e(B\e1\e,T!\e(B\e0\e,T&h\e(B\e1\e,TRd;\e(B\e0\e,T7Qi\e(B\e1\e,T'KA4(P\e(B\e0\e,T6Y\e(B\e1\e,T!`\e(B\e0\e,T!g\e(B\e1\e,T:d\e(B\e0\e,TGi\e(B\e1\e0\e,T4i\e(B\e1\e,TGB\e(B\e0\e,T!Q\e(B\e1\e,T9\e(B,
-\e,T)P\e(B\e0\e,T9Qi\e(B\e1\e,T9!RCc\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-y \e,T`\e(B\e0\e,T>U\e(B\e1\e,TB'$\e(B\e0\e,TCQi\e(B\e1\e,T'`\e(B\e0\e,T4U\e(B\e1\e,TBG\e(B\e0\e,T!g\e(B\e1\e,T(P`\e(B\e0\e,TCU\e(B\e1\e,TB!\e(B\e0\e,T$W\e(B\e1\e,T9\e(B\e0\e,T"i\e(B\e1\e,TM$GRA!\e(B\e0\e,TEQ\e(B\e1\e,T:ARd\e(B\e0\e,T4i\e(B\e1\e0\e,T7Qi\e(B\e1\e,T'KA4\e(B.
+\e,T$S\e0JQh\e1'\e(B C-y \e0\e,T!g\e1`K\e0AW\e1M9!RC`\e0CU\e1B!\e0$W\e19\e0JTh\e1'"M'\e07Uh\e1c$C:R'$9d\e04i\e1`MRd;(R!\e07h\e1R9\e(B. \e0\e,T7h\e1R9(P\e0JQ\e1'`!5d\e04i\e1\e0Gh\e1R\e(B
+\e0\e,T6i\e1R\e07h\e1R9c\e0*i\e1$S\e0JQh\e1'\e(B C-k \e0\e,T5T\e14\e05h\e1M\e0!Q\e19KERBf\e(B \e,T$\e0CQi\e1'\e(B, \e0\e,T"i\e1M$GRA\e07Uh\e1\e06Y\e1!\e0&h\e1Rd;\e07Qi\e1'KA4(P\e06Y\e1!`\e0!g\e1:d\e0Gi\e1\e04i\e1GB\e0!Q\e19\e(B,
+\e,T)P\e09Qi\e19!RCc\e0*i\e1$S\e0JQh\e1'\e(B C-y \e,T`\e0>U\e1B'$\e0CQi\e1'`\e04U\e1BG\e0!g\e1(P`\e0CU\e1B!\e0$W\e19\e0"i\e1M$GRA!\e0EQ\e1:ARd\e04i\e1\e07Qi\e1'KA4\e(B.
 
->> \e,TEM'c\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-k \e,TKERBf\e(B \e,T$\e(B\e0\e,TCQi\e(B\e1\e,T'\e(B\e0\e,T4Y\e(B\e1.
+>> \e,TEM'c\e0*i\e1$S\e0JQh\e1'\e(B C-k \e,TKERBf\e(B \e,T$\e0CQi\e1'\e04Y\e1\e(B.
 
-\e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TM\e(B\e0\e,T7Uh\e(B\e1\e,T(P`\e(B\e0\e,TCU\e(B\e1\e,TB!\e(B\e0\e,T$W\e(B\e1\e,T9\e(B\e0\e,T"i\e(B\e1\e,TM$GRA\e(B\e0\e,T7Uh\e(B\e1\e0\e,T6Y\e(B\e1\e,T!\e(B\e0\e,T&h\e(B\e1\e,TRd;\e(B:
+\e,T`\e0>Wh\e1M\e07Uh\e1(P`\e0CU\e1B!\e0$W\e19\e0"i\e1M$GRA\e07Uh\e1\e06Y\e1!\e0&h\e1Rd;\e(B:
 
->> \e,TEM'c\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-y. \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG`$\e(B\e0\e,TEWh\e(B\e1\e,TM9`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1\e,TE'd;\e(B\e0\e,TJQ\e(B\e1\e,T!JM'JRA:CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B, \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TGc\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-y
-   \e0\e,TMU\e(B\e1\e,T!$\e(B\e0\e,TCQi\e(B\e1\e,T'\e(B. \e0\e,T7h\e(B\e1\e,TR9(P`\e(B\e0\e,T"i\e(B\e1\e,TRc(\e(B\e0\e,TGT\e(B\e1\e0\e,T8U\e(B\e1\e,T!RC\e(B\e0\e,T7Uh\e(B\e1\e,T(PJS`9R\e(B\e0\e,T"i\e(B\e1\e,TM$GRA\e(B.
+>> \e,TEM'c\e0*i\e1$S\e0JQh\e1'\e(B C-y. \e,Ta\e0Ei\e1G`$\e0EWh\e1M9`$M\e0Cl\e1`+M\e0Cl\e1E'd;\e0JQ\e1!JM'JRA:CC\e07Q\e14\e(B, \e,Ta\e0Ei\e1Gc\e0*i\e1$S\e0JQh\e1'\e(B C-y
+   \e0\e,TMU\e1!$\e0CQi\e1'\e(B. \e0\e,T7h\e1R9(P`\e0"i\e1Rc(\e0GT\e1\e08U\e1!RC\e07Uh\e1(PJS`9R\e0"i\e1M$GRA\e(B.
 
-\e0\e,T7h\e(B\e1\e,TR9(P7SM\e(B\e0\e,TBh\e(B\e1\e,TR'dC\e(B\e0\e,T6i\e(B\e1\e,TR\e(B\e0\e,T7h\e(B\e1\e,TR9\e(B\e0\e,T5i\e(B\e1\e,TM'!RC(P`\e(B\e0\e,TCU\e(B\e1\e,TB!\e(B\e0\e,T$W\e(B\e1\e,T9\e(B\e0\e,T"i\e(B\e1\e,TM$GRA:R'M\e(B\e0\e,TBh\e(B\e1\e,TR'\e(B, \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG\e(B\e0\e,T&h\e(B\e1\e,TR:R'M\e(B\e0\e,TBh\e(B\e1\e,TR'MM!d;\e(B?
-\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-y \e,T(P`\e(B\e0\e,TCU\e(B\e1\e,TB!\e(B\e0\e,T$W\e(B\e1\e,T9\e(B\e0\e,T"i\e(B\e1\e,TM$GRA\e(B\e0\e,T7Uh\e(B\e1\e0\e,T6Y\e(B\e1\e,T!\e(B\e0\e,T&h\e(B\e1\e,TR\e(B\e0\e,TEh\e(B\e1\e,TR\e(B\e0\e,TJX\e(B\e1\e,T4\e(B. \e,Ta\e(B\e0\e,T5h\e(B\e1\e0\e,T"i\e(B\e1\e,TM$GRA\e(B\e0\e,T!h\e(B\e1\e,TM9K\e(B\e0\e,T9i\e(B\e1\e,TR\e(B\e0\e,T9Qi\e(B\e1\e,T9\e(B\e0\e,TBQ\e(B\e1\e,T'$'`K\e(B\e0\e,TEW\e(B\e1\e,TMM\e(B\e0\e,TBYh\e(B\e1. \e0\e,T7h\e(B\e1\e,TR9\e(B
-\e,TJRARC6(P`\e(B\e0\e,TCU\e(B\e1\e,TB!\e(B\e0\e,T$W\e(B\e1\e,T9ARd\e(B\e0\e,T4i\e(B\e1\e0\e,TMU\e(B\e1\e,T!b4Bc\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B M-y. \e,TK\e(B\e0\e,TEQ\e(B\e1\e,T'(R!\e(B\e0\e,T7Uh\e(B\e1\e0\e,T7h\e(B\e1\e,TR9d\e(B\e0\e,T4i\e(B\e1\e,T`\e(B\e0\e,TCU\e(B\e1\e,TB!\e(B\e0\e,T$W\e(B\e1\e,T9\e(B\e0\e,T"i\e(B\e1\e,TM$GRA\e(B\e0\e,TEh\e(B\e1\e,TR\e(B\e0\e,TJX\e(B\e1\e,T4a\e(B\e0\e,TEi\e(B\e1\e,TG\e(B,
-\e,Tc\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B M-y \e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TM\e(B\e0\e,T7Uh\e(B\e1\e,T(P`\e(B\e0\e,TCU\e(B\e1\e,TB!\e(B\e0\e,T$W\e(B\e1\e,T9\e(B\e0\e,T"i\e(B\e1\e,TM$GRA\e(B\e0\e,T!h\e(B\e1\e,TM9K\e(B\e0\e,T9i\e(B\e1\e,TR\e(B\e0\e,T9Qi\e(B\e1\e,T9ARa79\e(B\e0\e,T7Uh\e(B\e1. \e,T!RCc\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B M-y \e,Ta\e(B\e0\e,T5h\e(B\e1\e,TEP$\e(B\e0\e,TCQi\e(B\e1\e,T'\e(B
-\e,T(P`\e(B\e0\e,TCU\e(B\e1\e,TB!\e(B\e0\e,T$W\e(B\e1\e,T9\e(B\e0\e,T"i\e(B\e1\e,TM$GRA\e(B\e0\e,T7Uh\e(B\e1\e0\e,T6Y\e(B\e1\e,T!\e(B\e0\e,T&h\e(B\e1\e,TRd;c9ES\e(B\e0\e,T4Q\e(B\e1\e,T:\e(B\e0\e,T7Uh\e(B\e1\e0\e,TBi\e(B\e1\e,TM9!\e(B\e0\e,TEQ\e(B\e1\e,T:\e(B\e0\e,T"Vi\e(B\e1\e,T9d;\e(B. \e,T`\e(B\e0\e,TAWh\e(B\e1\e,TM\e(B\e0\e,T7h\e(B\e1\e,TR9d\e(B\e0\e,T4i\e(B\e1\e0\e,T"i\e(B\e1\e,TM$GRA\e(B\e0\e,T7Uh\e(B\e1\e0\e,T5i\e(B\e1\e,TM'!RC!\e(B\e0\e,TEQ\e(B\e1\e,T:\e(B\e0\e,T$W\e(B\e1\e,T9AR\e(B, 
-\e0\e,T7h\e(B\e1\e,TR9\e(B\e0\e,T!g\e(B\e1\e,Td\e(B\e0\e,TAh\e(B\e1\e,T(S`\e(B\e0\e,T;g\e(B\e1\e,T9\e(B\e0\e,T7Uh\e(B\e1\e,T(P\e(B\e0\e,T5i\e(B\e1\e,TM'7SMPdC\e(B\e0\e,T!Q\e(B\e1\e,T:\e(B\e0\e,T"i\e(B\e1\e,TM$GRA\e(B\e0\e,T9Qi\e(B\e1\e,T9\e(B\e0\e,TMU\e(B\e1\e,T!\e(B. \e,T`\e(B\e0\e,T>U\e(B\e1\e,TB';\e(B\e0\e,TEh\e(B\e1\e,TMBM\e(B\e0\e,TBYh\e(B\e1\e,TM\e(B\e0\e,TBh\e(B\e1\e,TR'\e(B\e0\e,T9Qi\e(B\e1\e,T9\e(B, \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG7S!RCa\e(B\e0\e,T!i\e(B\e1\e,Td"\e(B
-\e0\e,T"i\e(B\e1\e,TM$GRA\e(B\e0\e,TMWh\e(B\e1\e,T9\e(B\e0\e,T5h\e(B\e1\e,TMd;\e(B.
+\e0\e,T7h\e1R9(P7SM\e0Bh\e1R'dC\e06i\e1R\e07h\e1R9\e05i\e1M'!RC(P`\e0CU\e1B!\e0$W\e19\e0"i\e1M$GRA:R'M\e0Bh\e1R'\e(B, \e,Ta\e0Ei\e1G\e0&h\e1R:R'M\e0Bh\e1R'MM!d;\e(B?
+\e,T$S\e0JQh\e1'\e(B C-y \e,T(P`\e0CU\e1B!\e0$W\e19\e0"i\e1M$GRA\e07Uh\e1\e06Y\e1!\e0&h\e1R\e0Eh\e1R\e0JX\e14\e(B. \e,Ta\e05h\e1\e0"i\e1M$GRA\e0!h\e1M9K\e09i\e1R\e09Qi\e19\e0BQ\e1'$'`K\e0EW\e1MM\e0BYh\e1\e(B. \e0\e,T7h\e1R9\e(B
+\e,TJRARC6(P`\e0CU\e1B!\e0$W\e19ARd\e04i\e1\e0MU\e1!b4Bc\e0*i\e1$S\e0JQh\e1'\e(B M-y. \e,TK\e0EQ\e1'(R!\e07Uh\e1\e07h\e1R9d\e04i\e1`\e0CU\e1B!\e0$W\e19\e0"i\e1M$GRA\e0Eh\e1R\e0JX\e14a\e0Ei\e1G\e(B,
+\e,Tc\e0*i\e1$S\e0JQh\e1'\e(B M-y \e,T`\e0>Wh\e1M\e07Uh\e1(P`\e0CU\e1B!\e0$W\e19\e0"i\e1M$GRA\e0!h\e1M9K\e09i\e1R\e09Qi\e19ARa79\e07Uh\e1\e(B. \e,T!RCc\e0*i\e1$S\e0JQh\e1'\e(B M-y \e,Ta\e05h\e1EP$\e0CQi\e1'\e(B
+\e,T(P`\e0CU\e1B!\e0$W\e19\e0"i\e1M$GRA\e07Uh\e1\e06Y\e1!\e0&h\e1Rd;c9ES\e04Q\e1:\e07Uh\e1\e0Bi\e1M9!\e0EQ\e1:\e0"Vi\e19d;\e(B. \e,T`\e0AWh\e1M\e07h\e1R9d\e04i\e1\e0"i\e1M$GRA\e07Uh\e1\e05i\e1M'!RC!\e0EQ\e1:\e0$W\e19AR\e(B,
+\e0\e,T7h\e1R9\e0!g\e1d\e0Ah\e1(S`\e0;g\e19\e07Uh\e1(P\e05i\e1M'7SMPdC\e0!Q\e1:\e0"i\e1M$GRA\e09Qi\e19\e0MU\e1!\e(B. \e,T`\e0>U\e1B';\e0Eh\e1MBM\e0BYh\e1M\e0Bh\e1R'\e09Qi\e19\e(B, \e,Ta\e0Ei\e1G7S!RCa\e0!i\e1d"\e(B
+\e0\e,T"i\e1M$GRA\e0MWh\e19\e05h\e1Md;\e(B.
 
-\e0\e,T6i\e(B\e1\e,TR\e(B\e0\e,T7h\e(B\e1\e,TR9c\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B M-y \e0\e,T4i\e(B\e1\e,TGB(S9G9$\e(B\e0\e,TCQi\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e,TAR!>M\e(B, \e0\e,T7h\e(B\e1\e,TR9(P\e(B\e0\e,TBi\e(B\e1\e,TM9!\e(B\e0\e,TEQ\e(B\e1\e,T:AR\e(B\e0\e,TBQ\e(B\e1\e,T'\e(B\e0\e,T(X\e(B\e1\e,T4`\e(B\e0\e,TCTh\e(B\e1\e,TA\e(B\e0\e,T5i\e(B\e1\e,T9\e(B\e0\e,TMU\e(B\e1\e,T!$\e(B\e0\e,TCQi\e(B\e1\e,T'\e(B 
-(\e0\e,T"i\e(B\e1\e,TM$GRA\e(B\e0\e,T7Uh\e(B\e1\e0\e,T6Y\e(B\e1\e,T!\e(B\e0\e,T&h\e(B\e1\e,TRd;\e(B\e0\e,TEh\e(B\e1\e,TR\e(B\e0\e,TJX\e(B\e1\e,T4\e(B).
+\e0\e,T6i\e1R\e07h\e1R9c\e0*i\e1$S\e0JQh\e1'\e(B M-y \e0\e,T4i\e1GB(S9G9$\e0CQi\e1'\e07Uh\e1AR!>M\e(B, \e0\e,T7h\e1R9(P\e0Bi\e1M9!\e0EQ\e1:AR\e0BQ\e1'\e0(X\e14`\e0CTh\e1A\e05i\e19\e0MU\e1!$\e0CQi\e1'\e(B
+(\e0\e,T"i\e1M$GRA\e07Uh\e1\e06Y\e1!\e0&h\e1Rd;\e0Eh\e1R\e0JX\e14\e(B).
 
->> \e0\e,T&h\e(B\e1\e,TRK\e(B\e0\e,T9Vh\e(B\e1\e,T':CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B, \e,T`$\e(B\e0\e,TEWh\e(B\e1\e,TM9`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1\e,Td;\e(B, \e0\e,T&h\e(B\e1\e,TR\e(B\e0\e,TMU\e(B\e1\e,T!:CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B.
-   \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TGc\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-y \e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TM\e(B\e0\e,T7Uh\e(B\e1\e,T(P`\e(B\e0\e,TCU\e(B\e1\e,TB!\e(B\e0\e,T$W\e(B\e1\e,T9:CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,T7Uh\e(B\e1\e0\e,T6Y\e(B\e1\e,T!\e(B\e0\e,T&h\e(B\e1\e,TRd;c9$\e(B\e0\e,TCQi\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e,TJM'\e(B.
-   \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TGc\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B M-y \e0\e,T+Vh\e(B\e1\e,T'(P`\e(B\e0\e,TCV\e(B\e1\e,TB!\e(B\e0\e,T$W\e(B\e1\e,T9:CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,T7Uh\e(B\e1\e0\e,T6Y\e(B\e1\e,T!\e(B\e0\e,T&h\e(B\e1\e,TRd;c9$\e(B\e0\e,TCQi\e(B\e1\e,T'aC!ARa79\e(B\e0\e,T7Uh\e(B\e1.
-   \e,Tc\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B M-y \e0\e,TMU\e(B\e1\e,T!\e(B, \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG\e(B\e0\e,T4Y\e(B\e1\e0\e,TGh\e(B\e1\e,TR(P`\e(B\e0\e,T!T\e(B\e1\e,T4MPdC\e(B\e0\e,T"Vi\e(B\e1\e,T9\e(B. \e,TEM'7Sd;`\e(B\e0\e,TCWh\e(B\e1\e,TMBf\e(B \e,T(9!\e(B\e0\e,TGh\e(B\e1\e,TR:CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,T7Uh\e(B\e1\e0\e,T6Y\e(B\e1\e,T!\e(B\e0\e,T&h\e(B\e1\e,TRd;\e(B
-   \e,Tc9$\e(B\e0\e,TCQi\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e,TJM'(P!\e(B\e0\e,TEQ\e(B\e1\e,T:\e(B\e0\e,T$W\e(B\e1\e,T9AR\e(B, \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG7Sd;\e(B\e0\e,TMU\e(B\e1\e,T!\e(B\e0\e,TJQ\e(B\e1\e,T!CPBP\e(B.
-   \e0\e,T6i\e(B\e1\e,TR\e(B\e0\e,T7h\e(B\e1\e,TR9\e(B\e0\e,T5i\e(B\e1\e,TM'!RC\e(B, \e0\e,T7h\e(B\e1\e,TR9MR((PEM'!S\e(B\e0\e,T!Q\e(B\e1\e,T:\e(B\e0\e,T5Q\e(B\e1\e,TG`E"MR\e(B\e0\e,TCl\e(B\e1\e0\e,T!T\e(B\e1\e,TG`A9\e(B\e0\e,T5l\e(B\e1\e0\e,T7Qi\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e,T`\e(B\e0\e,T;g\e(B\e1\e,T9(S9G9:G!aEPE:c\e(B\e0\e,TKi\e(B\e1\e0\e,T!Q\e(B\e1\e,T:\e(B
-   \e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B M-y \e0\e,T4Y\e(B\e1.
+>> \e0\e,T&h\e1RK\e09Vh\e1':CC\e07Q\e14\e(B, \e,T`$\e0EWh\e1M9`$M\e0Cl\e1`+M\e0Cl\e1d;\e(B, \e0\e,T&h\e1R\e0MU\e1!:CC\e07Q\e14\e(B.
+   \e,Ta\e0Ei\e1Gc\e0*i\e1$S\e0JQh\e1'\e(B C-y \e,T`\e0>Wh\e1M\e07Uh\e1(P`\e0CU\e1B!\e0$W\e19:CC\e07Q\e14\e07Uh\e1\e06Y\e1!\e0&h\e1Rd;c9$\e0CQi\e1'\e07Uh\e1JM'\e(B.
+   \e,Ta\e0Ei\e1Gc\e0*i\e1$S\e0JQh\e1'\e(B M-y \e0\e,T+Vh\e1'(P`\e0CV\e1B!\e0$W\e19:CC\e07Q\e14\e07Uh\e1\e06Y\e1!\e0&h\e1Rd;c9$\e0CQi\e1'aC!ARa79\e07Uh\e1\e(B.
+   \e,Tc\e0*i\e1$S\e0JQh\e1'\e(B M-y \e0\e,TMU\e1!\e(B, \e,Ta\e0Ei\e1G\e04Y\e1\e0Gh\e1R(P`\e0!T\e14MPdC\e0"Vi\e19\e(B. \e,TEM'7Sd;`\e0CWh\e1MBf\e(B \e,T(9!\e0Gh\e1R:CC\e07Q\e14\e07Uh\e1\e06Y\e1!\e0&h\e1Rd;\e(B
+   \e,Tc9$\e0CQi\e1'\e07Uh\e1JM'(P!\e0EQ\e1:\e0$W\e19AR\e(B, \e,Ta\e0Ei\e1G7Sd;\e0MU\e1!\e0JQ\e1!CPBP\e(B.
+   \e0\e,T6i\e1R\e07h\e1R9\e05i\e1M'!RC\e(B, \e0\e,T7h\e1R9MR((PEM'!S\e0!Q\e1:\e05Q\e1G`E"MR\e0Cl\e1\e0!T\e1G`A9\e05l\e1\e07Qi\e1'\e07Uh\e1`\e0;g\e19(S9G9:G!aEPE:c\e0Ki\e1\e0!Q\e1:\e(B
+   \e,T$S\e0JQh\e1'\e(B M-y \e0\e,T4Y\e1\e(B.
 
 
-* \e,T!RC7S\e(B\e0\e,TBi\e(B\e1\e,TM9\e(B (undo)
+* \e,T!RC7S\e0Bi\e1M9\e(B (undo)
 -------------------
 
-\e0\e,T6i\e(B\e1\e,TR\e(B\e0\e,T7h\e(B\e1\e,TR9d\e(B\e0\e,T4i\e(B\e1\e,Ta\e(B\e0\e,T!i\e(B\e1\e,Td"\e(B\e0\e,T"i\e(B\e1\e,TM$GRAd;\e(B, \e,TaEP\e(B\e0\e,T$T\e(B\e1\e,T4\e(B\e0\e,TGh\e(B\e1\e,TRd\e(B\e0\e,T4i\e(B\e1\e,T7S\e(B\e0\e,T<T\e(B\e1\e,T4>ER4d;\e(B, \e0\e,T7h\e(B\e1\e,TR9JRARC67S\e(B\e0\e,TBi\e(B\e1\e,TM9\e(B\e0\e,TJTh\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1
-\e,T`;\e(B\e0\e,TEUh\e(B\e1\e,TB9a;E'd;a\e(B\e0\e,TEi\e(B\e1\e,TG\e(B\e0\e,T4i\e(B\e1\e,TGB$S\e(B\e0\e,TJQh\e(B\e1\e,T'!RC7S\e(B\e0\e,TBi\e(B\e1\e,TM9\e(B, C-x u.
+\e0\e,T6i\e1R\e07h\e1R9d\e04i\e1a\e0!i\e1d"\e0"i\e1M$GRAd;\e(B, \e,TaEP\e0$T\e14\e0Gh\e1Rd\e04i\e17S\e0<T\e14>ER4d;\e(B, \e0\e,T7h\e1R9JRARC67S\e0Bi\e1M9\e0JTh\e1'\e07Uh\e1d\e04i\e1\e(B
+\e,T`;\e0EUh\e1B9a;E'd;a\e0Ei\e1G\e04i\e1GB$S\e0JQh\e1'!RC7S\e0Bi\e1M9\e(B, C-x u.
 
-\e,Tb4B;C!\e(B\e0\e,T5T\e(B\e1, \e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-x u \e,T7S\e(B\e0\e,TBi\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1\e,T7Sd;a\e(B\e0\e,TEi\e(B\e1\e,TGK\e(B\e0\e,T9Vh\e(B\e1\e,T'$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B; \e0\e,T6i\e(B\e1\e,TR\e(B\e0\e,T7h\e(B\e1\e,TR97S\e(B\e0\e,TBi\e(B\e1\e,TM9\e(B\e0\e,T+i\e(B\e1\e,TS\e(B\e0\e,T5T\e(B\e1\e,T4\e(B\e0\e,T5h\e(B\e1\e,TM\e(B\e0\e,T!Q\e(B\e1\e,T9\e(B,
-\e,T!RC7S\e(B\e0\e,TBi\e(B\e1\e,TM9a\e(B\e0\e,T5h\e(B\e1\e,TEP$\e(B\e0\e,TCQi\e(B\e1\e,T'(P\e(B\e0\e,TBi\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'd;\e(B\e0\e,T7U\e(B\e1\e,TEP$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B.
+\e,Tb4B;C!\e05T\e1\e(B, \e,T$S\e0JQh\e1'\e(B C-x u \e,T7S\e0Bi\e1M9$S\e0JQh\e1'\e07Uh\e1d\e04i\e17Sd;a\e0Ei\e1GK\e09Vh\e1'$S\e0JQh\e1'\e(B; \e0\e,T6i\e1R\e07h\e1R97S\e0Bi\e1M9\e0+i\e1S\e05T\e14\e05h\e1M\e0!Q\e19\e(B,
+\e,T!RC7S\e0Bi\e1M9a\e05h\e1EP$\e0CQi\e1'(P\e0Bi\e1M9$S\e0JQh\e1'd;\e07U\e1EP$S\e0JQh\e1'\e(B.
 
-\e,Ta\e(B\e0\e,T5h\e(B\e1\e0\e,TAU\e(B\e1\e0\e,T"i\e(B\e1\e,TMB!`\e(B\e0\e,TGi\e(B\e1\e,T9M\e(B\e0\e,TBYh\e(B\e1\e,TJM';CP!RC\e(B: \e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e,Td\e(B\e0\e,TAh\e(B\e1\e,T`;\e(B\e0\e,TEUh\e(B\e1\e,TB9a;E'\e(B\e0\e,T"i\e(B\e1\e,TM$GRA(Pd\e(B\e0\e,TAh\e(B\e1\e0\e,T9Q\e(B\e1\e,T:CGAM\e(B\e0\e,TBYh\e(B\e1\e0\e,T4i\e(B\e1\e,TGB\e(B (\e0\e,T9Uh\e(B\e1\e,TCGA\e(B\e0\e,T6V\e(B\e1\e,T'\e(B
-\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'!RC`$\e(B\e0\e,TEWh\e(B\e1\e,TM9`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1\e,TaEP!RC`$\e(B\e0\e,TEWh\e(B\e1\e,TM9\e(B\e0\e,TAi\e(B\e1\e,TG9\e(B), \e,TaEP!RCa7C!\e(B\e0\e,T5Q\e(B\e1\e,TG\e(B\e0\e,TMQ\e(B\e1\e,T!IC\e(B\e0\e,T!g\e(B\e1\e,T(P\e(B\e0\e,T6Y\e(B\e1\e,T!\e(B\e0\e,T(Q\e(B\e1\e,T4!RCb4BCGA\e(B
-\e,T`\e(B\e0\e,T;g\e(B\e1\e,T9!\e(B\e0\e,TEXh\e(B\e1\e,TA\e(B\e0\e,T7Uh\e(B\e1\e,Td\e(B\e0\e,TAh\e(B\e1\e,T`\e(B\e0\e,T!T\e(B\e1\e,T9\e(B 20 \e0\e,T5Q\e(B\e1\e,TG\e(B\e0\e,TMQ\e(B\e1\e,T!IC\e(B\e0\e,T5h\e(B\e1\e,TM!\e(B\e0\e,TEXh\e(B\e1\e,TA\e(B. (\e0\e,T7Qi\e(B\e1\e,T'\e(B\e0\e,T9Ui\e(B\e1\e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TME4(S9G9$\e(B\e0\e,TCQi\e(B\e1\e,T'"M'$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-x u \e,Tc9!RC7S\e(B
-\e0\e,TBi\e(B\e1\e,TM9!RCa7C!\e(B\e0\e,T5Q\e(B\e1\e,TG\e(B\e0\e,TMQ\e(B\e1\e,T!IC\e(B.)
+\e,Ta\e05h\e1\e0AU\e1\e0"i\e1MB!`\e0Gi\e19M\e0BYh\e1JM';CP!RC\e(B: \e,T$S\e0JQh\e1'\e07Uh\e1d\e0Ah\e1`;\e0EUh\e1B9a;E'\e0"i\e1M$GRA(Pd\e0Ah\e1\e09Q\e1:CGAM\e0BYh\e1\e04i\e1GB\e(B (\e0\e,T9Uh\e1CGA\e06V\e1'\e(B
+\e,T$S\e0JQh\e1'!RC`$\e0EWh\e1M9`$M\e0Cl\e1`+M\e0Cl\e1aEP!RC`$\e0EWh\e1M9\e0Ai\e1G9\e(B), \e,TaEP!RCa7C!\e05Q\e1G\e0MQ\e1!IC\e0!g\e1(P\e06Y\e1!\e0(Q\e14!RCb4BCGA\e(B
+\e,T`\e0;g\e19!\e0EXh\e1A\e07Uh\e1d\e0Ah\e1`\e0!T\e19\e(B 20 \e0\e,T5Q\e1G\e0MQ\e1!IC\e05h\e1M!\e0EXh\e1A\e(B. (\e0\e,T7Qi\e1'\e09Ui\e1`\e0>Wh\e1ME4(S9G9$\e0CQi\e1'"M'$S\e0JQh\e1'\e(B C-x u \e,Tc9!RC7S\e(B
+\e0\e,TBi\e1M9!RCa7C!\e05Q\e1G\e0MQ\e1!IC\e(B.)
 
->> \e0\e,T&h\e(B\e1\e,TR:CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,T9Ui\e(B\e1\e0\e,T4i\e(B\e1\e,TGB$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-k, \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG\e(B\e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-x u. \e,T:CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,T7Uh\e(B\e1\e0\e,T6Y\e(B\e1\e,T!\e(B\e0\e,T&h\e(B\e1\e,TRd;(P;CR!/!\e(B\e0\e,TEQ\e(B\e1\e,T:\e(B\e0\e,T$W\e(B\e1\e,T9AR\e(B.
+>> \e0\e,T&h\e1R:CC\e07Q\e14\e09Ui\e1\e04i\e1GB$S\e0JQh\e1'\e(B C-k, \e,Ta\e0Ei\e1G\e0;i\e1M9$S\e0JQh\e1'\e(B C-x u. \e,T:CC\e07Q\e14\e07Uh\e1\e06Y\e1!\e0&h\e1Rd;(P;CR!/!\e0EQ\e1:\e0$W\e19AR\e(B.
 
-\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-_ \e,T`\e(B\e0\e,T;g\e(B\e1\e,T9\e(B\e0\e,TMU\e(B\e1\e,T!$S\e(B\e0\e,TJQh\e(B\e1\e,T'K\e(B\e0\e,T9Vh\e(B\e1\e,T'JSK\e(B\e0\e,TCQ\e(B\e1\e,T:!RC7S\e(B\e0\e,TBi\e(B\e1\e,TM9\e(B; \e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T9Ui\e(B\e1\e,T7S'R9`K\e(B\e0\e,TAW\e(B\e1\e,TM9\e(B\e0\e,T!Q\e(B\e1\e,T:$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-x u,
-\e,Ta\e(B\e0\e,T5h\e(B\e1\e0\e,TGh\e(B\e1\e,TRJP4G!!\e(B\e0\e,TGh\e(B\e1\e,TRc9!RC\e(B\e0\e,T;i\e(B\e1\e,TM9KERBf\e(B \e,T$\e(B\e0\e,TCQi\e(B\e1\e,T'\e(B\e0\e,T5T\e(B\e1\e,T4\e(B\e0\e,T5h\e(B\e1\e,TM\e(B\e0\e,T!Q\e(B\e1\e,T9\e(B. \e0\e,T"i\e(B\e1\e,TM`\e(B\e0\e,TJU\e(B\e1\e,TB"M'$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-_ \e0\e,T9Ui\e(B\e1\e0\e,T$W\e(B\e1\e,TMc9:R'\e(B
-\e,Ta\e(B\e0\e,T;i\e(B\e1\e,T9\e(B\e0\e,T>T\e(B\e1\e,TA\e(B\e0\e,T>l\e(B\e1, \e,TMR((Pd\e(B\e0\e,TAh\e(B\e1\e,T7CR:\e(B\e0\e,TGh\e(B\e1\e,TR(P\e(B\e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'd\e(B\e0\e,T4i\e(B\e1\e,TM\e(B\e0\e,TBh\e(B\e1\e,TR'dC\e(B. \e0\e,T9Qh\e(B\e1\e,T9\e(B\e0\e,T$W\e(B\e1\e,TM`K\e(B\e0\e,T5X\e(B\e1\e0\e,T7Uh\e(B\e1\e,T7Sc\e(B\e0\e,TKi\e(B\e1\e,T`CR\e(B\e0\e,T5i\e(B\e1\e,TM'`5\e(B\e0\e,TCU\e(B\e1\e,TBA$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B
-C-x u \e,Tc\e(B\e0\e,TKi\e(B\e1\e0\e,TMU\e(B\e1\e,T!\e(B\e0\e,T5h\e(B\e1\e,TR'KR!\e(B. \e,Tc9`$\e(B\e0\e,TCWh\e(B\e1\e,TM';ERB7R':R'*\e(B\e0\e,T9T\e(B\e1\e,T4\e(B,\e0\e,T7h\e(B\e1\e,TR9MR((P\e(B\e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-_ \e,Td\e(B\e0\e,T4i\e(B\e1\e,Tb4B!RC!4\e(B
-\e0\e,TMQ\e(B\e1\e,T!"CP\e(B / \e,Tc9"3P\e(B\e0\e,T7Uh\e(B\e1\e,T!4\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B CONTROL.
+\e,T$S\e0JQh\e1'\e(B C-_ \e,T`\e0;g\e19\e0MU\e1!$S\e0JQh\e1'K\e09Vh\e1'JSK\e0CQ\e1:!RC7S\e0Bi\e1M9\e(B; \e,T$S\e0JQh\e1'\e09Ui\e17S'R9`K\e0AW\e1M9\e0!Q\e1:$S\e0JQh\e1'\e(B C-x u,
+\e,Ta\e05h\e1\e0Gh\e1RJP4G!!\e0Gh\e1Rc9!RC\e0;i\e1M9KERBf\e(B \e,T$\e0CQi\e1'\e05T\e14\e05h\e1M\e0!Q\e19\e(B. \e0\e,T"i\e1M`\e0JU\e1B"M'$S\e0JQh\e1'\e(B C-_ \e0\e,T9Ui\e1\e0$W\e1Mc9:R'\e(B
+\e,Ta\e0;i\e19\e0>T\e1A\e0>l\e1\e(B, \e,TMR((Pd\e0Ah\e17CR:\e0Gh\e1R(P\e0;i\e1M9$S\e0JQh\e1'd\e04i\e1M\e0Bh\e1R'dC\e(B. \e0\e,T9Qh\e19\e0$W\e1M`K\e05X\e1\e07Uh\e17Sc\e0Ki\e1`CR\e05i\e1M'`5\e0CU\e1BA$S\e0JQh\e1'\e(B
+C-x u \e,Tc\e0Ki\e1\e0MU\e1!\e05h\e1R'KR!\e(B. \e,Tc9`$\e0CWh\e1M';ERB7R':R'*\e09T\e14\e(B,\e0\e,T7h\e1R9MR((P\e0;i\e1M9$S\e0JQh\e1'\e(B C-_ \e,Td\e04i\e1b4B!RC!4\e(B
+\e0\e,TMQ\e1!"CP\e(B / \e,Tc9"3P\e07Uh\e1!4\e0;Xh\e1A\e(B CONTROL.
 
-\e0\e,T5Q\e(B\e1\e,TG`E"MR\e(B\e0\e,TCl\e(B\e1\e0\e,T!T\e(B\e1\e,TG`A9\e(B\e0\e,T5l\e(B\e1\e,TJSK\e(B\e0\e,TCQ\e(B\e1\e,T:$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-_ \e,TaEP\e(B C-x u \e,T(P`\e(B\e0\e,T;g\e(B\e1\e,T9!RC\e(B\e0\e,T+i\e(B\e1\e,TS(S9G9$\e(B\e0\e,TCQi\e(B\e1\e,T'"M'$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B.
+\e0\e,T5Q\e1G`E"MR\e0Cl\e1\e0!T\e1G`A9\e05l\e1JSK\e0CQ\e1:$S\e0JQh\e1'\e(B C-_ \e,TaEP\e(B C-x u \e,T(P`\e0;g\e19!RC\e0+i\e1S(S9G9$\e0CQi\e1'"M'$S\e0JQh\e1'\e(B.
 
 
-* \e,Ta\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B (file)
+* \e,Ta\e0?i\e1A\e0"i\e1M\e0AY\e1E\e(B (file)
 ----------------
 
-\e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TM\e(B\e0\e,T7Uh\e(B\e1\e,T(P`\e(B\e0\e,T!g\e(B\e1\e,T:\e(B\e0\e,T"i\e(B\e1\e,TM$GRA\e(B\e0\e,T7Uh\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1\e,Ta\e(B\e0\e,T!i\e(B\e1\e,Td"d;\e(B\e0\e,T9Qi\e(B\e1\e,T9\e(B, \e0\e,T7h\e(B\e1\e,TR9(P\e(B\e0\e,T5i\e(B\e1\e,TM'`\e(B\e0\e,T!g\e(B\e1\e,T:\e(B\e0\e,T"i\e(B\e1\e,TM$GRA\e(B\e0\e,T9Qi\e(B\e1\e,T9d\e(B\e0\e,TGi\e(B\e1\e,Tc9a\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B. \e,Td\e(B\e0\e,TAh\e(B\e1\e,T`\e(B\e0\e,T*h\e(B\e1\e,T9\e(B\e0\e,T9Qi\e(B\e1\e,T9\e(B
-\e0\e,T"i\e(B\e1\e,TM$GRA\e(B\e0\e,T!g\e(B\e1\e,T(PKRBd;`\e(B\e0\e,TAWh\e(B\e1\e,TM\e(B\e0\e,T7h\e(B\e1\e,TR9`\e(B\e0\e,TET\e(B\e1\e,T!c\e(B\e0\e,T*i\e(B\e1\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1. \e,T!RC\e(B\e0\e,T7Uh\e(B\e1\e,T(P`\e(B\e0\e,T!g\e(B\e1\e,T:\e(B\e0\e,T"i\e(B\e1\e,TM$GRA\e(B\e0\e,T9Qi\e(B\e1\e,T9E'c9a\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B, \e0\e,T7h\e(B\e1\e,TR9\e(B
-\e,T(P\e(B\e0\e,T5i\e(B\e1\e,TM'\e(B "\e0\e,T$i\e(B\e1\e,T9KR\e(B (find)" \e,Ta\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B\e0\e,T!h\e(B\e1\e,TM9\e(B\e0\e,T7Uh\e(B\e1\e,T(P`\e(B\e0\e,T"i\e(B\e1\e,TRd;c9\e(B\e0\e,T"i\e(B\e1\e,TM$GRA\e(B\e0\e,T9Qi\e(B\e1\e,T9d\e(B\e0\e,T4i\e(B\e1. (\e0\e,T9Uh\e(B\e1\e,T`\e(B\e0\e,TCU\e(B\e1\e,TB!\e(B\e0\e,TGh\e(B\e1\e,TR\e(B "\e,T!RC\e(B
-\e,T`\e(B\e0\e,TBW\e(B\e1\e,TM9\e(B (visiting)" \e,Ta\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B.)
+\e,T`\e0>Wh\e1M\e07Uh\e1(P`\e0!g\e1:\e0"i\e1M$GRA\e07Uh\e1d\e04i\e1a\e0!i\e1d"d;\e09Qi\e19\e(B, \e0\e,T7h\e1R9(P\e05i\e1M'`\e0!g\e1:\e0"i\e1M$GRA\e09Qi\e19d\e0Gi\e1c9a\e0?i\e1A\e0"i\e1M\e0AY\e1E\e(B. \e,Td\e0Ah\e1`\e0*h\e19\e09Qi\e19\e(B
+\e0\e,T"i\e1M$GRA\e0!g\e1(PKRBd;`\e0AWh\e1M\e07h\e1R9`\e0ET\e1!c\e0*i\e1\e0MU\e1aA!\e0Jl\e1\e(B. \e,T!RC\e07Uh\e1(P`\e0!g\e1:\e0"i\e1M$GRA\e09Qi\e19E'c9a\e0?i\e1A\e0"i\e1M\e0AY\e1E\e(B, \e0\e,T7h\e1R9\e(B
+\e,T(P\e05i\e1M'\e(B "\e0\e,T$i\e19KR\e(B (find)" \e,Ta\e0?i\e1A\e0"i\e1M\e0AY\e1E\e0!h\e1M9\e07Uh\e1(P`\e0"i\e1Rd;c9\e0"i\e1M$GRA\e09Qi\e19d\e04i\e1\e(B. (\e0\e,T9Uh\e1`\e0CU\e1B!\e0Gh\e1R\e(B "\e,T!RC\e(B
+\e,T`\e0BW\e1M9\e(B (visiting)" \e,Ta\e0?i\e1A\e0"i\e1M\e0AY\e1E\e(B.)
 
-\e,T!RC\e(B\e0\e,T$i\e(B\e1\e,T9KRa\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TEKARB\e(B\e0\e,T6V\e(B\e1\e,T'!RC\e(B\e0\e,T7Uh\e(B\e1\e0\e,T7h\e(B\e1\e,TR9d\e(B\e0\e,T4i\e(B\e1\e,T`\e(B\e0\e,TKg\e(B\e1\e,T9`\e(B\e0\e,T9Wi\e(B\e1\e,TMKR"M'a\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE@RBc9\e(B\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1. \e,Tc9KERBf\e(B 
-\e,T7R'\e(B, \e0\e,T4Y\e(B\e1\e,T`K\e(B\e0\e,TAW\e(B\e1\e,TM9\e(B\e0\e,TGh\e(B\e1\e,TR\e(B\e0\e,T7h\e(B\e1\e,TR9!S\e(B\e0\e,TEQ\e(B\e1\e,T'a\e(B\e0\e,T!i\e(B\e1\e,Td"\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TEc9a\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TEM\e(B\e0\e,TBYh\e(B\e1. \e,TM\e(B\e0\e,TBh\e(B\e1\e,TR'dC\e(B\e0\e,T!g\e(B\e1\e,T5RA\e(B, \e,T!RCa\e(B\e0\e,T!i\e(B\e1\e,Td"@RBc9\e(B\e0\e,TMU\e(B\e1
-\e,TaA!\e(B\e0\e,TJl\e(B\e1\e0\e,T9Qi\e(B\e1\e,T9(Pd\e(B\e0\e,TAh\e(B\e1\e,T$'M\e(B\e0\e,TBYh\e(B\e1\e,T(9!\e(B\e0\e,TGh\e(B\e1\e,TR\e(B\e0\e,T7h\e(B\e1\e,TR9(P\e(B "\e0\e,T(Q\e(B\e1\e,T4`\e(B\e0\e,T!g\e(B\e1\e,T:\e(B (save)" \e,Ta\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B\e0\e,T9Qi\e(B\e1\e,T9\e(B. \e0\e,T9Uh\e(B\e1\e,T`\e(B\e0\e,T;g\e(B\e1\e,T9!RC\e(B\e0\e,T*h\e(B\e1\e,TGBc\e(B\e0\e,TKi\e(B\e1\e0\e,T7h\e(B\e1\e,TR9\e(B
-\e,TJRARC6K\e(B\e0\e,TEU\e(B\e1\e,T!`\e(B\e0\e,TEUh\e(B\e1\e,TB'!RC7Sc\e(B\e0\e,TKi\e(B\e1\e,Ta\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B\e0\e,T6Y\e(B\e1\e,T!a\e(B\e0\e,T!i\e(B\e1\e,Td"d\e(B\e0\e,TGi\e(B\e1\e,T$\e(B\e0\e,TCVh\e(B\e1\e,T'f\e(B \e,T!ER'f\e(B \e0\e,T6i\e(B\e1\e,TR\e(B\e0\e,T7h\e(B\e1\e,TR9d\e(B\e0\e,TAh\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1\e0\e,T5i\e(B\e1\e,TM'!RC\e(B. \e,Ta\e(B\e0\e,TAi\e(B\e1\e0\e,TGh\e(B\e1\e,TR\e(B
-\e0\e,T7h\e(B\e1\e,TR9(P7S!RC\e(B\e0\e,T(Q\e(B\e1\e,T4`\e(B\e0\e,T!g\e(B\e1\e,T:d;a\e(B\e0\e,TEi\e(B\e1\e,TG\e(B\e0\e,T!g\e(B\e1\e,T5RA\e(B, \e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e0\e,T!g\e(B\e1\e0\e,TBQ\e(B\e1\e,T'$'`K\e(B\e0\e,TEW\e(B\e1\e,TMa\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B\e0\e,T5i\e(B\e1\e,T9)\e(B\e0\e,T:Q\e(B\e1\e,T:d\e(B\e0\e,TGi\e(B\e1\e,Tb4B`\e(B\e0\e,T!g\e(B\e1\e,T:d\e(B\e0\e,TGi\e(B\e1\e,Tc9\e(B\e0\e,T*Wh\e(B\e1\e,TM\e(B
-\e,TcK\e(B\e0\e,TAh\e(B\e1, \e,T`\e(B\e0\e,T<Wh\e(B\e1\e,TMd\e(B\e0\e,TGi\e(B\e1\e,Tc9!C\e(B\e0\e,T3U\e(B\e1\e0\e,T7Uh\e(B\e1\e0\e,T7h\e(B\e1\e,TR9a\e(B\e0\e,T!i\e(B\e1\e,Td"\e(B\e0\e,T<T\e(B\e1\e,T4>ER4\e(B.
+\e,T!RC\e0$i\e19KRa\e0?i\e1A\e0"i\e1M\e0AY\e1EKARB\e06V\e1'!RC\e07Uh\e1\e07h\e1R9d\e04i\e1`\e0Kg\e19`\e09Wi\e1MKR"M'a\e0?i\e1A\e0"i\e1M\e0AY\e1E@RBc9\e0MU\e1aA!\e0Jl\e1\e(B. \e,Tc9KERBf\e(B
+\e,T7R'\e(B, \e0\e,T4Y\e1`K\e0AW\e1M9\e0Gh\e1R\e07h\e1R9!S\e0EQ\e1'a\e0!i\e1d"\e0"i\e1M\e0AY\e1Ec9a\e0?i\e1A\e0"i\e1M\e0AY\e1EM\e0BYh\e1\e(B. \e,TM\e0Bh\e1R'dC\e0!g\e15RA\e(B, \e,T!RCa\e0!i\e1d"@RBc9\e0MU\e1\e(B
+\e,TaA!\e0Jl\e1\e09Qi\e19(Pd\e0Ah\e1$'M\e0BYh\e1(9!\e0Gh\e1R\e07h\e1R9(P\e(B "\e0\e,T(Q\e14`\e0!g\e1:\e(B (save)" \e,Ta\e0?i\e1A\e0"i\e1M\e0AY\e1E\e09Qi\e19\e(B. \e0\e,T9Uh\e1`\e0;g\e19!RC\e0*h\e1GBc\e0Ki\e1\e07h\e1R9\e(B
+\e,TJRARC6K\e0EU\e1!`\e0EUh\e1B'!RC7Sc\e0Ki\e1a\e0?i\e1A\e0"i\e1M\e0AY\e1E\e06Y\e1!a\e0!i\e1d"d\e0Gi\e1$\e0CVh\e1'f\e(B \e,T!ER'f\e(B \e0\e,T6i\e1R\e07h\e1R9d\e0Ah\e1d\e04i\e1\e05i\e1M'!RC\e(B. \e,Ta\e0Ai\e1\e0Gh\e1R\e(B
+\e0\e,T7h\e1R9(P7S!RC\e0(Q\e14`\e0!g\e1:d;a\e0Ei\e1G\e0!g\e15RA\e(B, \e0\e,TMU\e1aA!\e0Jl\e1\e0!g\e1\e0BQ\e1'$'`K\e0EW\e1Ma\e0?i\e1A\e0"i\e1M\e0AY\e1E\e05i\e19)\e0:Q\e1:d\e0Gi\e1b4B`\e0!g\e1:d\e0Gi\e1c9\e0*Wh\e1M\e(B
+\e,TcK\e0Ah\e1\e(B, \e,T`\e0<Wh\e1Md\e0Gi\e1c9!C\e03U\e1\e07Uh\e1\e07h\e1R9a\e0!i\e1d"\e0<T\e14>ER4\e(B.
 
-\e0\e,T6i\e(B\e1\e,TR\e(B\e0\e,T7h\e(B\e1\e,TR9\e(B\e0\e,TJQ\e(B\e1\e,T'`!5\e(B\e0\e,T4Y\e(B\e1\e0\e,TJh\e(B\e1\e,TG9\e(B\e0\e,TEh\e(B\e1\e,TR'"M'K\e(B\e0\e,T9i\e(B\e1\e,TR(M"M'\e(B\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1, \e0\e,T7h\e(B\e1\e,TR9(P`\e(B\e0\e,TKg\e(B\e1\e,T9:CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,T7Uh\e(B\e1\e,T`\e(B\e0\e,TCTh\e(B\e1\e,TA\e(B\e0\e,T5i\e(B\e1\e,T9aEP\e(B\e0\e,TJTi\e(B\e1\e,T9\e(B\e0\e,TJX\e(B\e1\e,T4\e(B\e0\e,T4i\e(B\e1\e,TGB\e(B
-\e,T`\e(B\e0\e,TJi\e(B\e1\e,T9;CP\e(B. \e,T:CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,T9Qi\e(B\e1\e,T9MR((P`\e(B\e0\e,TCTh\e(B\e1\e,TA\e(B\e0\e,T5i\e(B\e1\e,T9\e(B\e0\e,T4i\e(B\e1\e,TGB\e(B "--:-- TUTORIAL" \e,TK\e(B\e0\e,TCW\e(B\e1\e,TMMPdC7S9M'\e(B\e0\e,T9Qi\e(B\e1\e,T9\e(B. \e0\e,TJh\e(B\e1\e,TG9\e(B\e0\e,T9Ui\e(B\e1
-\e,T"M'K\e(B\e0\e,T9i\e(B\e1\e,TR(M\e(B, \e,Tb4B;C!\e(B\e0\e,T5T\e(B\e1\e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG\e(B, \e,T(PaJ4'\e(B\e0\e,T*Wh\e(B\e1\e,TMa\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B\e0\e,T7Uh\e(B\e1\e0\e,T7h\e(B\e1\e,TR9!S\e(B\e0\e,TEQ\e(B\e1\e,T'`\e(B\e0\e,TBW\e(B\e1\e,TM9M\e(B\e0\e,TBYh\e(B\e1. \e,T"3P\e(B\e0\e,T9Ui\e(B\e1\e0\e,T7h\e(B\e1\e,TR9!S\e(B\e0\e,TEQ\e(B\e1\e,T'\e(B
-\e,T`\e(B\e0\e,TBW\e(B\e1\e,TM9a\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B\e0\e,T7Uh\e(B\e1\e0\e,T*Wh\e(B\e1\e,TM\e(B\e0\e,TGh\e(B\e1\e,TR\e(B "TUTORIAL.th" \e0\e,T+Vh\e(B\e1\e,T'`\e(B\e0\e,T;g\e(B\e1\e,T9JS`9R"M'\e(B\e0\e,T$Yh\e(B\e1\e0\e,TAW\e(B\e1\e,TM!RCc\e(B\e0\e,T*i\e(B\e1\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1. \e,T`\e(B\e0\e,TAWh\e(B\e1\e,TM\e(B\e0\e,T7h\e(B\e1\e,TR9d\e(B\e0\e,T4i\e(B\e1
-\e,T`\e(B\e0\e,TBW\e(B\e1\e,TM9a\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B\e0\e,T4i\e(B\e1\e,TGB\e(B\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1, \e0\e,T*Wh\e(B\e1\e,TM"M'a\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B\e0\e,T9Qi\e(B\e1\e,T9(P;CR!/c9\e(B\e0\e,T7Uh\e(B\e1\e0\e,T7Uh\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1\e,T!\e(B\e0\e,TEh\e(B\e1\e,TRGd\e(B\e0\e,TGi\e(B\e1\e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG\e(B.
+\e0\e,T6i\e1R\e07h\e1R9\e0JQ\e1'`!5\e04Y\e1\e0Jh\e1G9\e0Eh\e1R'"M'K\e09i\e1R(M"M'\e0MU\e1aA!\e0Jl\e1\e(B, \e0\e,T7h\e1R9(P`\e0Kg\e19:CC\e07Q\e14\e07Uh\e1`\e0CTh\e1A\e05i\e19aEP\e0JTi\e19\e0JX\e14\e04i\e1GB\e(B
+\e,T`\e0Ji\e19;CP\e(B. \e,T:CC\e07Q\e14\e09Qi\e19MR((P`\e0CTh\e1A\e05i\e19\e04i\e1GB\e(B "--:-- TUTORIAL" \e,TK\e0CW\e1MMPdC7S9M'\e09Qi\e19\e(B. \e0\e,TJh\e1G9\e09Ui\e1\e(B
+\e,T"M'K\e09i\e1R(M\e(B, \e,Tb4B;C!\e05T\e1a\e0Ei\e1G\e(B, \e,T(PaJ4'\e0*Wh\e1Ma\e0?i\e1A\e0"i\e1M\e0AY\e1E\e07Uh\e1\e07h\e1R9!S\e0EQ\e1'`\e0BW\e1M9M\e0BYh\e1\e(B. \e,T"3P\e09Ui\e1\e07h\e1R9!S\e0EQ\e1'\e(B
+\e,T`\e0BW\e1M9a\e0?i\e1A\e0"i\e1M\e0AY\e1E\e07Uh\e1\e0*Wh\e1M\e0Gh\e1R\e(B "TUTORIAL.th" \e0\e,T+Vh\e1'`\e0;g\e19JS`9R"M'\e0$Yh\e1\e0AW\e1M!RCc\e0*i\e1\e0MU\e1aA!\e0Jl\e1\e(B. \e,T`\e0AWh\e1M\e07h\e1R9d\e04i\e1\e(B
+\e,T`\e0BW\e1M9a\e0?i\e1A\e0"i\e1M\e0AY\e1E\e04i\e1GB\e0MU\e1aA!\e0Jl\e1\e(B, \e0\e,T*Wh\e1M"M'a\e0?i\e1A\e0"i\e1M\e0AY\e1E\e09Qi\e19(P;CR!/c9\e07Uh\e1\e07Uh\e1d\e04i\e1!\e0Eh\e1RGd\e0Gi\e1a\e0Ei\e1G\e(B.
 
-\e0\e,TEQ\e(B\e1\e,T!I3P\e(B\e0\e,T>T\e(B\e1\e,T`HI\e(B\e0\e,T"i\e(B\e1\e,TMK\e(B\e0\e,T9Vh\e(B\e1\e,T'"M'$S\e(B\e0\e,TJQh\e(B\e1\e,T'`\e(B\e0\e,TBW\e(B\e1\e,TM9a\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B\e0\e,T$W\e(B\e1\e,TM\e(B \e0\e,T7h\e(B\e1\e,TR9(P\e(B\e0\e,T5i\e(B\e1\e,TM':M!\e(B\e0\e,T*Wh\e(B\e1\e,TM"M'a\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B\e0\e,T7Uh\e(B\e1\e,T(P\e(B
-\e,T`\e(B\e0\e,TBW\e(B\e1\e,TM9\e(B. \e,T`CR`\e(B\e0\e,TCU\e(B\e1\e,TB!\e(B\e0\e,TEQ\e(B\e1\e,T!I3P`\e(B\e0\e,T*h\e(B\e1\e,T9\e(B\e0\e,T9Ui\e(B\e1\e0\e,TGh\e(B\e1\e,TR\e(B "\e0\e,TMh\e(B\e1\e,TR9MR\e(B\e0\e,TCl\e(B\e1\e0\e,T!T\e(B\e1\e,TG`A9\e(B\e0\e,T5l\e(B\e1\e,T(R!`$\e(B\e0\e,TCWh\e(B\e1\e,TM';ERB7R'\e(B" (\e,Tc9!C\e(B\e0\e,T3U\e(B\e1\e0\e,T9Ui\e(B\e1, \e,TMR\e(B\e0\e,TCl\e(B\e1
-\e0\e,T!T\e(B\e1\e,TG`A9\e(B\e0\e,T5l\e(B\e1\e0\e,T!g\e(B\e1\e0\e,T$W\e(B\e1\e,TM\e(B\e0\e,T*Wh\e(B\e1\e,TM"M'a\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B). \e,TK\e(B\e0\e,TEQ\e(B\e1\e,T'(R!\e(B\e0\e,T7Uh\e(B\e1\e0\e,T7h\e(B\e1\e,TR9\e(B\e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B
+\e0\e,TEQ\e1!I3P\e0>T\e1`HI\e0"i\e1MK\e09Vh\e1'"M'$S\e0JQh\e1'`\e0BW\e1M9a\e0?i\e1A\e0"i\e1M\e0AY\e1E\e0$W\e1M\e(B \e0\e,T7h\e1R9(P\e05i\e1M':M!\e0*Wh\e1M"M'a\e0?i\e1A\e0"i\e1M\e0AY\e1E\e07Uh\e1(P\e(B
+\e,T`\e0BW\e1M9\e(B. \e,T`CR`\e0CU\e1B!\e0EQ\e1!I3P`\e0*h\e19\e09Ui\e1\e0Gh\e1R\e(B "\e0\e,TMh\e1R9MR\e0Cl\e1\e0!T\e1G`A9\e05l\e1(R!`$\e0CWh\e1M';ERB7R'\e(B" (\e,Tc9!C\e03U\e1\e09Ui\e1\e(B, \e,TMR\e0Cl\e1\e(B
+\e0\e,T!T\e1G`A9\e05l\e1\e0!g\e1\e0$W\e1M\e0*Wh\e1M"M'a\e0?i\e1A\e0"i\e1M\e0AY\e1E\e(B). \e,TK\e0EQ\e1'(R!\e07Uh\e1\e07h\e1R9\e0;i\e1M9$S\e0JQh\e1'\e(B
 
        C-x C-f   Find a file
 
-\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,T(P6RA\e(B\e0\e,T*Wh\e(B\e1\e,TMa\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B. \e0\e,T*Wh\e(B\e1\e,TMa\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B\e0\e,T7Uh\e(B\e1\e0\e,T7h\e(B\e1\e,TR9\e(B\e0\e,T;i\e(B\e1\e,TM9`\e(B\e0\e,T"i\e(B\e1\e,TRd;(P;CR!/\e(B\e0\e,T7Uh\e(B\e1\e,T:CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,TEh\e(B\e1\e,TR'"M'K\e(B\e0\e,T9i\e(B\e1\e,TR(M\e(B. 
-\e,T:CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,TEh\e(B\e1\e,TR'"M'K\e(B\e0\e,T9i\e(B\e1\e,TR(M`\e(B\e0\e,TCU\e(B\e1\e,TB!\e(B\e0\e,TGh\e(B\e1\e,TR\e(B\e0\e,TAT\e(B\e1\e0\e,T9T\e(B\e1\e0\e,T:Q\e(B\e1\e,T?`?M\e(B\e0\e,TCl\e(B\e1 (minibuffer) \e,T`\e(B\e0\e,TAWh\e(B\e1\e,TM\e(B\e0\e,T6Y\e(B\e1\e,T!c\e(B\e0\e,T*i\e(B\e1\e,T'R9c9\e(B\e0\e,TEQ\e(B\e1\e,T!I3P\e(B\e0\e,T9Ui\e(B\e1. 
-\e0\e,T7h\e(B\e1\e,TR9JRARC6c\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e,Tc\e(B\e0\e,T*i\e(B\e1\e,Tc9!RCa\e(B\e0\e,T!i\e(B\e1\e,Td";C!\e(B\e0\e,T5T\e(B\e1\e,T"M'\e(B\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,Ta\e(B\e0\e,T!i\e(B\e1\e,Td"\e(B\e0\e,T*Wh\e(B\e1\e,TM"M'a\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B.
+\e0\e,TMU\e1aA!\e0Jl\e1(P6RA\e0*Wh\e1Ma\e0?i\e1A\e0"i\e1M\e0AY\e1E\e(B. \e0\e,T*Wh\e1Ma\e0?i\e1A\e0"i\e1M\e0AY\e1E\e07Uh\e1\e07h\e1R9\e0;i\e1M9`\e0"i\e1Rd;(P;CR!/\e07Uh\e1:CC\e07Q\e14\e0Eh\e1R'"M'K\e09i\e1R(M\e(B.
+\e,T:CC\e07Q\e14\e0Eh\e1R'"M'K\e09i\e1R(M`\e0CU\e1B!\e0Gh\e1R\e0AT\e1\e09T\e1\e0:Q\e1?`?M\e0Cl\e1\e(B (minibuffer) \e,T`\e0AWh\e1M\e06Y\e1!c\e0*i\e1'R9c9\e0EQ\e1!I3P\e09Ui\e1\e(B.
+\e0\e,T7h\e1R9JRARC6c\e0*i\e1$S\e0JQh\e1'\e07Uh\e1c\e0*i\e1c9!RCa\e0!i\e1d";C!\e05T\e1"M'\e0MU\e1aA!\e0Jl\e1a\e0!i\e1d"\e0*Wh\e1M"M'a\e0?i\e1A\e0"i\e1M\e0AY\e1E\e(B.
 
-\e,T"3P\e(B\e0\e,T7Uh\e(B\e1\e0\e,T7h\e(B\e1\e,TR9!S\e(B\e0\e,TEQ\e(B\e1\e,T'\e(B\e0\e,T;i\e(B\e1\e,TM9\e(B\e0\e,T*Wh\e(B\e1\e,TMa\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B (\e,TK\e(B\e0\e,TCW\e(B\e1\e,TM\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TEc4f\e(B \e,Tc9\e(B\e0\e,TAT\e(B\e1\e0\e,T9T\e(B\e1\e0\e,T:Q\e(B\e1\e,T?`?M\e(B\e0\e,TCl\e(B\e1\e0\e,T9Ui\e(B\e1), \e0\e,T7h\e(B\e1\e,TR9JRARC6\e(B
-\e,TB!`\e(B\e0\e,TET\e(B\e1\e,T!$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T4i\e(B\e1\e,TGB!RCc\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-g.
+\e,T"3P\e07Uh\e1\e07h\e1R9!S\e0EQ\e1'\e0;i\e1M9\e0*Wh\e1Ma\e0?i\e1A\e0"i\e1M\e0AY\e1E\e(B (\e,TK\e0CW\e1M\e0"i\e1M\e0AY\e1Ec4f\e(B \e,Tc9\e0AT\e1\e09T\e1\e0:Q\e1?`?M\e0Cl\e1\e09Ui\e1\e(B), \e0\e,T7h\e1R9JRARC6\e(B
+\e,TB!`\e0ET\e1!$S\e0JQh\e1'\e04i\e1GB!RCc\e0*i\e1$S\e0JQh\e1'\e(B C-g.
 
->> \e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-x C-f, \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG\e(B\e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-g. \e0\e,T9Uh\e(B\e1\e,T`\e(B\e0\e,T;g\e(B\e1\e,T9!RCB!`\e(B\e0\e,TET\e(B\e1\e,T!\e(B\e0\e,TAT\e(B\e1\e0\e,T9T\e(B\e1\e0\e,T:Q\e(B\e1\e,T?`?M\e(B\e0\e,TCl\e(B\e1\e,TaEP\e(B
-   \e,TB!`\e(B\e0\e,TET\e(B\e1\e,T!$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-x C-f \e0\e,T7Uh\e(B\e1\e,T!S\e(B\e0\e,TEQ\e(B\e1\e,T'c\e(B\e0\e,T*i\e(B\e1\e0\e,TAT\e(B\e1\e0\e,T9T\e(B\e1\e0\e,T:Q\e(B\e1\e,T?`?M\e(B\e0\e,TCl\e(B\e1\e,TM\e(B\e0\e,TBYh\e(B\e1. \e,T<E\e(B\e0\e,TEQ\e(B\e1\e,T>\e(B\e0\e,T8l\e(B\e1\e0\e,T$W\e(B\e1\e,TM\e(B\e0\e,T7h\e(B\e1\e,TR9(Pd\e(B\e0\e,TAh\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1\e,T`\e(B\e0\e,TBW\e(B\e1\e,TM9\e(B
-   \e,Ta\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TEc4f\e(B.
+>> \e0\e,T;i\e1M9$S\e0JQh\e1'\e(B C-x C-f, \e,Ta\e0Ei\e1G\e0;i\e1M9$S\e0JQh\e1'\e(B C-g. \e0\e,T9Uh\e1`\e0;g\e19!RCB!`\e0ET\e1!\e0AT\e1\e09T\e1\e0:Q\e1?`?M\e0Cl\e1\e(B\e,TaEP\e(B
+   \e,TB!`\e0ET\e1!$S\e0JQh\e1'\e(B C-x C-f \e0\e,T7Uh\e1!S\e0EQ\e1'c\e0*i\e1\e0AT\e1\e09T\e1\e0:Q\e1?`?M\e0Cl\e1M\e0BYh\e1\e(B. \e,T<E\e0EQ\e1>\e08l\e1\e0$W\e1M\e07h\e1R9(Pd\e0Ah\e1d\e04i\e1`\e0BW\e1M9\e(B
+   \e,Ta\e0?i\e1A\e0"i\e1M\e0AY\e1Ec4f\e(B.
 
-\e,T`\e(B\e0\e,TAWh\e(B\e1\e,TM\e(B\e0\e,T7h\e(B\e1\e,TR9d\e(B\e0\e,T4i\e(B\e1\e0\e,T;i\e(B\e1\e,TM9\e(B\e0\e,T*Wh\e(B\e1\e,TMa\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE`J\e(B\e0\e,TCg\e(B\e1\e,T(a\e(B\e0\e,TEi\e(B\e1\e,TG\e(B, \e,T!4\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B <Return> \e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TM\e(B\e0\e,T7Uh\e(B\e1\e,T(P\e(B\e0\e,TJTi\e(B\e1\e,T9\e(B\e0\e,TJX\e(B\e1\e,T4$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B. \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B
-C-x C-f \e0\e,T!g\e(B\e1\e,T(P7S'R9\e(B, \e,TaEP(P`\e(B\e0\e,TBW\e(B\e1\e,TM9a\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B\e0\e,T7Uh\e(B\e1\e0\e,T7h\e(B\e1\e,TR9d\e(B\e0\e,T4i\e(B\e1\e,T`\e(B\e0\e,TEW\e(B\e1\e,TM!d\e(B\e0\e,TGi\e(B\e1. \e0\e,TAT\e(B\e1\e0\e,T9T\e(B\e1\e0\e,T:Q\e(B\e1\e,T?`?M\e(B\e0\e,TCl\e(B\e1\e,T(P\e(B
-\e,TKRBd;`\e(B\e0\e,TAWh\e(B\e1\e,TM`J\e(B\e0\e,TCg\e(B\e1\e,T(\e(B\e0\e,TJTi\e(B\e1\e,T9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-x C-f.
+\e,T`\e0AWh\e1M\e07h\e1R9d\e04i\e1\e0;i\e1M9\e0*Wh\e1Ma\e0?i\e1A\e0"i\e1M\e0AY\e1E`J\e0Cg\e1(a\e0Ei\e1G\e(B, \e,T!4\e0;Xh\e1A\e(B <Return> \e,T`\e0>Wh\e1M\e07Uh\e1(P\e0JTi\e19\e0JX\e14$S\e0JQh\e1'\e(B. \e,Ta\e0Ei\e1G$S\e0JQh\e1'\e(B
+C-x C-f \e0\e,T!g\e1(P7S'R9\e(B, \e,TaEP(P`\e0BW\e1M9a\e0?i\e1A\e0"i\e1M\e0AY\e1E\e07Uh\e1\e07h\e1R9d\e04i\e1`\e0EW\e1M!d\e0Gi\e1\e(B. \e0\e,TAT\e1\e09T\e1\e0:Q\e1?`?M\e0Cl\e1(P\e(B
+\e,TKRBd;`\e0AWh\e1M`J\e0Cg\e1(\e0JTi\e19$S\e0JQh\e1'\e(B C-x C-f.
 
-\e,TK\e(B\e0\e,TEQ\e(B\e1\e,T'(R!\e(B\e0\e,T9Qi\e(B\e1\e,T9d\e(B\e0\e,TAh\e(B\e1\e,T9R9`\e(B\e0\e,T9Wi\e(B\e1\e,TMKR"M'a\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B\e0\e,T!g\e(B\e1\e,T(P;CR!/:9K\e(B\e0\e,T9i\e(B\e1\e,TR(M\e(B, \e,TaEP\e(B\e0\e,T7h\e(B\e1\e,TR9\e(B\e0\e,T!g\e(B\e1\e,T(PJRARC6a\e(B\e0\e,T!i\e(B\e1\e,Td"\e(B
-\e,T`\e(B\e0\e,T9Wi\e(B\e1\e,TMKRd\e(B\e0\e,T4i\e(B\e1. \e,T`\e(B\e0\e,TAWh\e(B\e1\e,TM\e(B\e0\e,T7h\e(B\e1\e,TR9\e(B\e0\e,T5i\e(B\e1\e,TM'!RC(Pa\e(B\e0\e,T!i\e(B\e1\e,Td"\e(B\e0\e,T"i\e(B\e1\e,TM$GRAM\e(B\e0\e,TBh\e(B\e1\e,TR'6RGC\e(B, \e0\e,T!g\e(B\e1\e,Tc\e(B\e0\e,TKi\e(B\e1\e,Tc\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B
+\e,TK\e0EQ\e1'(R!\e09Qi\e19d\e0Ah\e19R9`\e09Wi\e1MKR"M'a\e0?i\e1A\e0"i\e1M\e0AY\e1E\e0!g\e1(P;CR!/:9K\e09i\e1R(M\e(B, \e,TaEP\e07h\e1R9\e0!g\e1(PJRARC6a\e0!i\e1d"\e(B
+\e,T`\e09Wi\e1MKRd\e04i\e1\e(B. \e,T`\e0AWh\e1M\e07h\e1R9\e05i\e1M'!RC(Pa\e0!i\e1d"\e0"i\e1M$GRAM\e0Bh\e1R'6RGC\e(B, \e0\e,T!g\e1c\e0Ki\e1c\e0*i\e1$S\e0JQh\e1'\e(B
 
        C-x C-s   Save the file
 
-\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T9Ui\e(B\e1\e,T(P7SJS`9R\e(B\e0\e,T"i\e(B\e1\e,TM$GRA\e(B\e0\e,T7Uh\e(B\e1\e,TM\e(B\e0\e,TBYh\e(B\e1\e,Tc9\e(B\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,T`\e(B\e0\e,T"i\e(B\e1\e,TRd;`\e(B\e0\e,T!g\e(B\e1\e,T:d\e(B\e0\e,TGi\e(B\e1\e,Tc9a\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B. \e,Tc9!RC!CP7S`\e(B\e0\e,T*h\e(B\e1\e,T9\e(B\e0\e,T9Ui\e(B\e1\e,Tc9\e(B
-\e,T$\e(B\e0\e,TCQi\e(B\e1\e,T'aC!\e(B\e0\e,TJX\e(B\e1\e,T4\e(B, \e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,T(P`;\e(B\e0\e,TEUh\e(B\e1\e,TB9\e(B\e0\e,T*Wh\e(B\e1\e,TMa\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B\e0\e,T5i\e(B\e1\e,T9)\e(B\e0\e,T:Q\e(B\e1\e,T:`\e(B\e0\e,T>Wh\e(B\e1\e,TM\e(B\e0\e,TGh\e(B\e1\e,TR(Pd\e(B\e0\e,T4i\e(B\e1\e,T$'d\e(B\e0\e,TGi\e(B\e1. \e0\e,T*Wh\e(B\e1\e,TMcK\e(B\e0\e,TAh\e(B\e1\e0\e,T9Qi\e(B\e1\e,T9\e(B\e0\e,T5Qi\e(B\e1\e,T'\e(B\e0\e,T"Vi\e(B\e1\e,T9b4B\e(B
-\e,T!RC`\e(B\e0\e,T5T\e(B\e1\e,TA\e(B "~" \e,T`\e(B\e0\e,T"i\e(B\e1\e,TRd;\e(B\e0\e,T7i\e(B\e1\e,TRB\e(B\e0\e,T*Wh\e(B\e1\e,TMa\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B\e0\e,T5i\e(B\e1\e,T9)\e(B\e0\e,T:Q\e(B\e1\e,T:\e(B.
+\e,T$S\e0JQh\e1'\e09Ui\e1(P7SJS`9R\e0"i\e1M$GRA\e07Uh\e1M\e0BYh\e1c9\e0MU\e1aA!\e0Jl\e1`\e0"i\e1Rd;`\e0!g\e1:d\e0Gi\e1c9a\e0?i\e1A\e0"i\e1M\e0AY\e1E\e(B. \e,Tc9!RC!CP7S`\e0*h\e19\e09Ui\e1c9\e(B
+\e,T$\e0CQi\e1'aC!\e0JX\e14\e(B, \e0\e,TMU\e1aA!\e0Jl\e1(P`;\e0EUh\e1B9\e0*Wh\e1Ma\e0?i\e1A\e0"i\e1M\e0AY\e1E\e05i\e19)\e0:Q\e1:`\e0>Wh\e1M\e0Gh\e1R(Pd\e04i\e1$'d\e0Gi\e1\e(B. \e0\e,T*Wh\e1McK\e0Ah\e1\e09Qi\e19\e05Qi\e1'\e0"Vi\e19b4B\e(B
+\e,T!RC`\e05T\e1A\e(B "~" \e,T`\e0"i\e1Rd;\e07i\e1RB\e0*Wh\e1Ma\e0?i\e1A\e0"i\e1M\e0AY\e1E\e05i\e19)\e0:Q\e1:\e(B.
 
-\e,T`\e(B\e0\e,TAWh\e(B\e1\e,TM7S!RC\e(B\e0\e,T(Q\e(B\e1\e,T4`\e(B\e0\e,T!g\e(B\e1\e,T:`\e(B\e0\e,TCU\e(B\e1\e,TB:\e(B\e0\e,TCi\e(B\e1\e,TMBa\e(B\e0\e,TEi\e(B\e1\e,TG\e(B, \e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,T(P\e(B\e0\e,T>T\e(B\e1\e,TA\e(B\e0\e,T>l\e(B\e1\e0\e,T*Wh\e(B\e1\e,TMa\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B\e0\e,T9Qi\e(B\e1\e,T9\e(B. \e0\e,T7h\e(B\e1\e,TR9$GC(P\e(B\e0\e,T(Q\e(B\e1\e,T4`\e(B\e0\e,T!g\e(B\e1\e,T:\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B
-\e0\e,T:h\e(B\e1\e,TMBf\e(B, \e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TM\e(B\e0\e,TGh\e(B\e1\e,TR\e(B\e0\e,T7h\e(B\e1\e,TR9(Pd\e(B\e0\e,T4i\e(B\e1\e,Td\e(B\e0\e,TAh\e(B\e1\e0\e,T5i\e(B\e1\e,TM'`\e(B\e0\e,TJU\e(B\e1\e,TB'R9d;AR!\e(B\e0\e,T9Q\e(B\e1\e,T!KR!CP::`\e(B\e0\e,T!T\e(B\e1\e,T4\e(B\e0\e,T"Q\e(B\e1\e,T4\e(B\e0\e,T"i\e(B\e1\e,TM'\e(B.
+\e,T`\e0AWh\e1M7S!RC\e0(Q\e14`\e0!g\e1:`\e0CU\e1B:\e0Ci\e1MBa\e0Ei\e1G\e(B, \e0\e,TMU\e1aA!\e0Jl\e1(P\e0>T\e1A\e0>l\e1\e0*Wh\e1Ma\e0?i\e1A\e0"i\e1M\e0AY\e1E\e09Qi\e19\e(B. \e0\e,T7h\e1R9$GC(P\e0(Q\e14`\e0!g\e1:\e0"i\e1M\e0AY\e1E\e(B
+\e0\e,T:h\e1MBf\e(B, \e,T`\e0>Wh\e1M\e0Gh\e1R\e07h\e1R9(Pd\e04i\e1d\e0Ah\e1\e05i\e1M'`\e0JU\e1B'R9d;AR!\e09Q\e1!KR!CP::`\e0!T\e14\e0"Q\e14\e0"i\e1M'\e(B.
 
->> \e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-x C-s, \e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TM\e(B\e0\e,T(Q\e(B\e1\e,T4`\e(B\e0\e,T!g\e(B\e1\e,T:JS`9R\e(B\e0\e,T$Yh\e(B\e1\e0\e,TAW\e(B\e1\e,TM!RCc\e(B\e0\e,T*i\e(B\e1\e,T"M'\e(B\e0\e,T7h\e(B\e1\e,TR9\e(B.
-   \e,T(P;CR!/\e(B "Write ...TUTORIAL.th" \e0\e,T7Uh\e(B\e1\e,T:CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,TEh\e(B\e1\e,TR'\e(B\e0\e,TJX\e(B\e1\e,T4"M'K\e(B\e0\e,T9i\e(B\e1\e,TR(M\e(B.
+>> \e0\e,T;i\e1M9$S\e0JQh\e1'\e(B C-x C-s, \e,T`\e0>Wh\e1M\e0(Q\e14`\e0!g\e1:JS`9R\e0$Yh\e1\e0AW\e1M!RCc\e0*i\e1"M'\e07h\e1R9\e(B.
+   \e,T(P;CR!/\e(B "Write ...TUTORIAL.th" \e0\e,T7Uh\e1:CC\e07Q\e14\e0Eh\e1R'\e0JX\e14"M'K\e09i\e1R(M\e(B.
 
-\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TJQ\e(B\e1\e,T'`!5\e(B: \e,Tc9:R'CP::\e(B, \e,T!RC\e(B\e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-x C-s \e,T(P7Sc\e(B\e0\e,TKi\e(B\e1\e,TK\e(B\e0\e,T9i\e(B\e1\e,TR(M*P\e(B\e0\e,T'Q\e(B\e1\e,T!aEP\e(B\e0\e,T7h\e(B\e1\e,TR9(Pd\e(B\e0\e,TAh\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1\e0\e,TCQ\e(B\e1\e,T:\e(B
-\e0\e,T"i\e(B\e1\e,TM$GRAc4f\e(B \e,T(R!\e(B\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1. \e0\e,T9Uh\e(B\e1\e,TaJ4'\e(B\e0\e,TGh\e(B\e1\e,TR\e(B "feature" \e,T"M'CP::;\e(B\e0\e,T/T\e(B\e1\e0\e,T:Q\e(B\e1\e0\e,T5T\e(B\e1\e,T!RC\e(B\e0\e,T7Uh\e(B\e1\e,T`\e(B\e0\e,TCU\e(B\e1\e,TB!\e(B\e0\e,TGh\e(B\e1\e,TR\e(B "flow
-control" \e,Td\e(B\e0\e,T4i\e(B\e1\e0\e,T"Q\e(B\e1\e,T4"GR'!RC7S'R9"M'\e(B C-s \e,TaEPd\e(B\e0\e,TAh\e(B\e1\e,T;\e(B\e0\e,TEh\e(B\e1\e,TMBc\e(B\e0\e,TKi\e(B\e1\e,T!\e(B\e0\e,TEQ\e(B\e1\e,T:\e(B\e0\e,TJYh\e(B\e1\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e0\e,TMU\e(B\e1\e,T!\e(B. \e,Tc\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-g 
-\e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TMa\e(B\e0\e,T!i\e(B\e1\e,Td"d\e(B\e0\e,TAh\e(B\e1\e,Tc\e(B\e0\e,TKi\e(B\e1\e,TK\e(B\e0\e,T9i\e(B\e1\e,TR(M*P\e(B\e0\e,T'Q\e(B\e1\e,T!\e(B. \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG\e(B\e0\e,T4Y\e(B\e1\e,T:7\e(B\e0\e,T7Uh\e(B\e1\e0\e,TGh\e(B\e1\e,TR\e(B\e0\e,T4i\e(B\e1\e,TGB\e(B "Spontaneous Entry to
-Incremental Search" \e,Tc9\e(B\e0\e,T$Yh\e(B\e1\e0\e,TAW\e(B\e1\e,TM"M'\e(B\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e0\e,T+Vh\e(B\e1\e,T'(Pa9P9S!RC\e(B\e0\e,T(Q\e(B\e1\e,T4!RC`\e(B\e0\e,T!Uh\e(B\e1\e,TBG\e(B\e0\e,T!Q\e(B\e1\e,T:\e(B "feature" \e0\e,T9Ui\e(B\e1.
+\e0\e,T"i\e1M\e0JQ\e1'`!5\e(B: \e,Tc9:R'CP::\e(B, \e,T!RC\e0;i\e1M9$S\e0JQh\e1'\e(B C-x C-s \e,T(P7Sc\e0Ki\e1K\e09i\e1R(M*P\e0'Q\e1!aEP\e07h\e1R9(Pd\e0Ah\e1d\e04i\e1\e0CQ\e1:\e(B
+\e0\e,T"i\e1M$GRAc4f\e(B \e,T(R!\e0MU\e1aA!\e0Jl\e1\e(B. \e0\e,T9Uh\e1aJ4'\e0Gh\e1R\e(B "feature" \e,T"M'CP::;\e0/T\e1\e0:Q\e1\e05T\e1!RC\e07Uh\e1`\e0CU\e1B!\e0Gh\e1R\e(B "flow
+control" \e,Td\e04i\e1\e0"Q\e14"GR'!RC7S'R9"M'\e(B C-s \e,TaEPd\e0Ah\e1;\e0Eh\e1MBc\e0Ki\e1!\e0EQ\e1:\e0JYh\e1\e0MU\e1aA!\e0Jl\e1\e0MU\e1!\e(B. \e,Tc\e0*i\e1$S\e0JQh\e1'\e(B C-g
+\e,T`\e0>Wh\e1Ma\e0!i\e1d"d\e0Ah\e1c\e0Ki\e1K\e09i\e1R(M*P\e0'Q\e1!\e(B. \e,Ta\e0Ei\e1G\e04Y\e1:7\e07Uh\e1\e0Gh\e1R\e04i\e1GB\e(B "Spontaneous Entry to
+Incremental Search" \e,Tc9\e0$Yh\e1\e0AW\e1M"M'\e0MU\e1aA!\e0Jl\e1\e0+Vh\e1'(Pa9P9S!RC\e0(Q\e14!RC`\e0!Uh\e1BG\e0!Q\e1:\e(B "feature" \e0\e,T9Ui\e1\e(B.
 
-\e0\e,T7h\e(B\e1\e,TR9JRARC6(P`\e(B\e0\e,TBW\e(B\e1\e,TM9a\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B\e0\e,T7Uh\e(B\e1\e0\e,TAU\e(B\e1\e,TM\e(B\e0\e,TBYh\e(B\e1\e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG\e(B, \e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TM\e(B\e0\e,T7Uh\e(B\e1\e,T(P\e(B\e0\e,T4Y\e(B\e1\e,TK\e(B\e0\e,TCW\e(B\e1\e,TMa\e(B\e0\e,T!i\e(B\e1\e,Td"\e(B. \e0\e,T7h\e(B\e1\e,TR9JRARC6(P`\e(B\e0\e,TBW\e(B\e1\e,TM9\e(B
-\e,Ta\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B\e0\e,T7Uh\e(B\e1\e0\e,TBQ\e(B\e1\e,T'd\e(B\e0\e,TAh\e(B\e1\e,T;CR!/\e(B\e0\e,T!g\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1. \e0\e,T9Uh\e(B\e1\e,T`\e(B\e0\e,T;g\e(B\e1\e,T9!RCJ\e(B\e0\e,TCi\e(B\e1\e,TR'a\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TEcK\e(B\e0\e,TAh\e(B\e1\e,T"M'\e(B\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1: \e,T`\e(B\e0\e,TBW\e(B\e1\e,TM9a\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B,
-\e0\e,T+Vh\e(B\e1\e,T'(P`\e(B\e0\e,TCTh\e(B\e1\e,TA\e(B\e0\e,T5i\e(B\e1\e,T9\e(B\e0\e,T4i\e(B\e1\e,TGBK\e(B\e0\e,T9i\e(B\e1\e,TR(M\e(B\e0\e,TGh\e(B\e1\e,TR'`;\e(B\e0\e,TEh\e(B\e1\e,TR\e(B, \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG7S!RCa7C!\e(B\e0\e,T"i\e(B\e1\e,TM$GRA`\e(B\e0\e,T>Wh\e(B\e1\e,TM\e(B\e0\e,T7Uh\e(B\e1\e,T(PJ\e(B\e0\e,TCi\e(B\e1\e,TR'`\e(B\e0\e,T;g\e(B\e1\e,T9a\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B\e0\e,T5h\e(B\e1\e,TMd;\e(B. 
-\e,T`\e(B\e0\e,TAWh\e(B\e1\e,TM\e(B\e0\e,T7h\e(B\e1\e,TR9\e(B\e0\e,TJQh\e(B\e1\e,T'c\e(B\e0\e,TKi\e(B\e1 "\e0\e,T(Q\e(B\e1\e,T4`\e(B\e0\e,T!g\e(B\e1\e,T:\e(B (save)" \e,Ta\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B, \e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e0\e,T(V\e(B\e1\e,T'(PJ\e(B\e0\e,TCi\e(B\e1\e,TR'a\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B\e0\e,T4i\e(B\e1\e,TGB\e(B\e0\e,T"i\e(B\e1\e,TM$GRA\e(B\e0\e,T7Uh\e(B\e1
-\e0\e,T7h\e(B\e1\e,TR9d\e(B\e0\e,T4i\e(B\e1\e0\e,T;i\e(B\e1\e,TM9`\e(B\e0\e,T"i\e(B\e1\e,TRd;\e(B. \e,T(R!\e(B\e0\e,T9Ui\e(B\e1\e,Td;\e(B, \e0\e,T7h\e(B\e1\e,TR9JRARC6(P\e(B\e0\e,T5Q\e(B\e1\e,T4\e(B\e0\e,TJT\e(B\e1\e,T9c(EM'a\e(B\e0\e,T!i\e(B\e1\e,Td"a\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B\e0\e,T7Uh\e(B\e1\e0\e,TAU\e(B\e1\e,TM\e(B\e0\e,TBYh\e(B\e1\e,Ta\e(B\e0\e,TEi\e(B\e1\e,TGd\e(B\e0\e,T4i\e(B\e1.
+\e0\e,T7h\e1R9JRARC6(P`\e0BW\e1M9a\e0?i\e1A\e0"i\e1M\e0AY\e1E\e07Uh\e1\e0AU\e1M\e0BYh\e1a\e0Ei\e1G\e(B, \e,T`\e0>Wh\e1M\e07Uh\e1(P\e04Y\e1K\e0CW\e1Ma\e0!i\e1d"\e(B. \e0\e,T7h\e1R9JRARC6(P`\e0BW\e1M9\e(B
+\e,Ta\e0?i\e1A\e0"i\e1M\e0AY\e1E\e07Uh\e1\e0BQ\e1'd\e0Ah\e1;CR!/\e0!g\e1d\e04i\e1\e(B. \e0\e,T9Uh\e1`\e0;g\e19!RCJ\e0Ci\e1R'a\e0?i\e1A\e0"i\e1M\e0AY\e1EcK\e0Ah\e1"M'\e0MU\e1aA!\e0Jl\e1\e(B: \e,T`\e0BW\e1M9a\e0?i\e1A\e0"i\e1M\e0AY\e1E\e(B,
+\e0\e,T+Vh\e1'(P`\e0CTh\e1A\e05i\e19\e04i\e1GBK\e09i\e1R(M\e0Gh\e1R'`;\e0Eh\e1R\e(B, \e,Ta\e0Ei\e1G7S!RCa7C!\e0"i\e1M$GRA`\e0>Wh\e1M\e07Uh\e1(PJ\e0Ci\e1R'`\e0;g\e19a\e0?i\e1A\e0"i\e1M\e0AY\e1E\e05h\e1Md;\e(B.
+\e,T`\e0AWh\e1M\e07h\e1R9\e0JQh\e1'c\e0Ki\e1\e(B "\e0\e,T(Q\e14`\e0!g\e1:\e(B (save)" \e,Ta\e0?i\e1A\e0"i\e1M\e0AY\e1E\e(B, \e0\e,TMU\e1aA!\e0Jl\e1\e0(V\e1'(PJ\e0Ci\e1R'a\e0?i\e1A\e0"i\e1M\e0AY\e1E\e04i\e1GB\e0"i\e1M$GRA\e07Uh\e1\e(B
+\e0\e,T7h\e1R9d\e04i\e1\e0;i\e1M9`\e0"i\e1Rd;\e(B. \e,T(R!\e09Ui\e1d;\e(B, \e0\e,T7h\e1R9JRARC6(P\e05Q\e14\e0JT\e19c(EM'a\e0!i\e1d"a\e0?i\e1A\e0"i\e1M\e0AY\e1E\e07Uh\e1\e0AU\e1M\e0BYh\e1a\e0Ei\e1Gd\e04i\e1\e(B.
 
 
-* \e0\e,T:Q\e(B\e1\e,T?`?M\e(B\e0\e,TCl\e(B\e1 (buffer)
+* \e0\e,T:Q\e1?`?M\e0Cl\e1\e(B (buffer)
 -----------------
 
-\e0\e,T6i\e(B\e1\e,TR\e(B\e0\e,T7h\e(B\e1\e,TR9`\e(B\e0\e,TBW\e(B\e1\e,TM9\e(B\e0\e,TMU\e(B\e1\e,T!a\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TEb4Bc\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-x C-f, \e,Ta\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TEaC!(P\e(B\e0\e,TBQ\e(B\e1\e,T'$'M\e(B\e0\e,TBYh\e(B\e1\e,Tc9\e(B\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1. \e0\e,T7h\e(B\e1\e,TR9\e(B
-\e,TJRARC6(PJ\e(B\e0\e,TEQ\e(B\e1\e,T:!\e(B\e0\e,TEQ\e(B\e1\e,T:d;d\e(B\e0\e,T4i\e(B\e1\e0\e,TMU\e(B\e1\e,T!b4Bc\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-x C-f. \e0\e,TGT\e(B\e1\e0\e,T8U\e(B\e1\e0\e,T9Ui\e(B\e1\e,T(P7Sc\e(B\e0\e,TKi\e(B\e1\e0\e,T7h\e(B\e1\e,TR9JRARC6`\e(B\e0\e,TBW\e(B\e1\e,TM9a\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B
-\e,T@RBc9\e(B\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1\e,T(S9G9K\e(B\e0\e,T9Vh\e(B\e1\e,T'\e(B.
+\e0\e,T6i\e1R\e07h\e1R9`\e0BW\e1M9\e0MU\e1!a\e0?i\e1A\e0"i\e1M\e0AY\e1Eb4Bc\e0*i\e1$S\e0JQh\e1'\e(B C-x C-f, \e,Ta\e0?i\e1A\e0"i\e1M\e0AY\e1EaC!(P\e0BQ\e1'$'M\e0BYh\e1c9\e0MU\e1aA!\e0Jl\e1\e(B. \e0\e,T7h\e1R9\e(B
+\e,TJRARC6(PJ\e0EQ\e1:!\e0EQ\e1:d;d\e04i\e1\e0MU\e1!b4Bc\e0*i\e1$S\e0JQh\e1'\e(B C-x C-f. \e0\e,TGT\e1\e08U\e1\e09Ui\e1(P7Sc\e0Ki\e1\e07h\e1R9JRARC6`\e0BW\e1M9a\e0?i\e1A\e0"i\e1M\e0AY\e1E\e(B
+\e,T@RBc9\e0MU\e1aA!\e0Jl\e1d\e04i\e1(S9G9K\e09Vh\e1'\e(B.
 
->> \e,TJ\e(B\e0\e,TCi\e(B\e1\e,TR'a\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TEaEPc\e(B\e0\e,TKi\e(B\e1\e0\e,T*Wh\e(B\e1\e,TM\e(B\e0\e,TGh\e(B\e1\e,TR\e(B "foo" \e,Tb4B!RC\e(B\e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-x C-f foo <Return>.
-   \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG\e(B\e0\e,T;i\e(B\e1\e,TM9\e(B\e0\e,T"i\e(B\e1\e,TM$GRA\e(B, \e,Ta\e(B\e0\e,T!i\e(B\e1\e,Td"\e(B, \e,TaEP\e(B\e0\e,T(Q\e(B\e1\e,T4`\e(B\e0\e,T!g\e(B\e1\e,T:\e(B "foo" \e,Tb4B!RC\e(B\e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-x C-s.
-   \e0\e,TJX\e(B\e1\e,T4\e(B\e0\e,T7i\e(B\e1\e,TRB\e(B, \e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-x C-f TUTORIAL <Return> \e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TM(Pd\e(B\e0\e,T4i\e(B\e1\e0\e,TBi\e(B\e1\e,TM9!\e(B\e0\e,TEQ\e(B\e1\e,T:AR\e(B\e0\e,T7Uh\e(B\e1\e0\e,T"i\e(B\e1\e,TM$GRA\e(B
-   \e,T"M'\e(B\e0\e,T$Yh\e(B\e1\e0\e,TAW\e(B\e1\e,TM!RCc\e(B\e0\e,T*i\e(B\e1.
+>> \e,TJ\e0Ci\e1R'a\e0?i\e1A\e0"i\e1M\e0AY\e1EaEPc\e0Ki\e1\e0*Wh\e1M\e0Gh\e1R\e(B "foo" \e,Tb4B!RC\e0;i\e1M9$S\e0JQh\e1'\e(B C-x C-f foo <Return>.
+   \e,Ta\e0Ei\e1G\e0;i\e1M9\e0"i\e1M$GRA\e(B, \e,Ta\e0!i\e1d"\e(B, \e,TaEP\e0(Q\e14`\e0!g\e1:\e(B "foo" \e,Tb4B!RC\e0;i\e1M9$S\e0JQh\e1'\e(B C-x C-s.
+   \e0\e,TJX\e14\e07i\e1RB\e(B, \e0\e,T;i\e1M9$S\e0JQh\e1'\e(B C-x C-f TUTORIAL <Return> \e,T`\e0>Wh\e1M(Pd\e04i\e1\e0Bi\e1M9!\e0EQ\e1:AR\e07Uh\e1\e0"i\e1M$GRA\e(B
+   \e,T"M'\e0$Yh\e1\e0AW\e1M!RCc\e0*i\e1\e(B.
 
-\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,T`\e(B\e0\e,T!g\e(B\e1\e,T:\e(B\e0\e,T"i\e(B\e1\e,TM$GRA"M'a\e(B\e0\e,T5h\e(B\e1\e,TEPa\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE@RBc9\e(B\e0\e,TJTh\e(B\e1\e,T'f\e(B (object) \e,TK\e(B\e0\e,T9Vh\e(B\e1\e,T'\e(B, \e0\e,T+Vh\e(B\e1\e,T'`\e(B\e0\e,TCU\e(B\e1\e,TB!\e(B\e0\e,TGh\e(B\e1\e,TR\e(B "\e0\e,T:Q\e(B\e1\e,T?`?M\e(B\e0\e,TCl\e(B\e1
-(buffer)". \e,T!RC`\e(B\e0\e,TBW\e(B\e1\e,TM9a\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE`\e(B\e0\e,T;g\e(B\e1\e,T9!RCJ\e(B\e0\e,TCi\e(B\e1\e,TR'\e(B\e0\e,T:Q\e(B\e1\e,T?`?M\e(B\e0\e,TCl\e(B\e1\e,TcK\e(B\e0\e,TAh\e(B\e1\e,T@RBc9\e(B\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1. \e,Tc9!RC\e(B\e0\e,T7Uh\e(B\e1\e,T(P\e(B\e0\e,T4Y\e(B\e1
-\e,TCRB!RC"M'\e(B\e0\e,T:Q\e(B\e1\e,T?`?M\e(B\e0\e,TCl\e(B\e1\e0\e,T7Uh\e(B\e1\e0\e,TAU\e(B\e1\e,TM\e(B\e0\e,TBYh\e(B\e1\e,Tc9\e(B\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e0\e,T9Qi\e(B\e1\e,T9\e(B, \e,Tc\e(B\e0\e,TKi\e(B\e1\e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B:
+\e0\e,TMU\e1aA!\e0Jl\e1`\e0!g\e1:\e0"i\e1M$GRA"M'a\e05h\e1EPa\e0?i\e1A\e0"i\e1M\e0AY\e1E@RBc9\e0JTh\e1'f\e(B (object) \e,TK\e09Vh\e1'\e(B, \e0\e,T+Vh\e1'`\e0CU\e1B!\e0Gh\e1R\e(B "\e0\e,T:Q\e1?`?M\e0Cl\e1\e(B
+(buffer)". \e,T!RC`\e0BW\e1M9a\e0?i\e1A\e0"i\e1M\e0AY\e1E`\e0;g\e19!RCJ\e0Ci\e1R'\e0:Q\e1?`?M\e0Cl\e1cK\e0Ah\e1@RBc9\e0MU\e1aA!\e0Jl\e1\e(B. \e,Tc9!RC\e07Uh\e1(P\e04Y\e1\e(B
+\e,TCRB!RC"M'\e0:Q\e1?`?M\e0Cl\e1\e07Uh\e1\e0AU\e1M\e0BYh\e1c9\e0MU\e1aA!\e0Jl\e1\e09Qi\e19\e(B, \e,Tc\e0Ki\e1\e0;i\e1M9$S\e0JQh\e1'\e(B:
 
        C-x C-b   List buffers
 
->> \e,TEM'\e(B\e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-x C-b \e0\e,T4Y\e(B\e1.
+>> \e,TEM'\e0;i\e1M9$S\e0JQh\e1'\e(B C-x C-b \e0\e,T4Y\e1\e(B.
 
-\e0\e,T4Y\e(B\e1\e0\e,TGh\e(B\e1\e,TRa\e(B\e0\e,T5h\e(B\e1\e,TEP\e(B\e0\e,T:Q\e(B\e1\e,T?`?M\e(B\e0\e,TCl\e(B\e1\e0\e,TAU\e(B\e1\e0\e,T*Wh\e(B\e1\e,TM\e(B\e0\e,TGh\e(B\e1\e,TRMPdC\e(B, \e,TaEP:R'\e(B\e0\e,TMQ\e(B\e1\e,T9\e(B\e0\e,T!g\e(B\e1\e,T`\e(B\e0\e,T;g\e(B\e1\e,T9\e(B\e0\e,T*Wh\e(B\e1\e,TM"M'a\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B\e0\e,T7Uh\e(B\e1\e0\e,TAU\e(B\e1\e,T`\e(B\e0\e,T9Wi\e(B\e1\e,TMKR\e(B\e0\e,T9Qi\e(B\e1\e,T9f\e(B \e,TM\e(B\e0\e,TBYh\e(B\e1\e,T:R'\e(B
-\e0\e,T:Q\e(B\e1\e,T?`?M\e(B\e0\e,TCl\e(B\e1\e,Td\e(B\e0\e,TAh\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1\e,T`\e(B\e0\e,T!Uh\e(B\e1\e,TBG\e(B\e0\e,T"i\e(B\e1\e,TM'\e(B\e0\e,T!Q\e(B\e1\e,T:a\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B. \e0\e,T5Q\e(B\e1\e,TGM\e(B\e0\e,TBh\e(B\e1\e,TR'`\e(B\e0\e,T*h\e(B\e1\e,T9\e(B, \e0\e,T:Q\e(B\e1\e,T?`?M\e(B\e0\e,TCl\e(B\e1\e0\e,T7Uh\e(B\e1\e0\e,TAU\e(B\e1\e0\e,T*Wh\e(B\e1\e,TM\e(B\e0\e,TGh\e(B\e1\e,TR\e(B "*Buffer List*"
-\e,Td\e(B\e0\e,TAh\e(B\e1\e0\e,TAU\e(B\e1\e,Ta\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TEc4f\e(B \e0\e,T7Qi\e(B\e1\e,T'\e(B\e0\e,TJTi\e(B\e1\e,T9\e(B. \e0\e,T9Uh\e(B\e1\e,T`\e(B\e0\e,T;g\e(B\e1\e,T9\e(B\e0\e,T:Q\e(B\e1\e,T?`?M\e(B\e0\e,TCl\e(B\e1\e0\e,T+Vh\e(B\e1\e,T':CC\e(B\e0\e,T(X\e(B\e1\e,T`\e(B\e0\e,T9Wi\e(B\e1\e,TMKR"M'CRB!RC"M'\e(B\e0\e,T:Q\e(B\e1\e,T?`?M\e(B\e0\e,TCl\e(B\e1\e0\e,T7Uh\e(B\e1\e0\e,T6Y\e(B\e1\e,T!J\e(B\e0\e,TCi\e(B\e1\e,TR'\e(B
-\e0\e,T4i\e(B\e1\e,TGB$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-x C-b. \e0\e,T"i\e(B\e1\e,TM$GRAc4f\e(B \e0\e,T7Uh\e(B\e1\e0\e,T7h\e(B\e1\e,TR9`\e(B\e0\e,TKg\e(B\e1\e,T9:9K\e(B\e0\e,T9i\e(B\e1\e,TR(M"M'\e(B\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,T(P;CR!/M\e(B\e0\e,TBYh\e(B\e1\e,T`\e(B\e0\e,T;g\e(B\e1\e,T9\e(B\e0\e,TJh\e(B\e1\e,TG9K\e(B\e0\e,T9Vh\e(B\e1\e,T'\e(B
-\e,T"M'\e(B\e0\e,T:Q\e(B\e1\e,T?`?M\e(B\e0\e,TCl\e(B\e1\e,Tc4\e(B\e0\e,T:Q\e(B\e1\e,T?`?M\e(B\e0\e,TCl\e(B\e1\e,TK\e(B\e0\e,T9Vh\e(B\e1\e,T'`JAM\e(B.
+\e0\e,T4Y\e1\e0Gh\e1Ra\e05h\e1EP\e0:Q\e1?`?M\e0Cl\e1\e0AU\e1\e0*Wh\e1M\e0Gh\e1RMPdC\e(B, \e,TaEP:R'\e0MQ\e19\e0!g\e1`\e0;g\e19\e0*Wh\e1M"M'a\e0?i\e1A\e0"i\e1M\e0AY\e1E\e07Uh\e1\e0AU\e1`\e09Wi\e1MKR\e09Qi\e19f\e(B \e,TM\e0BYh\e1\e(B\e,T:R'\e(B
+\e0\e,T:Q\e1?`?M\e0Cl\e1d\e0Ah\e1d\e04i\e1`\e0!Uh\e1BG\e0"i\e1M'\e0!Q\e1:a\e0?i\e1A\e0"i\e1M\e0AY\e1E\e(B. \e0\e,T5Q\e1GM\e0Bh\e1R'`\e0*h\e19\e(B, \e0\e,T:Q\e1?`?M\e0Cl\e1\e07Uh\e1\e0AU\e1\e0*Wh\e1M\e0Gh\e1R\e(B "*Buffer List*"
+\e,Td\e0Ah\e1\e0AU\e1a\e0?i\e1A\e0"i\e1M\e0AY\e1Ec4f\e(B \e0\e,T7Qi\e1'\e0JTi\e19\e(B. \e0\e,T9Uh\e1`\e0;g\e19\e0:Q\e1?`?M\e0Cl\e1\e0+Vh\e1':CC\e0(X\e1`\e09Wi\e1MKR"M'CRB!RC"M'\e0:Q\e1?`?M\e0Cl\e1\e07Uh\e1\e06Y\e1!J\e0Ci\e1R'\e(B
+\e0\e,T4i\e1GB$S\e0JQh\e1'\e(B C-x C-b. \e0\e,T"i\e1M$GRAc4f\e(B \e0\e,T7Uh\e1\e07h\e1R9`\e0Kg\e19:9K\e09i\e1R(M"M'\e0MU\e1aA!\e0Jl\e1(P;CR!/M\e0BYh\e1`\e0;g\e19\e0Jh\e1G9K\e09Vh\e1'\e(B
+\e,T"M'\e0:Q\e1?`?M\e0Cl\e1c4\e0:Q\e1?`?M\e0Cl\e1K\e09Vh\e1'`JAM\e(B.
 
->> \e,TEM'c\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-x 1 \e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TM\e(B\e0\e,T7Uh\e(B\e1\e,T(P!S\e(B\e0\e,T(Q\e(B\e1\e,T4CRB!RC"M'\e(B\e0\e,T:Q\e(B\e1\e,T?`?M\e(B\e0\e,TCl\e(B\e1.
+>> \e,TEM'c\e0*i\e1$S\e0JQh\e1'\e(B C-x 1 \e,T`\e0>Wh\e1M\e07Uh\e1(P!S\e0(Q\e14CRB!RC"M'\e0:Q\e1?`?M\e0Cl\e1\e(B.
 
-\e0\e,T6i\e(B\e1\e,TR\e(B\e0\e,T7h\e(B\e1\e,TR9a\e(B\e0\e,T!i\e(B\e1\e,Td"\e(B\e0\e,T"i\e(B\e1\e,TM$GRAc9a\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TEK\e(B\e0\e,T9Vh\e(B\e1\e,T'\e(B, \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG`\e(B\e0\e,TBW\e(B\e1\e,TM9\e(B\e0\e,TMU\e(B\e1\e,T!a\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TEK\e(B\e0\e,T9Vh\e(B\e1\e,T'\e(B, \e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e0\e,TBQ\e(B\e1\e,T'd\e(B\e0\e,TAh\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1\e0\e,T(Q\e(B\e1\e,T4`\e(B\e0\e,T!g\e(B\e1\e,T:\e(B
-\e0\e,T"i\e(B\e1\e,TM$GRA"M'a\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TEaC!\e(B. \e0\e,T"i\e(B\e1\e,TM$GRA\e(B\e0\e,T7Uh\e(B\e1\e0\e,T6Y\e(B\e1\e,T!a\e(B\e0\e,T!i\e(B\e1\e,Td"d;(P\e(B\e0\e,TBQ\e(B\e1\e,T'$'M\e(B\e0\e,TBYh\e(B\e1\e,Tc9\e(B\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1, \e,Tc9\e(B\e0\e,T:Q\e(B\e1\e,T?`?M\e(B\e0\e,TCl\e(B\e1\e,TJSK\e(B\e0\e,TCQ\e(B\e1\e,T:\e(B
-\e,Ta\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B\e0\e,T9Qi\e(B\e1\e,T9\e(B. \e,T!RCJ\e(B\e0\e,TCi\e(B\e1\e,TR'K\e(B\e0\e,TCW\e(B\e1\e,TM!RCa\e(B\e0\e,T!i\e(B\e1\e,Td""M'\e(B\e0\e,T:Q\e(B\e1\e,T?`?M\e(B\e0\e,TCl\e(B\e1\e,TJSK\e(B\e0\e,TCQ\e(B\e1\e,T:a\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B\e0\e,T7Uh\e(B\e1\e,TJM'd\e(B\e0\e,TAh\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1\e0\e,TAU\e(B\e1\e,T<E\e(B\e0\e,T5h\e(B\e1\e,TM\e(B
-\e0\e,T:Q\e(B\e1\e,T?`?M\e(B\e0\e,TCl\e(B\e1\e,TJSK\e(B\e0\e,TCQ\e(B\e1\e,T:a\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B\e0\e,T7Uh\e(B\e1\e,TK\e(B\e0\e,T9Vh\e(B\e1\e,T'\e(B. \e0\e,T9Uh\e(B\e1\e,T`\e(B\e0\e,T;g\e(B\e1\e,T9\e(B\e0\e,TJTh\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e0\e,TAU\e(B\e1\e,T;CPbB*\e(B\e0\e,T9l\e(B\e1\e,TAR!\e(B, \e,Ta\e(B\e0\e,T5h\e(B\e1\e0\e,T!g\e(B\e1\e,TKARB$GRA\e(B\e0\e,TGh\e(B\e1\e,TR(P\e(B\e0\e,T5i\e(B\e1\e,TM'\e(B\e0\e,TAU\e(B\e1
-\e0\e,TGT\e(B\e1\e0\e,T8U\e(B\e1\e,T!RC\e(B\e0\e,T7Uh\e(B\e1\e0\e,T4U\e(B\e1\e,Tc9!RC\e(B\e0\e,T(Q\e(B\e1\e,T4`\e(B\e0\e,T!g\e(B\e1\e,T:\e(B\e0\e,T:Q\e(B\e1\e,T?`?M\e(B\e0\e,TCl\e(B\e1\e,T"M'a\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TEaC!\e(B. \e0\e,T9Uh\e(B\e1\e,Td\e(B\e0\e,TAh\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1\e,TKARB$GRA\e(B\e0\e,TGh\e(B\e1\e,TR(P\e(B\e0\e,T5i\e(B\e1\e,TM'J\e(B\e0\e,TEQ\e(B\e1\e,T:!\e(B\e0\e,TEQ\e(B\e1\e,T:d;\e(B
-\e0\e,TBQ\e(B\e1\e,T'a\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TEaC!\e(B\e0\e,T4i\e(B\e1\e,TGB$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-x C-f \e0\e,T!h\e(B\e1\e,TM9\e(B, \e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TM\e(B\e0\e,T7Uh\e(B\e1\e,T(Pd\e(B\e0\e,T4i\e(B\e1\e,Tc\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-x C-s \e,Tc9!RC\e(B\e0\e,T(Q\e(B\e1\e,T4`\e(B\e0\e,T!g\e(B\e1\e,T:\e(B. 
-\e0\e,T4Q\e(B\e1\e,T'\e(B\e0\e,T9Qi\e(B\e1\e,T9`CR\e(B\e0\e,T(V\e(B\e1\e,T'`5\e(B\e0\e,TCU\e(B\e1\e,TBA$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B
+\e0\e,T6i\e1R\e07h\e1R9a\e0!i\e1d"\e0"i\e1M$GRAc9a\e0?i\e1A\e0"i\e1M\e0AY\e1EK\e09Vh\e1'\e(B, \e,Ta\e0Ei\e1G`\e0BW\e1M9\e0MU\e1!a\e0?i\e1A\e0"i\e1M\e0AY\e1EK\e09Vh\e1'\e(B, \e0\e,TMU\e1aA!\e0Jl\e1\e0BQ\e1'd\e0Ah\e1d\e04i\e1\e0(Q\e14`\e0!g\e1:\e(B
+\e0\e,T"i\e1M$GRA"M'a\e0?i\e1A\e0"i\e1M\e0AY\e1EaC!\e(B. \e0\e,T"i\e1M$GRA\e07Uh\e1\e06Y\e1!a\e0!i\e1d"d;(P\e0BQ\e1'$'M\e0BYh\e1c9\e0MU\e1aA!\e0Jl\e1\e(B, \e,Tc9\e0:Q\e1?`?M\e0Cl\e1JSK\e0CQ\e1:\e(B
+\e,Ta\e0?i\e1A\e0"i\e1M\e0AY\e1E\e09Qi\e19\e(B. \e,T!RCJ\e0Ci\e1R'K\e0CW\e1M!RCa\e0!i\e1d""M'\e0:Q\e1?`?M\e0Cl\e1JSK\e0CQ\e1:a\e0?i\e1A\e0"i\e1M\e0AY\e1E\e07Uh\e1JM'd\e0Ah\e1d\e04i\e1\e0AU\e1<E\e05h\e1M\e(B
+\e0\e,T:Q\e1?`?M\e0Cl\e1JSK\e0CQ\e1:a\e0?i\e1A\e0"i\e1M\e0AY\e1E\e07Uh\e1K\e09Vh\e1'\e(B. \e0\e,T9Uh\e1`\e0;g\e19\e0JTh\e1'\e07Uh\e1\e0AU\e1;CPbB*\e09l\e1AR!\e(B, \e,Ta\e05h\e1\e0!g\e1KARB$GRA\e0Gh\e1R(P\e05i\e1M'\e0AU\e1\e(B
+\e0\e,TGT\e1\e08U\e1!RC\e07Uh\e1\e04U\e1c9!RC\e0(Q\e14`\e0!g\e1:\e0:Q\e1?`?M\e0Cl\e1"M'a\e0?i\e1A\e0"i\e1M\e0AY\e1EaC!\e(B. \e0\e,T9Uh\e1d\e0Ah\e1d\e04i\e1KARB$GRA\e0Gh\e1R(P\e05i\e1M'J\e0EQ\e1:!\e0EQ\e1:d;\e(B
+\e0\e,TBQ\e1'a\e0?i\e1A\e0"i\e1M\e0AY\e1EaC!\e04i\e1GB$S\e0JQh\e1'\e(B C-x C-f \e0\e,T!h\e1M9\e(B, \e,T`\e0>Wh\e1M\e07Uh\e1(Pd\e04i\e1c\e0*i\e1$S\e0JQh\e1'\e(B C-x C-s \e,Tc9!RC\e0(Q\e14`\e0!g\e1:\e(B.
+\e0\e,T4Q\e1'\e09Qi\e19`CR\e0(V\e1'`5\e0CU\e1BA$S\e0JQh\e1'\e(B
 
        C-x s     Save some buffers
 
-\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-x s \e,T(P6RA\e(B\e0\e,T7h\e(B\e1\e,TR9`\e(B\e0\e,T!Uh\e(B\e1\e,TBG\e(B\e0\e,T!Q\e(B\e1\e,T:\e(B\e0\e,T:Q\e(B\e1\e,T?`?M\e(B\e0\e,TCl\e(B\e1\e0\e,T7Uh\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1\e0\e,TCQ\e(B\e1\e,T:!RCa\e(B\e0\e,T!i\e(B\e1\e,Td"a\e(B\e0\e,T5h\e(B\e1\e0\e,TBQ\e(B\e1\e,T'd\e(B\e0\e,TAh\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1\e0\e,TCQ\e(B\e1\e,T:!RC\e(B\e0\e,T(Q\e(B\e1\e,T4`\e(B\e0\e,T!g\e(B\e1\e,T:\e(B. \e0\e,TMU\e(B\e1
-\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,T(P6RA\e(B\e0\e,T7h\e(B\e1\e,TR9\e(B, \e,TJSK\e(B\e0\e,TCQ\e(B\e1\e,T:a\e(B\e0\e,T5h\e(B\e1\e,TEP\e(B\e0\e,T:Q\e(B\e1\e,T?`?M\e(B\e0\e,TCl\e(B\e1\e0\e,T4Q\e(B\e1\e,T'!\e(B\e0\e,TEh\e(B\e1\e,TRG\e(B, \e0\e,TGh\e(B\e1\e,TR(P\e(B\e0\e,T(Q\e(B\e1\e,T4`\e(B\e0\e,T!g\e(B\e1\e,T:K\e(B\e0\e,TCW\e(B\e1\e,TMd\e(B\e0\e,TAh\e(B\e1.
+\e,T$S\e0JQh\e1'\e(B C-x s \e,T(P6RA\e07h\e1R9`\e0!Uh\e1BG\e0!Q\e1:\e0:Q\e1?`?M\e0Cl\e1\e07Uh\e1d\e04i\e1\e0CQ\e1:!RCa\e0!i\e1d"a\e05h\e1\e0BQ\e1'd\e0Ah\e1d\e04i\e1\e0CQ\e1:!RC\e0(Q\e14`\e0!g\e1:\e(B. \e0\e,TMU\e1\e(B
+\e,TaA!\e0Jl\e1(P6RA\e07h\e1R9\e(B, \e,TJSK\e0CQ\e1:a\e05h\e1EP\e0:Q\e1?`?M\e0Cl\e1\e04Q\e1'!\e0Eh\e1RG\e(B, \e0\e,TGh\e1R(P\e0(Q\e14`\e0!g\e1:K\e0CW\e1Md\e0Ah\e1\e(B.
 
->> \e,Ta7C!\e(B\e0\e,T"i\e(B\e1\e,TM$GRA\e(B\e0\e,TJQ\e(B\e1\e,T!K\e(B\e0\e,T9Vh\e(B\e1\e,T':CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B, \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG\e(B\e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-x s.
-   \e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,T(P6RA\e(B\e0\e,T7h\e(B\e1\e,TR9\e(B\e0\e,TGh\e(B\e1\e,TR(P\e(B\e0\e,T(Q\e(B\e1\e,T4`\e(B\e0\e,T!g\e(B\e1\e,T:\e(B\e0\e,T:Q\e(B\e1\e,T?`?M\e(B\e0\e,TCl\e(B\e1\e0\e,T*Wh\e(B\e1\e,TM\e(B TUTORIAL \e,TdKA\e(B.
-   \e,T5M:\e(B\e0\e,TGh\e(B\e1\e,TRc\e(B\e0\e,T*h\e(B\e1\e,Tb4B!RC\e(B\e0\e,T;i\e(B\e1\e,TM9\e(B "y".
+>> \e,Ta7C!\e0"i\e1M$GRA\e0JQ\e1!K\e09Vh\e1':CC\e07Q\e14\e(B, \e,Ta\e0Ei\e1G\e0;i\e1M9$S\e0JQh\e1'\e(B C-x s.
+   \e0\e,TMU\e1aA!\e0Jl\e1(P6RA\e07h\e1R9\e0Gh\e1R(P\e0(Q\e14`\e0!g\e1:\e0:Q\e1?`?M\e0Cl\e1\e0*Wh\e1M\e(B TUTORIAL \e,TdKA\e(B.
+   \e,T5M:\e0Gh\e1Rc\e0*h\e1b4B!RC\e0;i\e1M9\e(B "y".
 
 
-* \e,T!RC`\e(B\e0\e,T>Th\e(B\e1\e,TA\e(B\e0\e,T*X\e(B\e1\e,T4$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B
+* \e,T!RC`\e0>Th\e1A\e0*X\e14$S\e0JQh\e1'\e(B
 --------------
 
-\e0\e,TAU\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'"M'\e(B\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,TM\e(B\e0\e,TBYh\e(B\e1\e0\e,TMU\e(B\e1\e,T!AR!ARB(9`\e(B\e0\e,T!T\e(B\e1\e,T9!\e(B\e0\e,TGh\e(B\e1\e,TR\e(B\e0\e,T7Uh\e(B\e1\e,T(PJRARC6!S\e(B\e0\e,T!Q\e(B\e1\e,T:d\e(B\e0\e,T4i\e(B\e1\e0\e,T4i\e(B\e1\e,TGB\e(B\e0\e,TMQ\e(B\e1\e,T!"CP;CPJA\e(B\e0\e,T!Q\e(B\e1\e,T:\e(B\e0\e,TMQ\e(B\e1\e,T!"CP\e(B
-\e,T$M9b7CE\e(B (control character) \e,TaEPM\e(B\e0\e,T@T\e(B\e1\e0\e,TMQ\e(B\e1\e,T!"CP\e(B (meta character). \e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,Tc\e(B\e0\e,T*i\e(B\e1\e,T!RC\e(B
-\e,T;CPJA\e(B\e0\e,T!Q\e(B\e1\e,T:$S\e(B\e0\e,TJQh\e(B\e1\e,T'`J\e(B\e0\e,TCT\e(B\e1\e,TA\e(B (eXtend command). \e,T!RC`J\e(B\e0\e,TCT\e(B\e1\e,TA\e(B\e0\e,T9Ui\e(B\e1\e,T`\e(B\e0\e,T;g\e(B\e1\e,T9d;d\e(B\e0\e,T4i\e(B\e1\e,TJM'\e(B\e0\e,TEQ\e(B\e1\e,T!I3P\e(B:
-
-       C-x     \e,T!RC`J\e(B\e0\e,TCT\e(B\e1\e,TA\e(B\e0\e,TMQ\e(B\e1\e,T!"CP\e(B (Character eXtend). \e,T5RA\e(B\e0\e,T4i\e(B\e1\e,TGBK\e(B\e0\e,T9Vh\e(B\e1\e,T'\e(B\e0\e,T5Q\e(B\e1\e,TG\e(B\e0\e,TMQ\e(B\e1\e,T!IC\e(B.
-       M-x     \e,T!RC`J\e(B\e0\e,TCT\e(B\e1\e,TA\e(B\e0\e,T4i\e(B\e1\e,TGB\e(B\e0\e,T*Wh\e(B\e1\e,TM$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B (Named command eXtend). \e,T5RA\e(B\e0\e,T4i\e(B\e1\e,TGB\e(B\e0\e,T*Wh\e(B\e1\e,TM`\e(B\e0\e,T5g\e(B\e1\e,TA\e(B.
-
-\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'`K\e(B\e0\e,TEh\e(B\e1\e,TR\e(B\e0\e,T9Ui\e(B\e1\e,Tb4B\e(B\e0\e,T7Qh\e(B\e1\e,TGd;a\e(B\e0\e,TEi\e(B\e1\e,TG(P\e(B\e0\e,TAU\e(B\e1\e,T;CPbB*\e(B\e0\e,T9l\e(B\e1, \e,Ta\e(B\e0\e,T5h\e(B\e1\e0\e,TAQ\e(B\e1\e,T!(P\e(B\e0\e,TAU\e(B\e1\e,TbM!RJc\e(B\e0\e,T*i\e(B\e1\e0\e,T9i\e(B\e1\e,TMB!\e(B\e0\e,TGh\e(B\e1\e,TR$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T5h\e(B\e1\e,TR'f\e(B \e0\e,T7Uh\e(B\e1\e0\e,T7h\e(B\e1\e,TR9d\e(B\e0\e,T4i\e(B\e1
-\e,T`\e(B\e0\e,TCU\e(B\e1\e,TB9\e(B\e0\e,TCYi\e(B\e1\e,Td;a\e(B\e0\e,TEi\e(B\e1\e,TG\e(B. \e0\e,T7h\e(B\e1\e,TR9d\e(B\e0\e,T4i\e(B\e1\e,T>:d;a\e(B\e0\e,TEi\e(B\e1\e,TGJM'$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B: \e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'JSK\e(B\e0\e,TCQ\e(B\e1\e,T:!RC\e(B\e0\e,T(Q\e(B\e1\e,T4!RC\e(B\e0\e,T!Q\e(B\e1\e,T:a\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B C-x C-f
-\e,TJSK\e(B\e0\e,TCQ\e(B\e1\e,T:!RC`\e(B\e0\e,TBW\e(B\e1\e,TM9\e(B (Find) \e,TaEP\e(B C-x C-s \e,TJSK\e(B\e0\e,TCQ\e(B\e1\e,T:!RC\e(B\e0\e,T(Q\e(B\e1\e,T4`\e(B\e0\e,T!g\e(B\e1\e,T:\e(B (Save). \e0\e,TMU\e(B\e1\e,T!\e(B\e0\e,T5Q\e(B\e1\e,TGM\e(B\e0\e,TBh\e(B\e1\e,TR'K\e(B\e0\e,T9Vh\e(B\e1\e,T'\e(B\e0\e,T!g\e(B\e1
-\e0\e,T$W\e(B\e1\e,TM$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e,Tc\e(B\e0\e,T*i\e(B\e1\e,Tc9!RC`\e(B\e0\e,TET\e(B\e1\e,T!c\e(B\e0\e,T*i\e(B\e1\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1--\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-x C-c. (\e,Td\e(B\e0\e,TAh\e(B\e1\e0\e,T5i\e(B\e1\e,TM'`\e(B\e0\e,T;g\e(B\e1\e,T9\e(B\e0\e,TKh\e(B\e1\e,TG'\e(B\e0\e,TGh\e(B\e1\e,TR\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B\e0\e,T7Uh\e(B\e1\e0\e,T7h\e(B\e1\e,TR9d\e(B\e0\e,T4i\e(B\e1
-\e,Ta\e(B\e0\e,T!i\e(B\e1\e,Td"d;(P\e(B\e0\e,TJY\e(B\e1\e,T-KRB\e(B; \e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-x C-c \e,T(P`J9Mc\e(B\e0\e,TKi\e(B\e1\e0\e,T(Q\e(B\e1\e,T4`\e(B\e0\e,T!g\e(B\e1\e,T:a\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B\e0\e,T7Uh\e(B\e1\e0\e,T6Y\e(B\e1\e,T!a\e(B\e0\e,T!i\e(B\e1\e,Td"d;\e(B\e0\e,T!h\e(B\e1\e,TM9\e(B\e0\e,T7Uh\e(B\e1\e,T(P\e(B\e0\e,TJTi\e(B\e1\e,T9\e(B\e0\e,TJX\e(B\e1\e,T4\e(B
-\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1.)
-
-\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-z \e,T`\e(B\e0\e,T;g\e(B\e1\e,T9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e,Tc\e(B\e0\e,T*i\e(B\e1\e,Tc9!RCMM!(R!\e(B\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,T`\e(B\e0\e,T;g\e(B\e1\e,T9!RC\e(B\e0\e,T*Qh\e(B\e1\e,TG$CRG\e(B *temporarily*--\e,T)P\e(B\e0\e,T9Qi\e(B\e1\e,T9\e(B
-\e0\e,T7h\e(B\e1\e,TR9JRARC6!\e(B\e0\e,TEQ\e(B\e1\e,T:d;\e(B\e0\e,TJYh\e(B\e1\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1\e0\e,TMU\e(B\e1\e,T!K\e(B\e0\e,TEQ\e(B\e1\e,T'(R!\e(B\e0\e,T9Qi\e(B\e1\e,T9\e(B.
-
-\e,TJSK\e(B\e0\e,TCQ\e(B\e1\e,T:CP::\e(B\e0\e,T7Uh\e(B\e1\e,TM\e(B\e0\e,T9X\e(B\e1\e,T-R5c\e(B\e0\e,TKi\e(B\e1\e,Tc\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B, C-z "suspends" \e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1; \e0\e,T9Qh\e(B\e1\e,T9\e(B\e0\e,T$W\e(B\e1\e,TM!RC!\e(B\e0\e,TEQ\e(B\e1\e,T:d;\e(B\e0\e,TBQ\e(B\e1\e,T'`*E\e(B\e0\e,TEl\e(B\e1
-(shell) \e,Tb4Bd\e(B\e0\e,TAh\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1\e,T7SERB\e(B\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1. \e,Tc9`*E\e(B\e0\e,TEl\e(B\e1\e0\e,T7Qh\e(B\e1\e,TGd;\e(B, \e0\e,T7h\e(B\e1\e,TR9JRARC6\e(B\e0\e,TCU\e(B\e1\e0\e,T+Y\e(B\e1\e,TA\e(B (resume) \e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1
-\e,Td\e(B\e0\e,T4i\e(B\e1\e0\e,T4i\e(B\e1\e,TGB$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B `fg' \e,TK\e(B\e0\e,TCW\e(B\e1\e,TM\e(B\e0\e,T4i\e(B\e1\e,TGB$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B `%emacs'.
-
-\e,TJSK\e(B\e0\e,TCQ\e(B\e1\e,T:CP::\e(B\e0\e,T7Uh\e(B\e1\e,Td\e(B\e0\e,TAh\e(B\e1\e0\e,TAU\e(B\e1\e0\e,T?Q\e(B\e1\e,T'\e(B\e0\e,T!l\e(B\e1\e0\e,T*Q\e(B\e1\e,T9\e(B "suspend", \e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-z \e,T(PJ\e(B\e0\e,TCi\e(B\e1\e,TR'\e(B\e0\e,T+Q\e(B\e1\e,T:`*E\e(B\e0\e,TEl\e(B\e1 (subshell)
-\e,T@RBc\e(B\e0\e,T5i\e(B\e1\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TMc\e(B\e0\e,TKi\e(B\e1\e0\e,T7h\e(B\e1\e,TR9\e(B\e0\e,TAU\e(B\e1\e,TbM!RJ4S`\e(B\e0\e,T9T\e(B\e1\e,T9'R9b;Ca!CA\e(B\e0\e,TMWh\e(B\e1\e,T9\e(B\e0\e,T!h\e(B\e1\e,TM9a\e(B\e0\e,TEi\e(B\e1\e,TG\e(B\e0\e,T$h\e(B\e1\e,TMB!\e(B\e0\e,TEQ\e(B\e1\e,T:AR\e(B\e0\e,TBQ\e(B\e1\e,T'\e(B\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e0\e,TMU\e(B\e1\e,T!$\e(B\e0\e,TCQi\e(B\e1\e,T'\e(B;
-\e0\e,T+Vh\e(B\e1\e,T'd\e(B\e0\e,TAh\e(B\e1\e,Tc\e(B\e0\e,T*h\e(B\e1\e,T!RC\e(B "\e,TMM!(R!\e(B (exit)" \e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,T(\e(B\e0\e,TCT\e(B\e1\e,T'\e(B. \e,Tc9!C\e(B\e0\e,T3U\e(B\e1\e0\e,T9Ui\e(B\e1, \e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'`*E\e(B\e0\e,TEl\e(B\e1 `exit' \e,T`\e(B\e0\e,T;g\e(B\e1\e,T9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B
-\e,T;C!\e(B\e0\e,T5T\e(B\e1\e0\e,T7Uh\e(B\e1\e,Tc\e(B\e0\e,T*i\e(B\e1\e,Tc9!RC!\e(B\e0\e,TEQ\e(B\e1\e,T:d;\e(B\e0\e,TBQ\e(B\e1\e,T'\e(B\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,T(R!\e(B\e0\e,T+Q\e(B\e1\e,T:`*E\e(B\e0\e,TEl\e(B\e1.
-
-\e,Tc\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-x C-c \e0\e,T!g\e(B\e1\e0\e,T5h\e(B\e1\e,TM`\e(B\e0\e,TAWh\e(B\e1\e,TM\e(B\e0\e,T7h\e(B\e1\e,TR9\e(B\e0\e,T5i\e(B\e1\e,TM'!RC(P`\e(B\e0\e,TET\e(B\e1\e,T!c\e(B\e0\e,T*i\e(B\e1\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,T(\e(B\e0\e,TCT\e(B\e1\e,T'f\e(B. \e0\e,TGT\e(B\e1\e0\e,T8U\e(B\e1\e0\e,T9Ui\e(B\e1\e,T`\e(B\e0\e,T;g\e(B\e1\e,T9\e(B\e0\e,TGT\e(B\e1\e0\e,T8U\e(B\e1\e0\e,T7Uh\e(B\e1\e0\e,T6Y\e(B\e1\e,T!\e(B\e0\e,T5i\e(B\e1\e,TM'c9\e(B
-\e,T!RC\e(B\e0\e,T7Uh\e(B\e1\e,T(P`\e(B\e0\e,TET\e(B\e1\e,T!c\e(B\e0\e,T*i\e(B\e1\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1, \e,Td\e(B\e0\e,TAh\e(B\e1\e0\e,TGh\e(B\e1\e,TR\e(B\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e0\e,T9Qi\e(B\e1\e,T9(P\e(B\e0\e,T6Y\e(B\e1\e,T!`\e(B\e0\e,TCU\e(B\e1\e,TB!c\e(B\e0\e,T*i\e(B\e1\e,T(R!b;Ca!CA\e(B\e0\e,T(Q\e(B\e1\e,T4!RC`AE\e(B\e0\e,TEl\e(B\e1 (mail
-handling programs) \e,TK\e(B\e0\e,TCW\e(B\e1\e,TMb;Ca!CAMCC6;CPbB*\e(B\e0\e,T9l\e(B\e1 (utility programs) \e0\e,T5h\e(B\e1\e,TR'f\e(B, 
-\e,T`\e(B\e0\e,T9Wh\e(B\e1\e,TM'(R!\e(B\e0\e,TGh\e(B\e1\e,TRb;Ca!CA`K\e(B\e0\e,TEh\e(B\e1\e,TR\e(B\e0\e,T9Ui\e(B\e1\e,Td\e(B\e0\e,TAh\e(B\e1\e0\e,TAU\e(B\e1\e0\e,TGT\e(B\e1\e0\e,T8U\e(B\e1\e,T!RC\e(B\e0\e,T(Q\e(B\e1\e,T4!RC\e(B\e0\e,T!Q\e(B\e1\e,T:\e(B\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1\e,Tb4B5C'\e(B. \e,Tc9J@R>!RC7S'R9\e(B
-\e,T;C!\e(B\e0\e,T5T\e(B\e1, \e0\e,T6i\e(B\e1\e,TR\e(B\e0\e,T7h\e(B\e1\e,TR9d\e(B\e0\e,TAh\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1\e0\e,T5i\e(B\e1\e,TM'!RC(P`\e(B\e0\e,TET\e(B\e1\e,T!c\e(B\e0\e,T*i\e(B\e1\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,T(\e(B\e0\e,TCT\e(B\e1\e,T'f\e(B, \e0\e,T7h\e(B\e1\e,TR9\e(B\e0\e,T!g\e(B\e1\e,T$GC(P\e(B suspend \e,Tb4B!RCc\e(B\e0\e,T*i\e(B\e1
-\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-z \e,Ta79!RC`\e(B\e0\e,TET\e(B\e1\e,T!c\e(B\e0\e,T*i\e(B\e1\e,Td;`EB\e(B.
-
-\e0\e,TBQ\e(B\e1\e,T'\e(B\e0\e,TAU\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e,TM\e(B\e0\e,TBYh\e(B\e1\e,Tc9\e(B\e0\e,T*X\e(B\e1\e,T4$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-x \e0\e,TMU\e(B\e1\e,T!AR!\e(B. \e0\e,T5h\e(B\e1\e,TMd;\e(B\e0\e,T9Ui\e(B\e1\e,T`\e(B\e0\e,T;g\e(B\e1\e,T9CRB!RC$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e0\e,T7h\e(B\e1\e,TR9d\e(B\e0\e,T4i\e(B\e1\e,T`\e(B\e0\e,TCU\e(B\e1\e,TB9\e(B\e0\e,TCYi\e(B\e1\e,Td;a\e(B\e0\e,TEi\e(B\e1\e,TG\e(B:
-
-       C-x C-f         \e,T`\e(B\e0\e,TBW\e(B\e1\e,TM9a\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B (Find file).
-       C-x C-s         \e0\e,T(Q\e(B\e1\e,T4`\e(B\e0\e,T!g\e(B\e1\e,T:a\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B (Save file).
-       C-x C-b         \e,T7SCRB!RC\e(B\e0\e,T:Q\e(B\e1\e,T?`?M\e(B\e0\e,TCl\e(B\e1 (List buffers).
-       C-x C-c         \e,T`\e(B\e0\e,TET\e(B\e1\e,T!c\e(B\e0\e,T*i\e(B\e1\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1 (Quit Emacs).
-       C-x 1           \e,TE:K\e(B\e0\e,T9i\e(B\e1\e,TR(M\e(B\e0\e,T7Qi\e(B\e1\e,T'KA4b4B$'M\e(B\e0\e,TBYh\e(B\e1\e,Td\e(B\e0\e,TGi\e(B\e1\e,TK\e(B\e0\e,T9Vh\e(B\e1\e,T'K\e(B\e0\e,T9i\e(B\e1\e,TR(M\e(B 
+\e0\e,TAU\e1$S\e0JQh\e1'"M'\e0MU\e1aA!\e0Jl\e1M\e0BYh\e1\e0MU\e1!AR!ARB(9`\e0!T\e19!\e0Gh\e1R\e07Uh\e1(PJRARC6!S\e0!Q\e1:d\e04i\e1\e04i\e1GB\e0MQ\e1!"CP;CPJA\e0!Q\e1:\e0MQ\e1!"CP\e(B
+\e,T$M9b7CE\e(B (control character) \e,TaEPM\e0@T\e1\e0MQ\e1!"CP\e(B (meta character). \e0\e,TMU\e1aA!\e0Jl\e1c\e0*i\e1!RC\e(B
+\e,T;CPJA\e0!Q\e1:$S\e0JQh\e1'`J\e0CT\e1A\e(B (eXtend command). \e,T!RC`J\e0CT\e1A\e09Ui\e1`\e0;g\e19d;d\e04i\e1JM'\e0EQ\e1!I3P\e(B:
+
+       C-x     \e,T!RC`J\e0CT\e1A\e0MQ\e1!"CP\e(B (Character eXtend). \e,T5RA\e04i\e1GBK\e09Vh\e1'\e05Q\e1G\e0MQ\e1!IC\e(B.
+       M-x     \e,T!RC`J\e0CT\e1A\e04i\e1GB\e0*Wh\e1M$S\e0JQh\e1'\e(B (Named command eXtend). \e,T5RA\e04i\e1GB\e0*Wh\e1M`\e05g\e1A\e(B.
+
+\e,T$S\e0JQh\e1'`K\e0Eh\e1R\e09Ui\e1b4B\e07Qh\e1Gd;a\e0Ei\e1G(P\e0AU\e1;CPbB*\e09l\e1\e(B, \e,Ta\e05h\e1\e0AQ\e1!(P\e0AU\e1bM!RJc\e0*i\e1\e09i\e1MB!\e0Gh\e1R$S\e0JQh\e1'\e05h\e1R'f\e(B \e0\e,T7Uh\e1\e07h\e1R9d\e04i\e1\e(B
+\e,T`\e0CU\e1B9\e0CYi\e1d;a\e0Ei\e1G\e(B. \e0\e,T7h\e1R9d\e04i\e1>:d;a\e0Ei\e1GJM'$S\e0JQh\e1'\e(B: \e,T$S\e0JQh\e1'JSK\e0CQ\e1:!RC\e0(Q\e14!RC\e0!Q\e1:a\e0?i\e1A\e0"i\e1M\e0AY\e1E\e(B C-x C-f
+\e,TJSK\e0CQ\e1:!RC`\e0BW\e1M9\e(B (Find) \e,TaEP\e(B C-x C-s \e,TJSK\e0CQ\e1:!RC\e0(Q\e14`\e0!g\e1:\e(B (Save). \e0\e,TMU\e1!\e05Q\e1GM\e0Bh\e1R'K\e09Vh\e1'\e0!g\e1\e(B
+\e0\e,T$W\e1M$S\e0JQh\e1'\e07Uh\e1c\e0*i\e1c9!RC`\e0ET\e1!c\e0*i\e1\e0MU\e1aA!\e0Jl\e1\e(B--\e,T$S\e0JQh\e1'\e(B C-x C-c. (\e,Td\e0Ah\e1\e05i\e1M'`\e0;g\e19\e0Kh\e1G'\e0Gh\e1R\e0"i\e1M\e0AY\e1E\e07Uh\e1\e07h\e1R9d\e04i\e1\e(B
+\e,Ta\e0!i\e1d"d;(P\e0JY\e1-KRB\e(B; \e,T$S\e0JQh\e1'\e(B C-x C-c \e,T(P`J9Mc\e0Ki\e1\e0(Q\e14`\e0!g\e1:a\e0?i\e1A\e0"i\e1M\e0AY\e1E\e07Uh\e1\e06Y\e1!a\e0!i\e1d"d;\e0!h\e1M9\e07Uh\e1(P\e0JTi\e19\e0JX\e14\e(B
+\e0\e,TMU\e1aA!\e0Jl\e1\e(B.)
+
+\e,T$S\e0JQh\e1'\e(B C-z \e,T`\e0;g\e19$S\e0JQh\e1'\e07Uh\e1c\e0*i\e1c9!RCMM!(R!\e0MU\e1aA!\e0Jl\e1`\e0;g\e19!RC\e0*Qh\e1G$CRG\e(B *temporarily*--\e,T)P\e09Qi\e19\e(B
+\e0\e,T7h\e1R9JRARC6!\e0EQ\e1:d;\e0JYh\e1\e0MU\e1aA!\e0Jl\e1d\e04i\e1\e0MU\e1!K\e0EQ\e1'(R!\e09Qi\e19\e(B.
+
+\e,TJSK\e0CQ\e1:CP::\e07Uh\e1M\e09X\e1-R5c\e0Ki\e1c\e0*i\e1$S\e0JQh\e1'\e(B, C-z "suspends" \e0\e,TMU\e1aA!\e0Jl\e1\e(B; \e0\e,T9Qh\e19\e0$W\e1M!RC!\e0EQ\e1:d;\e0BQ\e1'`*E\e0El\e1\e(B
+(shell) \e,Tb4Bd\e0Ah\e1d\e04i\e17SERB\e0MU\e1aA!\e0Jl\e1\e(B. \e,Tc9`*E\e0El\e1\e07Qh\e1Gd;\e(B, \e0\e,T7h\e1R9JRARC6\e0CU\e1\e0+Y\e1A\e(B (resume) \e0\e,TMU\e1aA!\e0Jl\e1\e(B
+\e,Td\e04i\e1\e04i\e1GB$S\e0JQh\e1'\e(B `fg' \e,TK\e0CW\e1M\e04i\e1GB$S\e0JQh\e1'\e(B `%emacs'.
+
+\e,TJSK\e0CQ\e1:CP::\e07Uh\e1d\e0Ah\e1\e0AU\e1\e0?Q\e1'\e0!l\e1\e0*Q\e19\e(B "suspend", \e,T$S\e0JQh\e1'\e(B C-z \e,T(PJ\e0Ci\e1R'\e0+Q\e1:`*E\e0El\e1\e(B (subshell)
+\e,T@RBc\e05i\e1\e0MU\e1aA!\e0Jl\e1`\e0>Wh\e1Mc\e0Ki\e1\e07h\e1R9\e0AU\e1bM!RJ4S`\e09T\e19'R9b;Ca!CA\e0MWh\e19\e0!h\e1M9a\e0Ei\e1G\e0$h\e1MB!\e0EQ\e1:AR\e0BQ\e1'\e0MU\e1aA!\e0Jl\e1\e0MU\e1!$\e0CQi\e1'\e(B;
+\e0\e,T+Vh\e1'd\e0Ah\e1c\e0*h\e1!RC\e(B "\e,TMM!(R!\e(B (exit)" \e0\e,TMU\e1aA!\e0Jl\e1(\e0CT\e1'\e(B. \e,Tc9!C\e03U\e1\e09Ui\e1\e(B, \e,T$S\e0JQh\e1'`*E\e0El\e1\e(B `exit' \e,T`\e0;g\e19$S\e0JQh\e1'\e(B
+\e,T;C!\e05T\e1\e07Uh\e1c\e0*i\e1c9!RC!\e0EQ\e1:d;\e0BQ\e1'\e0MU\e1aA!\e0Jl\e1(R!\e0+Q\e1:`*E\e0El\e1\e(B.
+
+\e,Tc\e0*i\e1$S\e0JQh\e1'\e(B C-x C-c \e0\e,T!g\e1\e05h\e1M`\e0AWh\e1M\e07h\e1R9\e05i\e1M'!RC(P`\e0ET\e1!c\e0*i\e1\e0MU\e1aA!\e0Jl\e1(\e0CT\e1'f\e(B. \e0\e,TGT\e1\e08U\e1\e09Ui\e1`\e0;g\e19\e0GT\e1\e08U\e1\e07Uh\e1\e06Y\e1!\e05i\e1M'c9\e(B
+\e,T!RC\e07Uh\e1(P`\e0ET\e1!c\e0*i\e1\e0MU\e1aA!\e0Jl\e1\e(B, \e,Td\e0Ah\e1\e0Gh\e1R\e0MU\e1aA!\e0Jl\e1\e09Qi\e19(P\e06Y\e1!`\e0CU\e1B!c\e0*i\e1(R!b;Ca!CA\e0(Q\e14!RC`AE\e0El\e1\e(B (mail
+handling programs) \e,TK\e0CW\e1Mb;Ca!CAMCC6;CPbB*\e09l\e1\e(B (utility programs) \e0\e,T5h\e1R'f\e(B,
+\e,T`\e09Wh\e1M'(R!\e0Gh\e1Rb;Ca!CA`K\e0Eh\e1R\e09Ui\e1d\e0Ah\e1\e0AU\e1\e0GT\e1\e08U\e1!RC\e0(Q\e14!RC\e0!Q\e1:\e0MU\e1aA!\e0Jl\e1d\e04i\e1b4B5C'\e(B. \e,Tc9J@R>!RC7S'R9\e(B
+\e,T;C!\e05T\e1\e(B, \e0\e,T6i\e1R\e07h\e1R9d\e0Ah\e1d\e04i\e1\e05i\e1M'!RC(P`\e0ET\e1!c\e0*i\e1\e0MU\e1aA!\e0Jl\e1(\e0CT\e1'f\e(B, \e0\e,T7h\e1R9\e0!g\e1$GC(P\e(B suspend \e,Tb4B!RCc\e0*i\e1\e(B
+\e,T$S\e0JQh\e1'\e(B C-z \e,Ta79!RC`\e0ET\e1!c\e0*i\e1d;`EB\e(B.
+
+\e0\e,TBQ\e1'\e0AU\e1$S\e0JQh\e1'\e07Uh\e1M\e0BYh\e1c9\e0*X\e14$S\e0JQh\e1'\e(B C-x \e0\e,TMU\e1!AR!\e(B. \e0\e,T5h\e1Md;\e09Ui\e1`\e0;g\e19CRB!RC$S\e0JQh\e1'\e07Uh\e1\e07h\e1R9d\e04i\e1`\e0CU\e1B9\e0CYi\e1d;a\e0Ei\e1G\e(B:
+
+       C-x C-f         \e,T`\e0BW\e1M9a\e0?i\e1A\e0"i\e1M\e0AY\e1E\e(B (Find file).
+       C-x C-s         \e0\e,T(Q\e14`\e0!g\e1:a\e0?i\e1A\e0"i\e1M\e0AY\e1E\e(B (Save file).
+       C-x C-b         \e,T7SCRB!RC\e0:Q\e1?`?M\e0Cl\e1\e(B (List buffers).
+       C-x C-c         \e,T`\e0ET\e1!c\e0*i\e1\e0MU\e1aA!\e0Jl\e1\e(B (Quit Emacs).
+       C-x 1           \e,TE:K\e09i\e1R(M\e07Qi\e1'KA4b4B$'M\e0BYh\e1d\e0Gi\e1K\e09Vh\e1'K\e09i\e1R(M\e(B
                        (Delete all but one window).
-       C-x u           \e,T7S\e(B\e0\e,TBi\e(B\e1\e,TM9\e(B (Undo).
+       C-x u           \e,T7S\e0Bi\e1M9\e(B (Undo).
 
-\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e0\e,TAU\e(B\e1\e0\e,T*Wh\e(B\e1\e,TM$S\e(B\e0\e,TJQh\e(B\e1\e,T'`J\e(B\e0\e,TCT\e(B\e1\e,TA\e(B\e0\e,T9Ui\e(B\e1\e,T`\e(B\e0\e,T;g\e(B\e1\e,T9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e,Tc\e(B\e0\e,T*i\e(B\e1\e,Td\e(B\e0\e,TAh\e(B\e1\e0\e,T$h\e(B\e1\e,TMB\e(B\e0\e,T:h\e(B\e1\e,TMB\e(B\e0\e,T9Q\e(B\e1\e,T!\e(B, \e,TK\e(B\e0\e,TCW\e(B\e1\e,TM`\e(B\e0\e,T;g\e(B\e1\e,T9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e,Tc\e(B\e0\e,T*i\e(B\e1\e,T`)>RPc9:R'bKA4\e(B
-\e,T`\e(B\e0\e,T7h\e(B\e1\e,TR\e(B\e0\e,T9Qi\e(B\e1\e,T9\e(B. \e0\e,T5Q\e(B\e1\e,TGM\e(B\e0\e,TBh\e(B\e1\e,TR'K\e(B\e0\e,T9Vh\e(B\e1\e,T'"M'$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T9Ui\e(B\e1\e0\e,T$W\e(B\e1\e,TM$S\e(B\e0\e,TJQh\e(B\e1\e,T'`;\e(B\e0\e,TEUh\e(B\e1\e,TB9a79\e(B-\e,TJRB\e(B\e0\e,TMQ\e(B\e1\e,T!"CP\e(B (replace-string),
-\e0\e,T+Vh\e(B\e1\e,T'`\e(B\e0\e,T;g\e(B\e1\e,T9!RC`;\e(B\e0\e,TEUh\e(B\e1\e,TB9a79JRB\e(B\e0\e,TMQ\e(B\e1\e,T!"CPK\e(B\e0\e,T9Vh\e(B\e1\e,T'\e(B\e0\e,T4i\e(B\e1\e,TGB\e(B\e0\e,TMU\e(B\e1\e,T!JRB\e(B\e0\e,TMQ\e(B\e1\e,T!"CPK\e(B\e0\e,T9Vh\e(B\e1\e,T'\e(B\e0\e,T7Qi\e(B\e1\e,T'KA4\e(B. \e,T`\e(B\e0\e,TAWh\e(B\e1\e,TM\e(B\e0\e,T7h\e(B\e1\e,TR9\e(B\e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B M-x,
-\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,TaJ4'\e(B M-x \e0\e,T7Uh\e(B\e1\e,T:CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,TEh\e(B\e1\e,TR'\e(B\e0\e,TJX\e(B\e1\e,T4"M'K\e(B\e0\e,T9i\e(B\e1\e,TR(M\e(B, \e,Tc9\e(B\e0\e,T7Uh\e(B\e1\e0\e,T9Ui\e(B\e1\e0\e,T7h\e(B\e1\e,TR9(P\e(B\e0\e,T5i\e(B\e1\e,TM'\e(B\e0\e,T>T\e(B\e1\e,TA\e(B\e0\e,T>l\e(B\e1\e0\e,T*Wh\e(B\e1\e,TM"M'$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B; \e,Tc9!C\e(B\e0\e,T3U\e(B\e1\e0\e,T9Ui\e(B\e1
-\e0\e,T$W\e(B\e1\e,TM\e(B "replace-string". \e0\e,T7h\e(B\e1\e,TR9MR((P\e(B\e0\e,T>T\e(B\e1\e,TA\e(B\e0\e,T>l\e(B\e1 "repl s<TAB>" \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG\e(B\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,T(P`\e(B\e0\e,T5T\e(B\e1\e,TA\e(B\e0\e,T*Wh\e(B\e1\e,TM$S\e(B\e0\e,TJQh\e(B\e1\e,T'c\e(B\e0\e,TKi\e(B\e1
-\e,T`\e(B\e0\e,T5g\e(B\e1\e,TA`M'd\e(B\e0\e,T4i\e(B\e1. \e0\e,TJTi\e(B\e1\e,T9\e(B\e0\e,TJX\e(B\e1\e,T4$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T4i\e(B\e1\e,TGB!RC!4\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B <Return>.
+\e,T$S\e0JQh\e1'\e07Uh\e1\e0AU\e1\e0*Wh\e1M$S\e0JQh\e1'`J\e0CT\e1A\e09Ui\e1`\e0;g\e19$S\e0JQh\e1'\e07Uh\e1c\e0*i\e1d\e0Ah\e1\e0$h\e1MB\e0:h\e1MB\e09Q\e1!\e(B, \e,TK\e0CW\e1M`\e0;g\e19$S\e0JQh\e1'\e07Uh\e1c\e0*i\e1`)>RPc9:R'bKA4\e(B
+\e,T`\e07h\e1R\e09Qi\e19\e(B. \e0\e,T5Q\e1GM\e0Bh\e1R'K\e09Vh\e1'"M'$S\e0JQh\e1'\e09Ui\e1\e0$W\e1M$S\e0JQh\e1'`;\e0EUh\e1B9a79\e(B-\e,TJRB\e0MQ\e1!"CP\e(B (replace-string),
+\e0\e,T+Vh\e1'`\e0;g\e19!RC`;\e0EUh\e1B9a79JRB\e0MQ\e1!"CPK\e09Vh\e1'\e04i\e1GB\e0MU\e1!JRB\e0MQ\e1!"CPK\e09Vh\e1'\e07Qi\e1'KA4\e(B. \e,T`\e0AWh\e1M\e07h\e1R9\e0;i\e1M9$S\e0JQh\e1'\e(B M-x,
+\e0\e,TMU\e1aA!\e0Jl\e1aJ4'\e(B M-x \e0\e,T7Uh\e1:CC\e07Q\e14\e0Eh\e1R'\e0JX\e14"M'K\e09i\e1R(M\e(B, \e,Tc9\e07Uh\e1\e09Ui\e1\e07h\e1R9(P\e05i\e1M'\e0>T\e1A\e0>l\e1\e0*Wh\e1M"M'$S\e0JQh\e1'\e(B; \e,Tc9!C\e03U\e1\e09Ui\e1\e(B
+\e0\e,T$W\e1M\e(B "replace-string". \e0\e,T7h\e1R9MR((P\e0>T\e1A\e0>l\e1\e(B "repl s<TAB>" \e,Ta\e0Ei\e1G\e0MU\e1aA!\e0Jl\e1(P`\e05T\e1A\e0*Wh\e1M$S\e0JQh\e1'c\e0Ki\e1\e(B
+\e,T`\e05g\e1A`M'd\e04i\e1\e(B. \e0\e,TJTi\e19\e0JX\e14$S\e0JQh\e1'\e04i\e1GB!RC!4\e0;Xh\e1A\e(B <Return>.
 
-\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'`;\e(B\e0\e,TEUh\e(B\e1\e,TB9a79\e(B-\e,TJRB\e(B\e0\e,TMQ\e(B\e1\e,T!"CP\e(B (replace-string) \e0\e,T5i\e(B\e1\e,TM'!RCJM'MR\e(B\e0\e,TCl\e(B\e1\e0\e,T!T\e(B\e1\e,TG`A9\e(B\e0\e,T5l\e(B\e1--\e,TJRB\e(B\e0\e,TMQ\e(B\e1\e,T!"CP\e(B
-\e0\e,T7Uh\e(B\e1\e,T(P\e(B\e0\e,T6Y\e(B\e1\e,T!`;\e(B\e0\e,TEUh\e(B\e1\e,TB9a79\e(B, \e,TaEPJRB\e(B\e0\e,TMQ\e(B\e1\e,T!"CP\e(B\e0\e,T7Uh\e(B\e1\e,T(Pc\e(B\e0\e,T*i\e(B\e1\e,T`;\e(B\e0\e,TEUh\e(B\e1\e,TB9a79\e(B. \e0\e,T7h\e(B\e1\e,TR9(P\e(B\e0\e,T5i\e(B\e1\e,TM'\e(B\e0\e,TJTi\e(B\e1\e,T9\e(B\e0\e,TJX\e(B\e1\e,T4!RC\e(B\e0\e,T;i\e(B\e1\e,TM9a\e(B\e0\e,T5h\e(B\e1\e,TEPMR\e(B\e0\e,TCl\e(B\e1
-\e0\e,T!T\e(B\e1\e,TG`A9\e(B\e0\e,T5l\e(B\e1\e0\e,T4i\e(B\e1\e,TGB!RC!4\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B <Return>.
+\e,T$S\e0JQh\e1'`;\e0EUh\e1B9a79\e(B-\e,TJRB\e0MQ\e1!"CP\e(B (replace-string) \e0\e,T5i\e1M'!RCJM'MR\e0Cl\e1\e0!T\e1G`A9\e05l\e1\e(B--\e,TJRB\e0MQ\e1!"CP\e(B
+\e0\e,T7Uh\e1(P\e06Y\e1!`;\e0EUh\e1B9a79\e(B, \e,TaEPJRB\e0MQ\e1!"CP\e07Uh\e1(Pc\e0*i\e1`;\e0EUh\e1B9a79\e(B. \e0\e,T7h\e1R9(P\e05i\e1M'\e0JTi\e19\e0JX\e14!RC\e0;i\e1M9a\e05h\e1EPMR\e0Cl\e1\e(B
+\e0\e,T!T\e1G`A9\e05l\e1\e04i\e1GB!RC!4\e0;Xh\e1A\e(B <Return>.
 
->> \e,T`$\e(B\e0\e,TEWh\e(B\e1\e,TM9`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1\e,Td;\e(B\e0\e,TBQ\e(B\e1\e,T':CC\e(B\e0\e,T7Q\e(B\e1\e,T4`;\e(B\e0\e,TEh\e(B\e1\e,TR\e(B\e0\e,T7Uh\e(B\e1\e,TM\e(B\e0\e,TBYh\e(B\e1\e,Tc\e(B\e0\e,T5i\e(B\e1\e,T:CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,T9Ui\e(B\e1\e,Td;JM':CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B.
-   \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG\e(B\e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B M-x repl s<Return>changed<Return>altered<Return>.
+>> \e,T`$\e0EWh\e1M9`$M\e0Cl\e1`+M\e0Cl\e1d;\e0BQ\e1':CC\e07Q\e14`;\e0Eh\e1R\e07Uh\e1M\e0BYh\e1c\e05i\e1:CC\e07Q\e14\e09Ui\e1d;JM':CC\e07Q\e14\e(B.
+   \e,Ta\e0Ei\e1G\e0;i\e1M9$S\e0JQh\e1'\e(B M-x repl s<Return>changed<Return>altered<Return>.
 
-   \e0\e,TJQ\e(B\e1\e,T'`!5\e(B\e0\e,T4Y\e(B\e1\e,T!RC`;\e(B\e0\e,TEUh\e(B\e1\e,TB9a;E'"M':CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,T9Ui\e(B\e1: \e0\e,T7h\e(B\e1\e,TR9d\e(B\e0\e,T4i\e(B\e1\e,T`;\e(B\e0\e,TEUh\e(B\e1\e,TB9a79$S\e(B\e0\e,TGh\e(B\e1\e,TR\e(B c-h-a-n-g-e-d
-   \e0\e,T4i\e(B\e1\e,TGB$S\e(B\e0\e,TGh\e(B\e1\e,TR\e(B "altered" \e,Tc9\e(B\e0\e,T7X\e(B\e1\e,T!\e(B\e0\e,T7Uh\e(B\e1\e0\e,T7Uh\e(B\e1\e,T;CR!/\e(B\e0\e,T5Qi\e(B\e1\e,T'a\e(B\e0\e,T5h\e(B\e1\e,T5SaK\e(B\e0\e,T9h\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e,T`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1\e,TM\e(B\e0\e,TBYh\e(B\e1\e0\e,T;Q\e(B\e1\e,T(\e(B\e0\e,T(X\e(B\e1\e0\e,T:Q\e(B\e1\e,T9\e(B.
+   \e0\e,TJQ\e1'`!5\e04Y\e1!RC`;\e0EUh\e1B9a;E'"M':CC\e07Q\e14\e09Ui\e1\e(B: \e0\e,T7h\e1R9d\e04i\e1`;\e0EUh\e1B9a79$S\e0Gh\e1R\e(B c-h-a-n-g-e-d
+   \e0\e,T4i\e1GB$S\e0Gh\e1R\e(B "altered" \e,Tc9\e07X\e1!\e07Uh\e1\e07Uh\e1;CR!/\e05Qi\e1'a\e05h\e15SaK\e09h\e1'\e07Uh\e1`$M\e0Cl\e1`+M\e0Cl\e1M\e0BYh\e1\e0;Q\e1(\e0(X\e1\e0:Q\e19\e(B.
 
 
-* \e0\e,T(Q\e(B\e1\e,T4`\e(B\e0\e,T!g\e(B\e1\e,T:\e(B\e0\e,TMQ\e(B\e1\e,T5b9\e(B\e0\e,TAQ\e(B\e1\e0\e,T5T\e(B\e1 (auto save)
+* \e0\e,T(Q\e14`\e0!g\e1:\e0MQ\e15b9\e0AQ\e1\e05T\e1\e(B (auto save)
 -------------------------
 
-\e,T`\e(B\e0\e,TAWh\e(B\e1\e,TM\e(B\e0\e,T7h\e(B\e1\e,TR9d\e(B\e0\e,T4i\e(B\e1\e,Ta\e(B\e0\e,T!i\e(B\e1\e,Td"a\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TEa\e(B\e0\e,TEi\e(B\e1\e,TG\e(B, \e,Ta\e(B\e0\e,T5h\e(B\e1\e0\e,T7h\e(B\e1\e,TR9\e(B\e0\e,TBQ\e(B\e1\e,T'd\e(B\e0\e,TAh\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1\e0\e,T(Q\e(B\e1\e,T4`\e(B\e0\e,T!g\e(B\e1\e,T:\e(B, \e,Ta\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE`K\e(B\e0\e,TEh\e(B\e1\e,TR\e(B\e0\e,T9Qi\e(B\e1\e,T9MR(\e(B\e0\e,TJY\e(B\e1\e,T-KRBd\e(B\e0\e,T4i\e(B\e1\e0\e,T6i\e(B\e1\e,TR\e(B
-\e,T`$\e(B\e0\e,TCWh\e(B\e1\e,TM'$MA\e(B\e0\e,T>T\e(B\e1\e,TG`5M\e(B\e0\e,TCl\e(B\e1\e,T"M'\e(B\e0\e,T7h\e(B\e1\e,TR9`\e(B\e0\e,T!T\e(B\e1\e,T4\e(B\e0\e,T"Q\e(B\e1\e,T4\e(B\e0\e,T"i\e(B\e1\e,TM'\e(B. \e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TM\e(B\e0\e,T;i\e(B\e1\e,TM'\e(B\e0\e,T!Q\e(B\e1\e,T9`K\e(B\e0\e,T5X\e(B\e1\e,T!RC\e(B\e0\e,T3l\e(B\e1\e,T`\e(B\e0\e,T*h\e(B\e1\e,T9\e(B\e0\e,T9Ui\e(B\e1, \e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,T7S!RC`\e(B\e0\e,T"U\e(B\e1\e,TB9\e(B
-\e0\e,T"i\e(B\e1\e,TM$GRAJSK\e(B\e0\e,TCQ\e(B\e1\e,T:a\e(B\e0\e,T5h\e(B\e1\e,TEPa\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B\e0\e,T7Uh\e(B\e1\e0\e,T7h\e(B\e1\e,TR9!S\e(B\e0\e,TEQ\e(B\e1\e,T'7S!RCa\e(B\e0\e,T!i\e(B\e1\e,Td"M\e(B\e0\e,TBYh\e(B\e1\e,TE'c9a\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B "\e0\e,T(Q\e(B\e1\e,T4`\e(B\e0\e,T!g\e(B\e1\e,T:\e(B\e0\e,TMQ\e(B\e1\e,T5b9\e(B\e0\e,TAQ\e(B\e1\e0\e,T5T\e(B\e
-(auto save)". \e0\e,T*Wh\e(B\e1\e,TM"M'a\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B\e0\e,T(Q\e(B\e1\e,T4`\e(B\e0\e,T!g\e(B\e1\e,T:\e(B\e0\e,TMQ\e(B\e1\e,T5b9\e(B\e0\e,TAQ\e(B\e1\e0\e,T5T\e(B\e1 (auto save file) \e,T(P\e(B\e0\e,T6Y\e(B\e1\e,T!\e(B\e0\e,T5Qi\e(B\e1\e,T'cK\e(B\e0\e,TAh\e(B\e1\e,Tc\e(B\e0\e,TKi\e(B\e1
-\e0\e,TAU\e(B\e1\e0\e,TMQ\e(B\e1\e,T!"CP\e(B "#" \e,TM\e(B\e0\e,TBYh\e(B\e1\e0\e,T7Qi\e(B\e1\e,T'\e(B\e0\e,T"i\e(B\e1\e,TR'K\e(B\e0\e,T9i\e(B\e1\e,TRaEP\e(B\e0\e,T"i\e(B\e1\e,TR'K\e(B\e0\e,TEQ\e(B\e1\e,T'\e(B\e0\e,T*Wh\e(B\e1\e,TMa\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B\e0\e,T5i\e(B\e1\e,T9)\e(B\e0\e,T:Q\e(B\e1\e,T:\e(B; \e0\e,T5Q\e(B\e1\e,TGM\e(B\e0\e,TBh\e(B\e1\e,TR'`\e(B\e0\e,T*h\e(B\e1\e,T9\e(B, \e0\e,T6i\e(B\e1\e,TR\e(B\e0\e,T*Wh\e(B\e1\e,TM"M'\e(B
-\e,Ta\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B\e0\e,T9Qi\e(B\e1\e,T9`\e(B\e0\e,T;g\e(B\e1\e,T9\e(B "hello.c", \e0\e,T*Wh\e(B\e1\e,TM"M'a\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B\e0\e,T(Q\e(B\e1\e,T4`\e(B\e0\e,T!g\e(B\e1\e,T:\e(B\e0\e,TMQ\e(B\e1\e,T5b9\e(B\e0\e,TAQ\e(B\e1\e0\e,T5T\e(B\e1\e,T(P`\e(B\e0\e,T;g\e(B\e1\e,T9\e(B "#hello.c#". 
-\e,T`\e(B\e0\e,TAWh\e(B\e1\e,TM\e(B\e0\e,T7h\e(B\e1\e,TR97S!RC\e(B\e0\e,T(Q\e(B\e1\e,T4`\e(B\e0\e,T!g\e(B\e1\e,T:a\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B\e0\e,T4i\e(B\e1\e,TGB\e(B\e0\e,TGT\e(B\e1\e0\e,T8U\e(B\e1\e,T!RC;C!\e(B\e0\e,T5T\e(B\e1\e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG\e(B, \e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,T(PE:a\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B\e0\e,T(Q\e(B\e1\e,T4`\e(B\e0\e,T!g\e(B\e1\e,T:\e(B\e0\e,TMQ\e(B\e1\e,T5b9\e(B\e0\e,TAQ\e(B\e1\e0\e,T5T\e(B\e1
-\e0\e,T9Qi\e(B\e1\e,T9`\e(B\e0\e,TJU\e(B\e1\e,TB\e(B.
+\e,T`\e0AWh\e1M\e07h\e1R9d\e04i\e1a\e0!i\e1d"a\e0?i\e1A\e0"i\e1M\e0AY\e1Ea\e0Ei\e1G\e(B, \e,Ta\e05h\e1\e07h\e1R9\e0BQ\e1'd\e0Ah\e1d\e04i\e1\e0(Q\e14`\e0!g\e1:\e(B, \e,Ta\e0?i\e1A\e0"i\e1M\e0AY\e1E`K\e0Eh\e1R\e09Qi\e19MR(\e0JY\e1-KRBd\e04i\e1\e06i\e1R\e(B
+\e,T`$\e0CWh\e1M'$MA\e0>T\e1G`5M\e0Cl\e1"M'\e07h\e1R9`\e0!T\e14\e0"Q\e14\e0"i\e1M'\e(B. \e,T`\e0>Wh\e1M\e0;i\e1M'\e0!Q\e19`K\e05X\e1!RC\e03l\e1`\e0*h\e19\e09Ui\e1\e(B, \e0\e,TMU\e1aA!\e0Jl\e17S!RC`\e0"U\e1B9\e(B
+\e0\e,T"i\e1M$GRAJSK\e0CQ\e1:a\e05h\e1EPa\e0?i\e1A\e0"i\e1M\e0AY\e1E\e07Uh\e1\e07h\e1R9!S\e0EQ\e1'7S!RCa\e0!i\e1d"M\e0BYh\e1E'c9a\e0?i\e1A\e0"i\e1M\e0AY\e1E\e(B "\e0\e,T(Q\e14`\e0!g\e1:\e0MQ\e15b9\e0AQ\e1\e05T\e1\e(B
+(auto save)". \e0\e,T*Wh\e1M"M'a\e0?i\e1A\e0"i\e1M\e0AY\e1E\e0(Q\e14`\e0!g\e1:\e0MQ\e15b9\e0AQ\e1\e05T\e1\e(B (auto save file) \e,T(P\e06Y\e1!\e05Qi\e1'cK\e0Ah\e1c\e0Ki\e1\e(B
+\e0\e,TAU\e1\e0MQ\e1!"CP\e(B "#" \e,TM\e0BYh\e1\e07Qi\e1'\e0"i\e1R'K\e09i\e1RaEP\e0"i\e1R'K\e0EQ\e1'\e0*Wh\e1Ma\e0?i\e1A\e0"i\e1M\e0AY\e1E\e05i\e19)\e0:Q\e1:\e(B; \e0\e,T5Q\e1GM\e0Bh\e1R'`\e0*h\e19\e(B, \e0\e,T6i\e1R\e0*Wh\e1M"M'\e(B
+\e,Ta\e0?i\e1A\e0"i\e1M\e0AY\e1E\e09Qi\e19`\e0;g\e19\e(B "hello.c", \e0\e,T*Wh\e1M"M'a\e0?i\e1A\e0"i\e1M\e0AY\e1E\e0(Q\e14`\e0!g\e1:\e0MQ\e15b9\e0AQ\e1\e05T\e1(P`\e0;g\e19\e(B "#hello.c#".
+\e,T`\e0AWh\e1M\e07h\e1R97S!RC\e0(Q\e14`\e0!g\e1:a\e0?i\e1A\e0"i\e1M\e0AY\e1E\e04i\e1GB\e0GT\e1\e08U\e1!RC;C!\e05T\e1a\e0Ei\e1G\e(B, \e0\e,TMU\e1aA!\e0Jl\e1(PE:a\e0?i\e1A\e0"i\e1M\e0AY\e1E\e0(Q\e14`\e0!g\e1:\e0MQ\e15b9\e0AQ\e1\e05T\e1\e(B
+\e0\e,T9Qi\e19`\e0JU\e1B\e(B.
 
-\e0\e,T6i\e(B\e1\e,TR`$\e(B\e0\e,TCWh\e(B\e1\e,TM'$MA\e(B\e0\e,T>T\e(B\e1\e,TG`5M\e(B\e0\e,TCl\e(B\e1\e,T`\e(B\e0\e,T!T\e(B\e1\e,T4\e(B\e0\e,T"Q\e(B\e1\e,T4\e(B\e0\e,T"i\e(B\e1\e,TM'\e(B, \e0\e,T7h\e(B\e1\e,TR9JRARC6\e(B\e0\e,T!Yi\e(B\e1 (recover) \e,T(R!a\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B\e0\e,T(Q\e(B\e1\e,T4`\e(B\e0\e,T!g\e(B\e1\e,T:\e(B
-\e0\e,TMQ\e(B\e1\e,T5b9\e(B\e0\e,TAQ\e(B\e1\e0\e,T5T\e(B\e1\e0\e,T9Qi\e(B\e1\e,T9d\e(B\e0\e,T4i\e(B\e1\e0\e,T4i\e(B\e1\e,TGB!RC`\e(B\e0\e,TBW\e(B\e1\e,TM9a\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TEa::;C!\e(B\e0\e,T5T\e(B\e1 (\e,Ta\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B\e0\e,T7Uh\e(B\e1\e0\e,T7h\e(B\e1\e,TR9!S\e(B\e0\e,TEQ\e(B\e1\e,T'a\e(B\e0\e,T!i\e(B\e1\e,Td"M\e(B\e0\e,TBYh\e(B\e1, \e,Td\e(B\e0\e,TAh\e(B\e1\e,Tc\e(B\e0\e,T*h\e(B\e1
-\e,Ta\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B\e0\e,T(Q\e(B\e1\e,T4`\e(B\e0\e,T!g\e(B\e1\e,T:\e(B\e0\e,TMQ\e(B\e1\e,T5b9\e(B\e0\e,TAQ\e(B\e1\e0\e,T5T\e(B\e1), \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG\e(B\e0\e,T>T\e(B\e1\e,TA\e(B\e0\e,T>l\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B M-x recover file<Return>. \e,T`\e(B\e0\e,TAWh\e(B\e1\e,TM\e(B\e0\e,TAU\e(B\e1\e,T!RC\e(B
-\e,T6RA`\e(B\e0\e,T>Wh\e(B\e1\e,TM!RC\e(B\e0\e,TBW\e(B\e1\e,T9\e(B\e0\e,TBQ\e(B\e1\e,T9\e(B, \e0\e,T>T\e(B\e1\e,TA\e(B\e0\e,T>l\e(B\e1\e,T$S\e(B\e0\e,TGh\e(B\e1\e,TR\e(B yes<Return> \e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TM4S`\e(B\e0\e,T9T\e(B\e1\e,T9!RC\e(B\e0\e,T5h\e(B\e1\e,TMaEP7S!RC\e(B\e0\e,T!Yi\e(B\e1\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B\e0\e,T7Uh\e(B\e1\e0\e,T6Y\e(B\e1\e,T!\e(B
-\e0\e,T(Q\e(B\e1\e,T4`\e(B\e0\e,T!g\e(B\e1\e,T:\e(B\e0\e,TMQ\e(B\e1\e,T5b9\e(B\e0\e,TAQ\e(B\e1\e0\e,T5T\e(B\e1\e0\e,T9Qi\e(B\e1\e,T9\e(B.
+\e0\e,T6i\e1R`$\e0CWh\e1M'$MA\e0>T\e1G`5M\e0Cl\e1`\e0!T\e14\e0"Q\e14\e0"i\e1M'\e(B, \e0\e,T7h\e1R9JRARC6\e0!Yi\e1\e(B (recover) \e,T(R!a\e0?i\e1A\e0"i\e1M\e0AY\e1E\e0(Q\e14`\e0!g\e1:\e(B
+\e0\e,TMQ\e15b9\e0AQ\e1\e05T\e1\e09Qi\e19d\e04i\e1\e04i\e1GB!RC`\e0BW\e1M9a\e0?i\e1A\e0"i\e1M\e0AY\e1Ea::;C!\e05T\e1\e(B (\e,Ta\e0?i\e1A\e0"i\e1M\e0AY\e1E\e07Uh\e1\e07h\e1R9!S\e0EQ\e1'a\e0!i\e1d"M\e0BYh\e1\e(B, \e,Td\e0Ah\e1c\e0*h\e1\e(B
+\e,Ta\e0?i\e1A\e0"i\e1M\e0AY\e1E\e0(Q\e14`\e0!g\e1:\e0MQ\e15b9\e0AQ\e1\e05T\e1\e(B), \e,Ta\e0Ei\e1G\e0>T\e1A\e0>l\e1$S\e0JQh\e1'\e(B M-x recover file<Return>. \e,T`\e0AWh\e1M\e0AU\e1!RC\e(B
+\e,T6RA`\e0>Wh\e1M!RC\e0BW\e19\e0BQ\e19\e(B, \e0\e,T>T\e1A\e0>l\e1$S\e0Gh\e1R\e(B yes<Return> \e,T`\e0>Wh\e1M4S`\e09T\e19!RC\e05h\e1MaEP7S!RC\e0!Yi\e1\e0"i\e1M\e0AY\e1E\e07Uh\e1\e06Y\e1!\e(B
+\e0\e,T(Q\e14`\e0!g\e1:\e0MQ\e15b9\e0AQ\e1\e05T\e1\e09Qi\e19\e(B.
 
 
-* \e,T:\e(B\e0\e,TCT\e(B\e1\e,T`G3JP\e(B\e0\e,T7i\e(B\e1\e,TM9\e(B (echo area)
+* \e,T:\e0CT\e1`G3JP\e07i\e1M9\e(B (echo area)
 ------------------------
 
-\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e0\e,TMh\e(B\e1\e,TR9$S\e(B\e0\e,TJQh\e(B\e1\e,T';CPJA\e(B (multicharacter command) \e,T"3P\e(B\e0\e,T7Uh\e(B\e1\e0\e,T7h\e(B\e1\e,TR9!S\e(B\e0\e,TEQ\e(B\e1\e,T'\e(B\e0\e,T>T\e(B\e1\e,TA\e(B\e0\e,T>l\e(B\e1\e,T`\e(B\e0\e,T"i\e(B\e1\e,TRd;\e(B\e0\e,T*i\e(B\e1\e,TRf\e(B,
-\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,T(PaJ4'$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T5h\e(B\e1\e,TR'f\e(B \e0\e,T7Uh\e(B\e1\e0\e,T7h\e(B\e1\e,TR9d\e(B\e0\e,T4i\e(B\e1\e0\e,T>T\e(B\e1\e,TA\e(B\e0\e,T>l\e(B\e1\e,T`\e(B\e0\e,T"i\e(B\e1\e,TRd;5C'\e(B\e0\e,TJh\e(B\e1\e,TG9\e(B\e0\e,TEh\e(B\e1\e,TR'"M'K\e(B\e0\e,T9i\e(B\e1\e,TR(M5C':\e(B\e0\e,TCT\e(B\e1\e,T`G3\e(B\e0\e,T7Uh\e(B\e1\e,T`\e(B\e0\e,TCU\e(B\e1\e,TB!\e(B\e0\e,TGh\e(B\e1\e,TR\e(B
-"\e,T:\e(B\e0\e,TCT\e(B\e1\e,T`G3JP\e(B\e0\e,T7i\e(B\e1\e,TM9\e(B (echo area)". \e,T:\e(B\e0\e,TCT\e(B\e1\e,T`G3JP\e(B\e0\e,T7i\e(B\e1\e,TM9\e(B\e0\e,T$W\e(B\e1\e,TM:CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,TEh\e(B\e1\e,TR'\e(B\e0\e,TJX\e(B\e1\e,T4"M'K\e(B\e0\e,T9i\e(B\e1\e,TR(M\e(B.
+\e0\e,TMU\e1aA!\e0Jl\e1\e0Mh\e1R9$S\e0JQh\e1';CPJA\e(B (multicharacter command) \e,T"3P\e07Uh\e1\e07h\e1R9!S\e0EQ\e1'\e0>T\e1A\e0>l\e1`\e0"i\e1Rd;\e0*i\e1Rf\e(B,
+\e0\e,TMU\e1aA!\e0Jl\e1(PaJ4'$S\e0JQh\e1'\e05h\e1R'f\e(B \e0\e,T7Uh\e1\e07h\e1R9d\e04i\e1\e0>T\e1A\e0>l\e1`\e0"i\e1Rd;5C'\e0Jh\e1G9\e0Eh\e1R'"M'K\e09i\e1R(M5C':\e0CT\e1`G3\e07Uh\e1`\e0CU\e1B!\e0Gh\e1R\e(B
+"\e,T:\e0CT\e1`G3JP\e07i\e1M9\e(B (echo area)". \e,T:\e0CT\e1`G3JP\e07i\e1M9\e0$W\e1M:CC\e07Q\e14\e0Eh\e1R'\e0JX\e14"M'K\e09i\e1R(M\e(B.
 
 
-* \e,T:CC\e(B\e0\e,T7Q\e(B\e1\e,T4aJ4'bKA4\e(B (mode line)
+* \e,T:CC\e07Q\e14aJ4'bKA4\e(B (mode line)
 ---------------------------
 
-\e,T:CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,T7Uh\e(B\e1\e,TM\e(B\e0\e,TBYh\e(B\e1\e,T`K\e(B\e0\e,T9W\e(B\e1\e,TM:\e(B\e0\e,TCT\e(B\e1\e,T`G3JP\e(B\e0\e,T7i\e(B\e1\e,TM9\e(B\e0\e,T9Qi\e(B\e1\e,T9`\e(B\e0\e,TCU\e(B\e1\e,TB!\e(B\e0\e,TGh\e(B\e1\e,TR\e(B "mode line". \e,T:CC\e(B\e0\e,T7Q\e(B\e1\e,T4aJ4'bKA4(PaJ4'\e(B
-\e0\e,T"i\e(B\e1\e,TM$GRA:R'M\e(B\e0\e,TBh\e(B\e1\e,TR'c9\e(B\e0\e,TEQ\e(B\e1\e,T!I3P\e(B:
+\e,T:CC\e07Q\e14\e07Uh\e1M\e0BYh\e1`K\e09W\e1M:\e0CT\e1`G3JP\e07i\e1M9\e09Qi\e19`\e0CU\e1B!\e0Gh\e1R\e(B "mode line". \e,T:CC\e07Q\e14aJ4'bKA4(PaJ4'\e(B
+\e0\e,T"i\e1M$GRA:R'M\e0Bh\e1R'c9\e0EQ\e1!I3P\e(B:
 
 --:**  TUTORIAL          (Fundamental)--L670--58%----------------
 
-\e,T:CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,T9Ui\e(B\e1\e,Tc\e(B\e0\e,TKi\e(B\e1\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B\e0\e,T7Uh\e(B\e1\e,T`\e(B\e0\e,T;g\e(B\e1\e,T9;CPbB*\e(B\e0\e,T9l\e(B\e1\e,T`\e(B\e0\e,T!Uh\e(B\e1\e,TBG\e(B\e0\e,T!Q\e(B\e1\e,T:J6R9@R>"M'\e(B\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,TaEP\e(B\e0\e,T"i\e(B\e1\e,TM$GRA\e(B\e0\e,T7Uh\e(B\e1\e0\e,T7h\e(B\e1\e,TR9!S\e(B\e0\e,TEQ\e(B\e1\e,T'7S!RC\e(B
-\e,Ta\e(B\e0\e,T!i\e(B\e1\e,Td"M\e(B\e0\e,TBYh\e(B\e1.
-
-\e0\e,T7h\e(B\e1\e,TR97CR:a\e(B\e0\e,TEi\e(B\e1\e,TG\e(B\e0\e,TGh\e(B\e1\e,TR\e(B\e0\e,T*Wh\e(B\e1\e,TMa\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B\e0\e,TAU\e(B\e1\e,T$GRAKARBM\e(B\e0\e,TBh\e(B\e1\e,TR'dC\e(B--\e0\e,T$W\e(B\e1\e,TMa\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B\e0\e,T7Uh\e(B\e1\e0\e,T7h\e(B\e1\e,TR9d\e(B\e0\e,T4i\e(B\e1\e,T`\e(B\e0\e,TBW\e(B\e1\e,TM9M\e(B\e0\e,TBYh\e(B\e1. -NN%-- 
-\e0\e,T:h\e(B\e1\e,T':M!5SaK\e(B\e0\e,T9h\e(B\e1\e,T'\e(B\e0\e,T;Q\e(B\e1\e,T(\e(B\e0\e,T(X\e(B\e1\e0\e,T:Q\e(B\e1\e,T9c9\e(B\e0\e,T"i\e(B\e1\e,TM$GRA"M'\e(B\e0\e,T7h\e(B\e1\e,TR9\e(B; \e0\e,T9Qh\e(B\e1\e,T9KARB$GRA\e(B\e0\e,TGh\e(B\e1\e,TR\e(B\e0\e,TAU\e(B\e1\e0\e,T"i\e(B\e1\e,TM$GRA\e(B NN \e,T`;M\e(B\e0\e,TCl\e(B\e1\e,T`+9\e(B\e0\e,T5l\e(B\e1\e0\e,T7Uh\e(B\e1\e,TM\e(B\e0\e,TBYh\e(B\e1
-\e,T`K\e(B\e0\e,T9W\e(B\e1\e,TM5SaK\e(B\e0\e,T9h\e(B\e1\e,T'\e(B\e0\e,TJY\e(B\e1\e,T'\e(B\e0\e,TJX\e(B\e1\e,T4"M'K\e(B\e0\e,T9i\e(B\e1\e,TR(M\e(B. \e0\e,T6i\e(B\e1\e,TR5SaK\e(B\e0\e,T9h\e(B\e1\e,T'\e(B\e0\e,TJY\e(B\e1\e,T'\e(B\e0\e,TJX\e(B\e1\e,T4"M'a\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TEM\e(B\e0\e,TBYh\e(B\e1\e,T:9K\e(B\e0\e,T9i\e(B\e1\e,TR(M\e(B, \e,T(P;CR!/\e(B
---Top-- \e,Ta79\e(B\e0\e,T7Uh\e(B\e1\e,T(P`\e(B\e0\e,T;g\e(B\e1\e,T9\e(B --00%--. \e0\e,T6i\e(B\e1\e,TR5SaK\e(B\e0\e,T9h\e(B\e1\e,T'\e(B\e0\e,TEh\e(B\e1\e,TR'\e(B\e0\e,TJX\e(B\e1\e,T4"M'\e(B\e0\e,T"i\e(B\e1\e,TM$GRAM\e(B\e0\e,TBYh\e(B\e1\e,T:9K\e(B\e0\e,T9i\e(B\e1\e,TR(M\e(B, \e,T(P;CR!/\e(B
---Bot--. \e0\e,T6i\e(B\e1\e,TR\e(B\e0\e,T7h\e(B\e1\e,TR9!S\e(B\e0\e,TEQ\e(B\e1\e,T'`\e(B\e0\e,TBW\e(B\e1\e,TM9a\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B\e0\e,T7Uh\e(B\e1\e,T`\e(B\e0\e,TEg\e(B\e1\e,T!AR!(9\e(B\e0\e,T"i\e(B\e1\e,TM$GRA\e(B\e0\e,T7Qi\e(B\e1\e,T'KA4M\e(B\e0\e,TBYh\e(B\e1\e,T:9K\e(B\e0\e,T9i\e(B\e1\e,TR(M\e(B, \e,T:CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B
-\e,TaJ4'bKA4(PaJ4'\e(B\e0\e,TGh\e(B\e1\e,TR\e(B --All--.
-
-\e,T`$\e(B\e0\e,TCWh\e(B\e1\e,TM'KARB4M!\e(B\e0\e,T(Q\e(B\e1\e,T9:\e(B\e0\e,TCT\e(B\e1\e,T`G3\e(B\e0\e,T5i\e(B\e1\e,T9f\e(B \e,T"M':CC\e(B\e0\e,T7Q\e(B\e1\e,T4aJ4'bKA4KARB$GRA\e(B\e0\e,TGh\e(B\e1\e,TR\e(B\e0\e,T7h\e(B\e1\e,TR9d\e(B\e0\e,T4i\e(B\e1\e,T7S!RC\e(B
-\e,T`;\e(B\e0\e,TEUh\e(B\e1\e,TB9a;E'`\e(B\e0\e,T9Wi\e(B\e1\e,TMKRc9\e(B\e0\e,T"i\e(B\e1\e,TM$GRAa\e(B\e0\e,TEi\e(B\e1\e,TG\e(B. \e,TKR!\e(B\e0\e,T7h\e(B\e1\e,TR9`\e(B\e0\e,T>Th\e(B\e1\e,T'`\e(B\e0\e,TBW\e(B\e1\e,TM9K\e(B\e0\e,TCW\e(B\e1\e,TM\e(B\e0\e,T(Q\e(B\e1\e,T4`\e(B\e0\e,T!g\e(B\e1\e,T:a\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B, \e0\e,TJh\e(B\e1\e,TG9\e(B\e0\e,T7Uh\e(B\e1
-\e,Td\e(B\e0\e,T4i\e(B\e1\e,T!\e(B\e0\e,TEh\e(B\e1\e,TRG\e(B\e0\e,T6V\e(B\e1\e,T'\e(B\e0\e,T9Qi\e(B\e1\e,T9(Pd\e(B\e0\e,TAh\e(B\e1\e0\e,TAU\e(B\e1\e,T`$\e(B\e0\e,TCWh\e(B\e1\e,TM'KARB4M!\e(B\e0\e,T(Q\e(B\e1\e,T9;CR!/\e(B, \e,T(P\e(B\e0\e,TAU\e(B\e1\e,Ta\e(B\e0\e,T5h\e(B\e1\e,T`\e(B\e0\e,TJi\e(B\e1\e,T9;CP\e(B (dashes).
-
-\e0\e,TJh\e(B\e1\e,TG9\e(B\e0\e,T7Uh\e(B\e1\e,TM\e(B\e0\e,TBYh\e(B\e1\e,TCPK\e(B\e0\e,TGh\e(B\e1\e,TR'G'`\e(B\e0\e,TEg\e(B\e1\e,T:@RBc9:CC\e(B\e0\e,T7Q\e(B\e1\e,T4aJ4'bKA4(P:M!\e(B\e0\e,T7h\e(B\e1\e,TR9\e(B\e0\e,TGh\e(B\e1\e,TR\e(B\e0\e,T7h\e(B\e1\e,TR9!S\e(B\e0\e,TEQ\e(B\e1\e,T'M\e(B\e0\e,TBYh\e(B\e1\e,Tc9bKA4!RCa\e(B\e0\e,T!i\e(B\e1\e,Td"\e(B
-(editing mode) \e,TMPdC\e(B. \e,TbKA4b4B;\e(B\e0\e,TCT\e(B\e1\e,TBRB\e(B (default mode) \e0\e,T$W\e(B\e1\e,TM\e(B Fundamental \e0\e,T7Uh\e(B\e1
-\e0\e,T7h\e(B\e1\e,TR9!S\e(B\e0\e,TEQ\e(B\e1\e,T'c\e(B\e0\e,T*i\e(B\e1\e,TM\e(B\e0\e,TBYh\e(B\e1\e,Tc9"3P\e(B\e0\e,T9Ui\e(B\e1. \e0\e,T9Uh\e(B\e1\e0\e,T$W\e(B\e1\e,TM\e(B\e0\e,T5Q\e(B\e1\e,TGM\e(B\e0\e,TBh\e(B\e1\e,TR'"M'\e(B "\e,TbKA4K\e(B\e0\e,TEQ\e(B\e1\e,T!\e(B (major mode)".
-
-\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e0\e,TAU\e(B\e1\e,TbKA4K\e(B\e0\e,TEQ\e(B\e1\e,T!M\e(B\e0\e,TBYh\e(B\e1\e,TKERBbKA4\e(B. \e0\e,T:i\e(B\e1\e,TR'c\e(B\e0\e,T*i\e(B\e1\e,TJSK\e(B\e0\e,TCQ\e(B\e1\e,T:!RCa\e(B\e0\e,T!i\e(B\e1\e,Td"c9@RIRaEP\e(B/\e,TK\e(B\e0\e,TCW\e(B\e1\e,TM\e(B\e0\e,T"i\e(B\e1\e,TM$GRA*\e(B\e0\e,T9T\e(B\e1\e,T4\e(B\e0\e,T5h\e(B\e1\e,TR'f\e(B, 
-\e,T`\e(B\e0\e,T*h\e(B\e1\e,T9\e(B Lisp mode, Text mode, \e,T`\e(B\e0\e,T;g\e(B\e1\e,T9\e(B\e0\e,T5i\e(B\e1\e,T9\e(B. \e0\e,T7h\e(B\e1\e,TR9(PM\e(B\e0\e,TBYh\e(B\e1\e,Tc9bKA4K\e(B\e0\e,TEQ\e(B\e1\e,T!c4bKA4K\e(B\e0\e,TEQ\e(B\e1\e,T!K\e(B\e0\e,T9Vh\e(B\e1\e,T'c9`GER\e(B
-\e,T`\e(B\e0\e,T4U\e(B\e1\e,TBG\e(B, \e,TaEP\e(B\e0\e,T*Wh\e(B\e1\e,TM"M'bKA4K\e(B\e0\e,TEQ\e(B\e1\e,T!\e(B\e0\e,T9Qi\e(B\e1\e,T9(P;CR!/M\e(B\e0\e,TBYh\e(B\e1\e0\e,T7Uh\e(B\e1\e,T:CC\e(B\e0\e,T7Q\e(B\e1\e,T4aJ4'bKA4\e(B, \e0\e,T7Uh\e(B\e1\e0\e,T7Uh\e(B\e1\e0\e,TAU\e(B\e1 "Fundamental" 
-\e,T;CR!/M\e(B\e0\e,TBYh\e(B\e1\e,Tc9"3P\e(B\e0\e,T9Ui\e(B\e1.
-
-\e,Ta\e(B\e0\e,T5h\e(B\e1\e,TEPbKA4K\e(B\e0\e,TEQ\e(B\e1\e,T!(P7Sc\e(B\e0\e,TKi\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'c\e(B\e0\e,TKi\e(B\e1\e,T<Ec9\e(B\e0\e,TEQ\e(B\e1\e,T!I3P\e(B\e0\e,T7Uh\e(B\e1\e,Ta5!\e(B\e0\e,T5h\e(B\e1\e,TR'\e(B\e0\e,T!Q\e(B\e1\e,T9\e(B. \e0\e,T5Q\e(B\e1\e,TGM\e(B\e0\e,TBh\e(B\e1\e,TR'`\e(B\e0\e,T*h\e(B\e1\e,T9\e(B, \e0\e,TAU\e(B\e1\e,TKERB$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e,Tc\e(B\e0\e,T*i\e(B\e1
-\e,Tc9!RC!S\e(B\e0\e,T!Q\e(B\e1\e,T:KARB`K\e(B\e0\e,T5X\e(B\e1 (comment) \e,Tc9b;Ca!CA\e(B, \e,TaEP`\e(B\e0\e,T9Wh\e(B\e1\e,TM'(R!a\e(B\e0\e,T5h\e(B\e1\e,TEPb;Ca!CA\e(B\e0\e,TAU\e(B\e1\e,T$GRA\e(B\e0\e,T$T\e(B\e1\e,T4\e(B
-\e,Tc9!RCaJ4'<E"M'KARB`K\e(B\e0\e,T5X\e(B\e1\e0\e,T7Uh\e(B\e1\e,Ta5!\e(B\e0\e,T5h\e(B\e1\e,TR'\e(B\e0\e,T!Q\e(B\e1\e,T9\e(B, \e,Ta\e(B\e0\e,T5h\e(B\e1\e,TEPbKA4K\e(B\e0\e,TEQ\e(B\e1\e,T!(Pa7C!KARB`K\e(B\e0\e,T5X\e(B\e1\e,Tc9\e(B\e0\e,TEQ\e(B\e1\e,T!I3P\e(B\e0\e,T7Uh\e(B\e1
-\e,Ta5!\e(B\e0\e,T5h\e(B\e1\e,TR'\e(B\e0\e,T!Q\e(B\e1\e,T9\e(B. \e,Ta\e(B\e0\e,T5h\e(B\e1\e,TEPbKA4K\e(B\e0\e,TEQ\e(B\e1\e,T!(P`\e(B\e0\e,T;g\e(B\e1\e,T9\e(B\e0\e,T*Wh\e(B\e1\e,TM"M'$S\e(B\e0\e,TJQh\e(B\e1\e,T'`J\e(B\e0\e,TCT\e(B\e1\e,TA\e(B, \e0\e,T7Uh\e(B\e1\e0\e,T7h\e(B\e1\e,TR9JRARC6:M!c\e(B\e0\e,TKi\e(B\e1\e,TJ\e(B\e0\e,TEQ\e(B\e1\e,T:d;\e(B\e0\e,TBQ\e(B\e1\e,T'bKA4\e(B\e0\e,T7Uh\e(B\e1
-\e0\e,T5i\e(B\e1\e,TM'!RCd\e(B\e0\e,T4i\e(B\e1. \e0\e,T5Q\e(B\e1\e,TGM\e(B\e0\e,TBh\e(B\e1\e,TR'`\e(B\e0\e,T*h\e(B\e1\e,T9\e(B, M-x fundamental-mode \e,T`\e(B\e0\e,T;g\e(B\e1\e,T9$S\e(B\e0\e,TJQh\e(B\e1\e,T'c9!RCJ\e(B\e0\e,TEQ\e(B\e1\e,T:d;\e(B\e0\e,TBQ\e(B\e1\e,T'\e(B
+\e,T:CC\e07Q\e14\e09Ui\e1c\e0Ki\e1\e0"i\e1M\e0AY\e1E\e07Uh\e1`\e0;g\e19;CPbB*\e09l\e1`\e0!Uh\e1BG\e0!Q\e1:J6R9@R>"M'\e0MU\e1aA!\e0Jl\e1aEP\e0"i\e1M$GRA\e07Uh\e1\e07h\e1R9!S\e0EQ\e1'7S!RC\e(B
+\e,Ta\e0!i\e1d"M\e0BYh\e1\e(B.
+
+\e0\e,T7h\e1R97CR:a\e0Ei\e1G\e0Gh\e1R\e0*Wh\e1Ma\e0?i\e1A\e0"i\e1M\e0AY\e1E\e0AU\e1$GRAKARBM\e0Bh\e1R'dC\e(B--\e0\e,T$W\e1Ma\e0?i\e1A\e0"i\e1M\e0AY\e1E\e07Uh\e1\e07h\e1R9d\e04i\e1`\e0BW\e1M9M\e0BYh\e1\e(B. -NN%--
+\e0\e,T:h\e1':M!5SaK\e09h\e1'\e0;Q\e1(\e0(X\e1\e0:Q\e19c9\e0"i\e1M$GRA"M'\e07h\e1R9\e(B; \e0\e,T9Qh\e19KARB$GRA\e0Gh\e1R\e0AU\e1\e0"i\e1M$GRA\e(B NN \e,T`;M\e0Cl\e1`+9\e05l\e1\e07Uh\e1M\e0BYh\e1\e(B
+\e,T`K\e09W\e1M5SaK\e09h\e1'\e0JY\e1'\e0JX\e14"M'K\e09i\e1R(M\e(B. \e0\e,T6i\e1R5SaK\e09h\e1'\e0JY\e1'\e0JX\e14"M'a\e0?i\e1A\e0"i\e1M\e0AY\e1EM\e0BYh\e1:9K\e09i\e1R(M\e(B, \e,T(P;CR!/\e(B
+--Top-- \e,Ta79\e07Uh\e1(P`\e0;g\e19\e(B --00%--. \e0\e,T6i\e1R5SaK\e09h\e1'\e0Eh\e1R'\e0JX\e14"M'\e0"i\e1M$GRAM\e0BYh\e1:9K\e09i\e1R(M\e(B, \e,T(P;CR!/\e(B
+--Bot--. \e0\e,T6i\e1R\e07h\e1R9!S\e0EQ\e1'`\e0BW\e1M9a\e0?i\e1A\e0"i\e1M\e0AY\e1E\e07Uh\e1`\e0Eg\e1!AR!(9\e0"i\e1M$GRA\e07Qi\e1'KA4M\e0BYh\e1:9K\e09i\e1R(M\e(B, \e,T:CC\e07Q\e14\e(B
+\e,TaJ4'bKA4(PaJ4'\e0Gh\e1R\e(B --All--.
+
+\e,T`$\e0CWh\e1M'KARB4M!\e0(Q\e19:\e0CT\e1`G3\e05i\e19f\e(B \e,T"M':CC\e07Q\e14aJ4'bKA4KARB$GRA\e0Gh\e1R\e07h\e1R9d\e04i\e17S!RC\e(B
+\e,T`;\e0EUh\e1B9a;E'`\e09Wi\e1MKRc9\e0"i\e1M$GRAa\e0Ei\e1G\e(B. \e,TKR!\e07h\e1R9`\e0>Th\e1'`\e0BW\e1M9K\e0CW\e1M\e0(Q\e14`\e0!g\e1:a\e0?i\e1A\e0"i\e1M\e0AY\e1E\e(B, \e0\e,TJh\e1G9\e07Uh\e1\e(B
+\e,Td\e04i\e1!\e0Eh\e1RG\e06V\e1'\e09Qi\e19(Pd\e0Ah\e1\e0AU\e1`$\e0CWh\e1M'KARB4M!\e0(Q\e19;CR!/\e(B, \e,T(P\e0AU\e1a\e05h\e1`\e0Ji\e19;CP\e(B (dashes).
+
+\e0\e,TJh\e1G9\e07Uh\e1M\e0BYh\e1CPK\e0Gh\e1R'G'`\e0Eg\e1:@RBc9:CC\e07Q\e14aJ4'bKA4(P:M!\e07h\e1R9\e0Gh\e1R\e07h\e1R9!S\e0EQ\e1'M\e0BYh\e1c9bKA4!RCa\e0!i\e1d"\e(B
+(editing mode) \e,TMPdC\e(B. \e,TbKA4b4B;\e0CT\e1BRB\e(B (default mode) \e0\e,T$W\e1M\e(B Fundamental \e0\e,T7Uh\e1\e(B
+\e0\e,T7h\e1R9!S\e0EQ\e1'c\e0*i\e1M\e0BYh\e1c9"3P\e09Ui\e1\e(B. \e0\e,T9Uh\e1\e0$W\e1M\e05Q\e1GM\e0Bh\e1R'"M'\e(B "\e,TbKA4K\e0EQ\e1!\e(B (major mode)".
+
+\e0\e,TMU\e1aA!\e0Jl\e1\e0AU\e1bKA4K\e0EQ\e1!M\e0BYh\e1KERBbKA4\e(B. \e0\e,T:i\e1R'c\e0*i\e1JSK\e0CQ\e1:!RCa\e0!i\e1d"c9@RIRaEP\e(B/\e,TK\e0CW\e1M\e0"i\e1M$GRA*\e09T\e14\e05h\e1R'f\e(B,
+\e,T`\e0*h\e19\e(B Lisp mode, Text mode, \e,T`\e0;g\e19\e05i\e19\e(B. \e0\e,T7h\e1R9(PM\e0BYh\e1c9bKA4K\e0EQ\e1!c4bKA4K\e0EQ\e1!K\e09Vh\e1'c9`GER\e(B
+\e,T`\e04U\e1BG\e(B, \e,TaEP\e0*Wh\e1M"M'bKA4K\e0EQ\e1!\e09Qi\e19(P;CR!/M\e0BYh\e1\e07Uh\e1:CC\e07Q\e14aJ4'bKA4\e(B, \e0\e,T7Uh\e1\e07Uh\e1\e0AU\e1\e(B "Fundamental"
+\e,T;CR!/M\e0BYh\e1c9"3P\e09Ui\e1\e(B.
+
+\e,Ta\e05h\e1EPbKA4K\e0EQ\e1!(P7Sc\e0Ki\e1$S\e0JQh\e1'c\e0Ki\e1<Ec9\e0EQ\e1!I3P\e07Uh\e1a5!\e05h\e1R'\e0!Q\e19\e(B. \e0\e,T5Q\e1GM\e0Bh\e1R'`\e0*h\e19\e(B, \e0\e,TAU\e1KERB$S\e0JQh\e1'\e07Uh\e1c\e0*i\e1\e(B
+\e,Tc9!RC!S\e0!Q\e1:KARB`K\e05X\e1\e(B (comment) \e,Tc9b;Ca!CA\e(B, \e,TaEP`\e09Wh\e1M'(R!a\e05h\e1EPb;Ca!CA\e0AU\e1$GRA\e0$T\e14\e(B
+\e,Tc9!RCaJ4'<E"M'KARB`K\e05X\e1\e07Uh\e1a5!\e05h\e1R'\e0!Q\e19\e(B, \e,Ta\e05h\e1EPbKA4K\e0EQ\e1!(Pa7C!KARB`K\e05X\e1c9\e0EQ\e1!I3P\e07Uh\e1\e(B
+\e,Ta5!\e05h\e1R'\e0!Q\e19\e(B. \e,Ta\e05h\e1EPbKA4K\e0EQ\e1!(P`\e0;g\e19\e0*Wh\e1M"M'$S\e0JQh\e1'`J\e0CT\e1A\e(B, \e0\e,T7Uh\e1\e07h\e1R9JRARC6:M!c\e0Ki\e1J\e0EQ\e1:d;\e0BQ\e1'bKA4\e07Uh\e1\e(B
+\e0\e,T5i\e1M'!RCd\e04i\e1\e(B. \e0\e,T5Q\e1GM\e0Bh\e1R'`\e0*h\e19\e(B, M-x fundamental-mode \e,T`\e0;g\e19$S\e0JQh\e1'c9!RCJ\e0EQ\e1:d;\e0BQ\e1'\e(B
 Fundamental mode.
 
-\e0\e,T6i\e(B\e1\e,TR\e(B\e0\e,T7h\e(B\e1\e,TR9!S\e(B\e0\e,TEQ\e(B\e1\e,T'(Pa\e(B\e0\e,T!i\e(B\e1\e,Td"\e(B\e0\e,T"i\e(B\e1\e,TM$GRA\e(B\e0\e,T7Uh\e(B\e1\e,T`\e(B\e0\e,T;g\e(B\e1\e,T9@RIRd7B\e(B, \e,T`\e(B\e0\e,T*h\e(B\e1\e,T9c9a\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B\e0\e,T9Ui\e(B\e1, \e0\e,T7h\e(B\e1\e,TR9$GC(Pc\e(B\e0\e,T*i\e(B\e1
+\e0\e,T6i\e1R\e07h\e1R9!S\e0EQ\e1'(Pa\e0!i\e1d"\e0"i\e1M$GRA\e07Uh\e1`\e0;g\e19@RIRd7B\e(B, \e,T`\e0*h\e19c9a\e0?i\e1A\e0"i\e1M\e0AY\e1E\e09Ui\e1\e(B, \e0\e,T7h\e1R9$GC(Pc\e0*i\e1\e(B
 Thai-text mode.
 >> M-x thai-text-mode<Return>
 
-\e,Td\e(B\e0\e,TAh\e(B\e1\e0\e,T5i\e(B\e1\e,TM'\e(B\e0\e,T!Q\e(B\e1\e,T'GE\e(B, \e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e0\e,T7h\e(B\e1\e,TR9!S\e(B\e0\e,TEQ\e(B\e1\e,T'\e(B\e0\e,THV\e(B\e1\e,T!IRM\e(B\e0\e,TBYh\e(B\e1\e0\e,T9Ui\e(B\e1\e,Td\e(B\e0\e,TAh\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1\e,Tc\e(B\e0\e,TKi\e(B\e1\e,T<E!CP7:AR!\e(B\e0\e,T9Q\e(B\e1\e,T!\e(B. \e,Ta\e(B\e0\e,T5h\e(B\e1\e0\e,T7h\e(B\e1\e,TR9JRARC6\e(B\e0\e,TJQ\e(B\e1\e,T'`!5d\e(B\e0\e,T4i\e(B\e1
-\e0\e,TGh\e(B\e1\e,TR$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B M-f \e,TaEP\e(B M-b \e0\e,T6W\e(B\e1\e,TM\e(B\e0\e,TGh\e(B\e1\e,TR\e(B\e0\e,TMQ\e(B\e1\e,T!"CP\e(B apostrophe \e,T`\e(B\e0\e,T;g\e(B\e1\e,T9\e(B\e0\e,TJh\e(B\e1\e,TG9K\e(B\e0\e,T9Vh\e(B\e1\e,T'"M'$S\e(B. \e0\e,T!h\e(B\e1\e,TM9K\e(B\e0\e,T9i\e(B\e1\e,TR\e(B\e0\e,T9Ui\e(B\e1, \e,Tc9\e(B 
-Fundamental mode, \e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B M-f \e,TaEP\e(B M-b \e0\e,T6W\e(B\e1\e,TM\e(B\e0\e,TGh\e(B\e1\e,TR\e(B\e0\e,TMQ\e(B\e1\e,T!"CP\e(B apostrophe \e,T`\e(B\e0\e,T;g\e(B\e1\e,T9\e(B\e0\e,T5Q\e(B\e1\e,TGa\e(B\e0\e,T:h\e(B\e1\e,T'$S\e(B 
+\e,Td\e0Ah\e1\e05i\e1M'\e0!Q\e1'GE\e(B, \e,T$S\e0JQh\e1'\e07Uh\e1\e07h\e1R9!S\e0EQ\e1'\e0HV\e1!IRM\e0BYh\e1\e09Ui\e1d\e0Ah\e1d\e04i\e1c\e0Ki\e1<E!CP7:AR!\e09Q\e1!\e(B. \e,Ta\e05h\e1\e07h\e1R9JRARC6\e0JQ\e1'`!5d\e04i\e1\e(B
+\e0\e,TGh\e1R$S\e0JQh\e1'\e(B M-f \e,TaEP\e(B M-b \e0\e,T6W\e1M\e0Gh\e1R\e0MQ\e1!"CP\e(B apostrophe \e,T`\e0;g\e19\e0Jh\e1G9K\e09Vh\e1'"M'$S\e(B. \e0\e,T!h\e1M9K\e09i\e1R\e09Ui\e1\e(B, \e,Tc9\e(B
+Fundamental mode, \e,T$S\e0JQh\e1'\e(B M-f \e,TaEP\e(B M-b \e0\e,T6W\e1M\e0Gh\e1R\e0MQ\e1!"CP\e(B apostrophe \e,T`\e0;g\e19\e05Q\e1Ga\e0:h\e1'$S\e(B
 (word-separator).
 
-\e,TbKA4K\e(B\e0\e,TEQ\e(B\e1\e,T!`K\e(B\e0\e,TEh\e(B\e1\e,TR\e(B\e0\e,T9Ui\e(B\e1\e,T(Pc\e(B\e0\e,TKi\e(B\e1\e,T<E\e(B\e0\e,T7Uh\e(B\e1\e0\e,T5h\e(B\e1\e,TR'MM!d;`\e(B\e0\e,TEg\e(B\e1\e,T!\e(B\e0\e,T9i\e(B\e1\e,TMB\e(B\e0\e,T4Q\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e,T!\e(B\e0\e,TEh\e(B\e1\e,TRGa\e(B\e0\e,TEi\e(B\e1\e,TG\e(B\e0\e,T"i\e(B\e1\e,TR'\e(B\e0\e,T5i\e(B\e1\e,T9\e(B: \e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,TJh\e(B\e1\e,TG9cK\e(B\e0\e,T-h\e(B\e1 "\e,T7SK\e(B\e0\e,T9i\e(B\e1\e,TR\e(B\e0\e,T7Uh\e(B\e1
-\e,T`K\e(B\e0\e,TAW\e(B\e1\e,TM9\e(B\e0\e,T!Q\e(B\e1\e,T9\e(B" \e,Ta\e(B\e0\e,TAi\e(B\e1\e,T(PM\e(B\e0\e,TBYh\e(B\e1\e,Tc9bKA4K\e(B\e0\e,TEQ\e(B\e1\e,T!\e(B\e0\e,T7Uh\e(B\e1\e0\e,T5h\e(B\e1\e,TR'\e(B\e0\e,T!Q\e(B\e1\e,T9\e(B, \e,Ta\e(B\e0\e,T5h\e(B\e1\e,Tc\e(B\e0\e,TKi\e(B\e1\e,T<E\e(B\e0\e,T7Uh\e(B\e1\e0\e,T5h\e(B\e1\e,TR'MM!d;\e(B\e0\e,T:i\e(B\e1\e,TR'`\e(B\e0\e,TEg\e(B\e1\e,T!\e(B\e0\e,T9i\e(B\e1\e,TMB\e(B.
+\e,TbKA4K\e0EQ\e1!`K\e0Eh\e1R\e09Ui\e1(Pc\e0Ki\e1<E\e07Uh\e1\e05h\e1R'MM!d;`\e0Eg\e1!\e09i\e1MB\e04Q\e1'\e07Uh\e1!\e0Eh\e1RGa\e0Ei\e1G\e0"i\e1R'\e05i\e19\e(B: \e,T$S\e0JQh\e1'\e0Jh\e1G9cK\e0-h\e1\e(B "\e,T7SK\e09i\e1R\e07Uh\e1\e(B
+\e,T`K\e0AW\e1M9\e0!Q\e19\e(B" \e,Ta\e0Ai\e1(PM\e0BYh\e1c9bKA4K\e0EQ\e1!\e07Uh\e1\e05h\e1R'\e0!Q\e19\e(B, \e,Ta\e05h\e1c\e0Ki\e1<E\e07Uh\e1\e05h\e1R'MM!d;\e0:i\e1R'`\e0Eg\e1!\e09i\e1MB\e(B.
 
-\e,Tc\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-h m \e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TM\e(B\e0\e,TMh\e(B\e1\e,TR9CRBEP`\e(B\e0\e,TMU\e(B\e1\e,TB4"M'bKA4K\e(B\e0\e,TEQ\e(B\e1\e,T!\e(B\e0\e,T;Q\e(B\e1\e,T(\e(B\e0\e,T(X\e(B\e1\e0\e,T:Q\e(B\e1\e,T9\e(B\e0\e,T7Uh\e(B\e1\e0\e,T7h\e(B\e1\e,TR9M\e(B\e0\e,TBYh\e(B\e1.
+\e,Tc\e0*i\e1$S\e0JQh\e1'\e(B C-h m \e,T`\e0>Wh\e1M\e0Mh\e1R9CRBEP`\e0MU\e1B4"M'bKA4K\e0EQ\e1!\e0;Q\e1(\e0(X\e1\e0:Q\e19\e07Uh\e1\e07h\e1R9M\e0BYh\e1\e(B.
 
->> \e,Tc\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-u C-v \e,TK\e(B\e0\e,T9Vh\e(B\e1\e,T'$\e(B\e0\e,TCQi\e(B\e1\e,T'K\e(B\e0\e,TCW\e(B\e1\e,TMAR!!\e(B\e0\e,TGh\e(B\e1\e,TR\e(B\e0\e,T9Qi\e(B\e1\e,T9`\e(B\e0\e,T>Wh\e(B\e1\e,TM\e(B\e0\e,T7Uh\e(B\e1\e,T(P"\e(B\e0\e,TBQ\e(B\e1\e,T::CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,T9Ui\e(B\e1\e0\e,T"Vi\e(B\e1\e,T9d;\e(B\e0\e,TBQ\e(B\e1\e,T'\e(B\e0\e,TJh\e(B\e1\e,TG9:9"M'K\e(B\e0\e,T9i\e(B\e1\e,TR(M\e(B.
->> \e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-h m, \e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TM\e(B\e0\e,T4Y\e(B\e1\e0\e,TGh\e(B\e1\e,TR\e(B Text mode \e0\e,T5h\e(B\e1\e,TR'(R!\e(B Fundamental mode \e,TM\e(B\e0\e,TBh\e(B\e1\e,TR'dC\e(B.
->> \e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-x 1 \e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TM"\e(B\e0\e,T(Q\e(B\e1\e,T4`M!JRC\e(B\e0\e,T*Ui\e(B\e1\e,Ta('MM!(R!K\e(B\e0\e,T9i\e(B\e1\e,TR(M\e(B.
+>> \e,Tc\e0*i\e1$S\e0JQh\e1'\e(B C-u C-v \e,TK\e09Vh\e1'$\e0CQi\e1'K\e0CW\e1MAR!!\e0Gh\e1R\e09Qi\e19`\e0>Wh\e1M\e07Uh\e1(P"\e0BQ\e1::CC\e07Q\e14\e09Ui\e1\e0"Vi\e19d;\e0BQ\e1'\e0Jh\e1G9:9"M'K\e09i\e1R(M\e(B.
+>> \e0\e,T;i\e1M9$S\e0JQh\e1'\e(B C-h m, \e,T`\e0>Wh\e1M\e04Y\e1\e0Gh\e1R\e(B Text mode \e0\e,T5h\e1R'(R!\e(B Fundamental mode \e,TM\e0Bh\e1R'dC\e(B.
+>> \e0\e,T;i\e1M9$S\e0JQh\e1'\e(B C-x 1 \e,T`\e0>Wh\e1M"\e0(Q\e14`M!JRC\e0*Ui\e1a('MM!(R!K\e09i\e1R(M\e(B.
 
-\e0\e,T7Uh\e(B\e1\e,T`\e(B\e0\e,TCU\e(B\e1\e,TB!\e(B\e0\e,TGh\e(B\e1\e,TRbKA4K\e(B\e0\e,TEQ\e(B\e1\e,T!\e(B\e0\e,T9Qi\e(B\e1\e,T9\e(B\e0\e,T!g\e(B\e1\e,T`>CRP\e(B\e0\e,TGh\e(B\e1\e,TR\e(B\e0\e,TAU\e(B\e1\e,TbKA4\e(B\e0\e,TBh\e(B\e1\e,TMB\e(B (minor mode) \e0\e,TMU\e(B\e1\e,T!\e(B. \e,TbKA4\e(B\e0\e,TBh\e(B\e1\e,TMBd\e(B\e0\e,TAh\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1\e,T`\e(B\e0\e,T;g\e(B\e1\e,T9\e(B
-\e0\e,T5Q\e(B\e1\e,TG`\e(B\e0\e,TEW\e(B\e1\e,TM!c9bKA4K\e(B\e0\e,TEQ\e(B\e1\e,T!\e(B, \e,T`\e(B\e0\e,T9Wh\e(B\e1\e,TM'(R!\e(B\e0\e,TGh\e(B\e1\e,TR\e(B\e0\e,TAU\e(B\e1\e,T!RC`;\e(B\e0\e,TEUh\e(B\e1\e,TB9d;`\e(B\e0\e,T>U\e(B\e1\e,TB'`\e(B\e0\e,TEg\e(B\e1\e,T!\e(B\e0\e,T9i\e(B\e1\e,TMB`\e(B\e0\e,T7h\e(B\e1\e,TR\e(B\e0\e,T9Qi\e(B\e1\e,T9\e(B. \e,Ta\e(B\e0\e,T5h\e(B\e1\e,TEPbKA4\e(B\e0\e,TBh\e(B\e1\e,TMBJRARC6\e(B
-\e,T(P`\e(B\e0\e,T;T\e(B\e1\e,T4K\e(B\e0\e,TCW\e(B\e1\e,TM\e(B\e0\e,T;T\e(B\e1\e,T4d\e(B\e0\e,T4i\e(B\e1\e,T@RBc9\e(B\e0\e,T5Q\e(B\e1\e,TG`M'\e(B, \e0\e,T$W\e(B\e1\e,TMa\e(B\e0\e,T5h\e(B\e1\e,TEPbKA4\e(B\e0\e,TBh\e(B\e1\e,TMB(P7S'R9b4B\e(B\e0\e,TMT\e(B\e1\e,TJCP(R!\e(B\e0\e,T!Q\e(B\e1\e,T9\e(B, \e,TaEP\e(B
-\e,T`\e(B\e0\e,T;g\e(B\e1\e,T9\e(B\e0\e,TMT\e(B\e1\e,TJCP(R!bKA4K\e(B\e0\e,TEQ\e(B\e1\e,T!\e(B\e0\e,T4i\e(B\e1\e,TGB\e(B. \e,T)P\e(B\e0\e,T9Qi\e(B\e1\e,T9\e(B\e0\e,T7h\e(B\e1\e,TR9JRARC6d\e(B\e0\e,TAh\e(B\e1\e,Tc\e(B\e0\e,T*i\e(B\e1\e,TbKA4\e(B\e0\e,TBh\e(B\e1\e,TMB`EB\e(B, \e,TK\e(B\e0\e,TCW\e(B\e1\e,TMK\e(B\e0\e,T9Vh\e(B\e1\e,T'bKA4\e(B\e0\e,TBh\e(B\e1\e,TMB\e(B, \e,TK\e(B\e0\e,TCW\e(B\e1\e,TM\e(B
-\e,TbKA4\e(B\e0\e,TBh\e(B\e1\e,TMBKERBf\e(B \e,TbKA4<JA\e(B\e0\e,T!Q\e(B\e1\e,T9\e(B\e0\e,T!g\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1.
+\e0\e,T7Uh\e1`\e0CU\e1B!\e0Gh\e1RbKA4K\e0EQ\e1!\e09Qi\e19\e0!g\e1`>CRP\e0Gh\e1R\e0AU\e1bKA4\e0Bh\e1MB\e(B (minor mode) \e0\e,TMU\e1!\e(B. \e,TbKA4\e0Bh\e1MBd\e0Ah\e1d\e04i\e1`\e0;g\e19\e(B
+\e0\e,T5Q\e1G`\e0EW\e1M!c9bKA4K\e0EQ\e1!\e(B, \e,T`\e09Wh\e1M'(R!\e0Gh\e1R\e0AU\e1!RC`;\e0EUh\e1B9d;`\e0>U\e1B'`\e0Eg\e1!\e09i\e1MB`\e07h\e1R\e09Qi\e19\e(B. \e,Ta\e05h\e1EPbKA4\e0Bh\e1MBJRARC6\e(B
+\e,T(P`\e0;T\e14K\e0CW\e1M\e0;T\e14d\e04i\e1@RBc9\e05Q\e1G`M'\e(B, \e0\e,T$W\e1Ma\e05h\e1EPbKA4\e0Bh\e1MB(P7S'R9b4B\e0MT\e1JCP(R!\e0!Q\e19\e(B, \e,TaEP\e(B
+\e,T`\e0;g\e19\e0MT\e1JCP(R!bKA4K\e0EQ\e1!\e04i\e1GB\e(B. \e,T)P\e09Qi\e19\e07h\e1R9JRARC6d\e0Ah\e1c\e0*i\e1bKA4\e0Bh\e1MB`EB\e(B, \e,TK\e0CW\e1MK\e09Vh\e1'bKA4\e0Bh\e1MB\e(B, \e,TK\e0CW\e1M\e(B
+\e,TbKA4\e0Bh\e1MBKERBf\e(B \e,TbKA4<JA\e0!Q\e19\e0!g\e1d\e04i\e1\e(B.
 
-\e,TbKA4\e(B\e0\e,TBh\e(B\e1\e,TMB\e(B\e0\e,T7Uh\e(B\e1\e0\e,TAU\e(B\e1\e,T;CPbB*\e(B\e0\e,T9l\e(B\e1\e,TAR!\e(B, \e,Tb4B`)>RPJSK\e(B\e0\e,TCQ\e(B\e1\e,T:c\e(B\e0\e,T*i\e(B\e1\e,Ta\e(B\e0\e,T!i\e(B\e1\e,Td"\e(B\e0\e,T"i\e(B\e1\e,TM$GRA\e(B\e0\e,T7Uh\e(B\e1\e,T`\e(B\e0\e,T;g\e(B\e1\e,T9@RIR\e(B\e0\e,TMQ\e(B\e1\e,T'!DI\e(B, \e0\e,T$W\e(B\e1\e,TM\e(B
-\e,TbKA4\e(B\e0\e,T(Q\e(B\e1\e,T4:CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,TMQ\e(B\e1\e,T5b9\e(B\e0\e,TAQ\e(B\e1\e0\e,T5T\e(B\e1 (Auto Fill). \e,T`\e(B\e0\e,TAWh\e(B\e1\e,TMbKA4\e(B\e0\e,T9Ui\e(B\e1\e,T7S'R9\e(B, \e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,T(Pa\e(B\e0\e,T:h\e(B\e1\e,T':CC\e(B\e0\e,T7Q\e(B\e1\e,T4CPK\e(B\e0\e,TGh\e(B\e1\e,TR'\e(B
-\e,T$S\e(B\e0\e,TMQ\e(B\e1\e,T5b9\e(B\e0\e,TAQ\e(B\e1\e0\e,T5T\e(B\e1, \e0\e,T7Q\e(B\e1\e,T9\e(B\e0\e,T7U\e(B\e1\e0\e,T7Uh\e(B\e1\e0\e,T7h\e(B\e1\e,TR9a7C!\e(B\e0\e,T"i\e(B\e1\e,TM$GRAaEP7Sc\e(B\e0\e,TKi\e(B\e1\e,T:CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,T9Qi\e(B\e1\e,T9BRG`\e(B\e0\e,T!T\e(B\e1\e,T9d;\e(B.
+\e,TbKA4\e0Bh\e1MB\e07Uh\e1\e0AU\e1;CPbB*\e09l\e1AR!\e(B, \e,Tb4B`)>RPJSK\e0CQ\e1:c\e0*i\e1a\e0!i\e1d"\e0"i\e1M$GRA\e07Uh\e1`\e0;g\e19@RIR\e0MQ\e1'!DI\e(B, \e0\e,T$W\e1M\e(B
+\e,TbKA4\e0(Q\e14:CC\e07Q\e14\e0MQ\e15b9\e0AQ\e1\e05T\e1\e(B (Auto Fill). \e,T`\e0AWh\e1MbKA4\e09Ui\e17S'R9\e(B, \e0\e,TMU\e1aA!\e0Jl\e1(Pa\e0:h\e1':CC\e07Q\e14CPK\e0Gh\e1R'\e(B
+\e,T$S\e0MQ\e15b9\e0AQ\e1\e05T\e1\e(B, \e0\e,T7Q\e19\e07U\e1\e07Uh\e1\e07h\e1R9a7C!\e0"i\e1M$GRAaEP7Sc\e0Ki\e1:CC\e07Q\e14\e09Qi\e19BRG`\e0!T\e19d;\e(B.
 
-\e0\e,T7h\e(B\e1\e,TR9JRARC6`\e(B\e0\e,T;T\e(B\e1\e,T4bKA4\e(B\e0\e,T(Q\e(B\e1\e,T4:CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,TMQ\e(B\e1\e,T5b9\e(B\e0\e,TAQ\e(B\e1\e0\e,T5T\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1\e,Tb4B!RCc\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B M-x auto fill
-mode<Return>. \e,T`\e(B\e0\e,TAWh\e(B\e1\e,TMbKA4\e(B\e0\e,T9Ui\e(B\e1\e,T7S'R9M\e(B\e0\e,TBYh\e(B\e1, \e0\e,T7h\e(B\e1\e,TR9JRARC6\e(B\e0\e,T;T\e(B\e1\e,T4bKA4\e(B\e0\e,T9Ui\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1\e,Tb4B!RCc\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B M-x
-auto fill mode<Return>. \e0\e,T6i\e(B\e1\e,TRbKA4\e(B\e0\e,T9Ui\e(B\e1\e0\e,T;T\e(B\e1\e,T4M\e(B\e0\e,TBYh\e(B\e1, \e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T9Ui\e(B\e1\e,T(P`\e(B\e0\e,T;T\e(B\e1\e,T4bKA4c\e(B\e0\e,TKi\e(B\e1\e,T7S'R9\e(B, \e,TaEP\e(B\e0\e,T6i\e(B\e1\e,TR\e(B
-\e,TbKA4\e(B\e0\e,T9Ui\e(B\e1\e,T`\e(B\e0\e,T;T\e(B\e1\e,T4M\e(B\e0\e,TBYh\e(B\e1, \e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T9Ui\e(B\e1\e0\e,T!g\e(B\e1\e,T(P\e(B\e0\e,T;T\e(B\e1\e,T4bKA4\e(B. \e0\e,T$W\e(B\e1\e,TM\e(B\e0\e,T>Y\e(B\e1\e,T4d\e(B\e0\e,T4i\e(B\e1\e0\e,TGh\e(B\e1\e,TR$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T9Ui\e(B\e1 "toggles the mode".
+\e0\e,T7h\e1R9JRARC6`\e0;T\e14bKA4\e0(Q\e14:CC\e07Q\e14\e0MQ\e15b9\e0AQ\e1\e05T\e1d\e04i\e1b4B!RCc\e0*i\e1$S\e0JQh\e1'\e(B M-x auto fill
+mode<Return>. \e,T`\e0AWh\e1MbKA4\e09Ui\e17S'R9M\e0BYh\e1\e(B, \e0\e,T7h\e1R9JRARC6\e0;T\e14bKA4\e09Ui\e1d\e04i\e1b4B!RCc\e0*i\e1$S\e0JQh\e1'\e(B M-x
+auto fill mode<Return>. \e0\e,T6i\e1RbKA4\e09Ui\e1\e0;T\e14M\e0BYh\e1\e(B, \e,T$S\e0JQh\e1'\e09Ui\e1(P`\e0;T\e14bKA4c\e0Ki\e17S'R9\e(B, \e,TaEP\e06i\e1R\e(B
+\e,TbKA4\e09Ui\e1`\e0;T\e14M\e0BYh\e1\e(B, \e,T$S\e0JQh\e1'\e09Ui\e1\e0!g\e1(P\e0;T\e14bKA4\e(B. \e0\e,T$W\e1M\e0>Y\e14d\e04i\e1\e0Gh\e1R$S\e0JQh\e1'\e09Ui\e1\e(B "toggles the mode".
 
->> \e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B M-x auto fill mode<Return> \e0\e,T4Y\e(B\e1. \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG\e(B\e0\e,T;i\e(B\e1\e,TM9\e(B "asdf " \e0\e,T+i\e(B\e1\e,TSf\e(B \e0\e,T!Q\e(B\e1\e,T9d;(9\e(B
-   \e0\e,T7h\e(B\e1\e,TR9`\e(B\e0\e,TKg\e(B\e1\e,T9\e(B\e0\e,TGh\e(B\e1\e,TR:CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,T9Qi\e(B\e1\e,T9\e(B\e0\e,T6Y\e(B\e1\e,T!a\e(B\e0\e,T:h\e(B\e1\e,T'MM!`\e(B\e0\e,T;g\e(B\e1\e,T9JM':CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B. \e0\e,T7h\e(B\e1\e,TR9\e(B\e0\e,T5i\e(B\e1\e,TM'c\e(B\e0\e,TJh\e(B\e1\e,T`\e(B\e0\e,TGi\e(B\e1\e,T9GCC$`>CRP\e(B\e0\e,TGh\e(B\e1\e,TR!RC\e(B\e0\e,T(Q\e(B\e1\e,T4\e(B
-   \e,T:CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,TMQ\e(B\e1\e,T5b9\e(B\e0\e,TAQ\e(B\e1\e0\e,T5T\e(B\e1\e,T(Pa\e(B\e0\e,T:h\e(B\e1\e,T':CC\e(B\e0\e,T7Q\e(B\e1\e,T45C'`\e(B\e0\e,TGi\e(B\e1\e,T9GCC$`\e(B\e0\e,T7h\e(B\e1\e,TR\e(B\e0\e,T9Qi\e(B\e1\e,T9\e(B.
+>> \e0\e,T;i\e1M9$S\e0JQh\e1'\e(B M-x auto fill mode<Return> \e0\e,T4Y\e1\e(B. \e,Ta\e0Ei\e1G\e0;i\e1M9\e(B "asdf " \e0\e,T+i\e1Sf\e(B \e0\e,T!Q\e19d;(9\e(B
+   \e0\e,T7h\e1R9`\e0Kg\e19\e0Gh\e1R:CC\e07Q\e14\e09Qi\e19\e06Y\e1!a\e0:h\e1'MM!`\e0;g\e19JM':CC\e07Q\e14\e(B. \e0\e,T7h\e1R9\e05i\e1M'c\e0Jh\e1`\e0Gi\e19GCC$`>CRP\e0Gh\e1R!RC\e0(Q\e14\e(B
+   \e,T:CC\e07Q\e14\e0MQ\e15b9\e0AQ\e1\e05T\e1(Pa\e0:h\e1':CC\e07Q\e145C'`\e0Gi\e19GCC$`\e07h\e1R\e09Qi\e19\e(B.
 
-\e,T"M:`\e(B\e0\e,T<Wh\e(B\e1\e,TM\e(B (margin) \e,Tb4BAR!(P\e(B\e0\e,T5Qi\e(B\e1\e,T'c\e(B\e0\e,TKi\e(B\e1\e0\e,T7Uh\e(B\e1 70 \e0\e,T5Q\e(B\e1\e,TG\e(B\e0\e,TMQ\e(B\e1\e,T!IC\e(B, \e,Ta\e(B\e0\e,T5h\e(B\e1\e0\e,T7h\e(B\e1\e,TR9\e(B\e0\e,T!g\e(B\e1\e,TJRARC6`;\e(B\e0\e,TEUh\e(B\e1\e,TB9\e(B\e0\e,T4i\e(B\e1\e,TGB$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B
-C-x f. \e0\e,T7h\e(B\e1\e,TR9$GC\e(B\e0\e,T5Qi\e(B\e1\e,T'"M:`\e(B\e0\e,T<Wh\e(B\e1\e,TM\e(B\e0\e,T4i\e(B\e1\e,TGB\e(B\e0\e,T5Q\e(B\e1\e,TG`E"MR\e(B\e0\e,TCl\e(B\e1\e0\e,T!T\e(B\e1\e,TG`A9\e(B\e0\e,T5l\e(B\e1\e,T5RA\e(B\e0\e,T7Uh\e(B\e1\e0\e,T7h\e(B\e1\e,TR9\e(B\e0\e,T5i\e(B\e1\e,TM'!RC\e(B.
+\e,T"M:`\e0<Wh\e1M\e(B (margin) \e,Tb4BAR!(P\e05Qi\e1'c\e0Ki\e1\e07Uh\e1\e(B 70 \e0\e,T5Q\e1G\e0MQ\e1!IC\e(B, \e,Ta\e05h\e1\e07h\e1R9\e0!g\e1JRARC6`;\e0EUh\e1B9\e04i\e1GB$S\e0JQh\e1'\e(B
+C-x f. \e0\e,T7h\e1R9$GC\e05Qi\e1'"M:`\e0<Wh\e1M\e04i\e1GB\e05Q\e1G`E"MR\e0Cl\e1\e0!T\e1G`A9\e05l\e15RA\e07Uh\e1\e07h\e1R9\e05i\e1M'!RC\e(B.
 
->> \e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-x f \e,T>\e(B\e0\e,TCi\e(B\e1\e,TMA\e(B\e0\e,T4i\e(B\e1\e,TGBMR\e(B\e0\e,TCl\e(B\e1\e0\e,T!T\e(B\e1\e,TG`A9\e(B\e0\e,T5l\e(B\e1 20. (C-u 2 0 C-x f).
-   \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG\e(B\e0\e,T;i\e(B\e1\e,TM9\e(B\e0\e,T"i\e(B\e1\e,TM$GRAaEP(P`\e(B\e0\e,TKg\e(B\e1\e,T9\e(B\e0\e,TGh\e(B\e1\e,TR\e(B\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e0\e,T(Q\e(B\e1\e,T4:CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,T7Uh\e(B\e1\e0\e,TAU\e(B\e1\e,T"9R4\e(B 20 \e0\e,T5Q\e(B\e1\e,TG\e(B\e0\e,TMQ\e(B\e1\e,T!IC\e(B. \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG\e(B\e0\e,T5Qi\e(B\e1\e,T'"M:\e(B
-   \e,T`\e(B\e0\e,T<Wh\e(B\e1\e,TM`\e(B\e0\e,T;g\e(B\e1\e,T9\e(B 70 \e,Tb4Bc\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-x f \e0\e,TMU\e(B\e1\e,T!$\e(B\e0\e,TCQi\e(B\e1\e,T'\e(B.
+>> \e0\e,T;i\e1M9$S\e0JQh\e1'\e(B C-x f \e,T>\e0Ci\e1MA\e04i\e1GBMR\e0Cl\e1\e0!T\e1G`A9\e05l\e1\e(B 20. (C-u 2 0 C-x f).
+   \e,Ta\e0Ei\e1G\e0;i\e1M9\e0"i\e1M$GRAaEP(P`\e0Kg\e19\e0Gh\e1R\e0MU\e1aA!\e0Jl\e1\e0(Q\e14:CC\e07Q\e14\e07Uh\e1\e0AU\e1"9R4\e(B 20 \e0\e,T5Q\e1G\e0MQ\e1!IC\e(B. \e,Ta\e0Ei\e1G\e05Qi\e1'"M:\e(B
+   \e,T`\e0<Wh\e1M`\e0;g\e19\e(B 70 \e,Tb4Bc\e0*i\e1$S\e0JQh\e1'\e(B C-x f \e0\e,TMU\e1!$\e0CQi\e1'\e(B.
 
-\e0\e,T6i\e(B\e1\e,TR\e(B\e0\e,T7h\e(B\e1\e,TR97S!RC`;\e(B\e0\e,TEUh\e(B\e1\e,TB9a;E'5C'!ER'\e(B\e0\e,TBh\e(B\e1\e,TMK\e(B\e0\e,T9i\e(B\e1\e,TR\e(B, \e,TbKA4\e(B\e0\e,T(Q\e(B\e1\e,T4:CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,TMQ\e(B\e1\e,T5b9\e(B\e0\e,TAQ\e(B\e1\e0\e,T5T\e(B\e1\e,T(Pd\e(B\e0\e,TAh\e(B\e1\e0\e,T(Q\e(B\e1\e,T4:CC\e(B\e0\e,T7Q\e(B\e1\e,T4cK\e(B\e0\e,TAh\e(B\e1
-(re-fill) \e,Tc\e(B\e0\e,TKi\e(B\e1\e0\e,T7h\e(B\e1\e,TR9\e(B. \e0\e,T6i\e(B\e1\e,TR(P\e(B\e0\e,T(Q\e(B\e1\e,T4:CC\e(B\e0\e,T7Q\e(B\e1\e,T4cK\e(B\e0\e,TAh\e(B\e1\e,Tc\e(B\e0\e,TKi\e(B\e1\e0\e,T!Q\e(B\e1\e,T:\e(B\e0\e,TBh\e(B\e1\e,TMK\e(B\e0\e,T9i\e(B\e1\e,TR\e(B\e0\e,T9Qi\e(B\e1\e,T9\e(B, \e,Tc\e(B\e0\e,TKi\e(B\e1\e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B M-q (META-q)
-\e,Tb4BGR'5SaK\e(B\e0\e,T9h\e(B\e1\e,T'`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1\e,Td\e(B\e0\e,TGi\e(B\e1\e,T@RBc9\e(B\e0\e,TBh\e(B\e1\e,TMK\e(B\e0\e,T9i\e(B\e1\e,TR\e(B\e0\e,T9Qi\e(B\e1\e,T9\e(B.
+\e0\e,T6i\e1R\e07h\e1R97S!RC`;\e0EUh\e1B9a;E'5C'!ER'\e0Bh\e1MK\e09i\e1R\e(B, \e,TbKA4\e0(Q\e14:CC\e07Q\e14\e0MQ\e15b9\e0AQ\e1\e05T\e1(Pd\e0Ah\e1\e0(Q\e14:CC\e07Q\e14cK\e0Ah\e1\e(B
+(re-fill) \e,Tc\e0Ki\e1\e07h\e1R9\e(B. \e0\e,T6i\e1R(P\e0(Q\e14:CC\e07Q\e14cK\e0Ah\e1c\e0Ki\e1\e0!Q\e1:\e0Bh\e1MK\e09i\e1R\e09Qi\e19\e(B, \e,Tc\e0Ki\e1\e0;i\e1M9$S\e0JQh\e1'\e(B M-q (META-q)
+\e,Tb4BGR'5SaK\e09h\e1'`$M\e0Cl\e1`+M\e0Cl\e1d\e0Gi\e1@RBc9\e0Bh\e1MK\e09i\e1R\e09Qi\e19\e(B.
 
->> \e,T`$\e(B\e0\e,TEWh\e(B\e1\e,TM9`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1\e,T`\e(B\e0\e,T"i\e(B\e1\e,TRd;\e(B\e0\e,TBQ\e(B\e1\e,T'\e(B\e0\e,TBh\e(B\e1\e,TMK\e(B\e0\e,T9i\e(B\e1\e,TR\e(B\e0\e,T"i\e(B\e1\e,TR':9\e(B, \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG\e(B\e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B M-q.
+>> \e,T`$\e0EWh\e1M9`$M\e0Cl\e1`+M\e0Cl\e1`\e0"i\e1Rd;\e0BQ\e1'\e0Bh\e1MK\e09i\e1R\e0"i\e1R':9\e(B, \e,Ta\e0Ei\e1G\e0;i\e1M9$S\e0JQh\e1'\e(B M-q.
 
 
-* \e,T!RC\e(B\e0\e,TJW\e(B\e1\e,T:\e(B\e0\e,T$i\e(B\e1\e,T9\e(B (searching)
+* \e,T!RC\e0JW\e1:\e0$i\e19\e(B (searching)
 ---------------------
 
-\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,TJRARC6\e(B\e0\e,TJW\e(B\e1\e,T:\e(B\e0\e,T$i\e(B\e1\e,T9JRB\e(B\e0\e,TMQ\e(B\e1\e,T!"CP\e(B (\e,T!\e(B\e0\e,TEXh\e(B\e1\e,TA"M'\e(B\e0\e,T5Q\e(B\e1\e,TG\e(B\e0\e,TMQ\e(B\e1\e,T!ICK\e(B\e0\e,TCW\e(B\e1\e,TM$S\e(B\e0\e,T7Uh\e(B\e1\e,TM\e(B\e0\e,TBYh\e(B\e1\e0\e,T5h\e(B\e1\e,TM`\e(B\e0\e,T9Wh\e(B\e1\e,TM'\e(B\e0\e,T!Q\e(B\e1\e,T9\e(B) \e,Td\e(B\e0\e,TAh\e(B\e1\e0\e,TGh\e(B\e1\e,TR(Pd;\e(B
-\e0\e,T"i\e(B\e1\e,TR'K\e(B\e0\e,T9i\e(B\e1\e,TRK\e(B\e0\e,TCW\e(B\e1\e,TM\e(B\e0\e,TBi\e(B\e1\e,TM9!\e(B\e0\e,TEQ\e(B\e1\e,T:\e(B, \e0\e,T7Qh\e(B\e1\e,TG\e(B\e0\e,T7Qi\e(B\e1\e,T'\e(B\e0\e,T"i\e(B\e1\e,TM$GRA\e(B. \e,T!RC\e(B\e0\e,TJW\e(B\e1\e,T:\e(B\e0\e,T$i\e(B\e1\e,T9JRB\e(B\e0\e,TMQ\e(B\e1\e,T!"CP\e(B\e0\e,T$W\e(B\e1\e,TM$S\e(B\e0\e,TJQh\e(B\e1\e,T'c9!RC`$\e(B\e0\e,TEWh\e(B\e1\e,TM95SaK\e(B\e0\e,T9h\e(B\e1\e,T'\e(B
-\e,T"M'`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1; \e,T`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1\e,T(P`$\e(B\e0\e,TEWh\e(B\e1\e,TM9d;M\e(B\e0\e,TBYh\e(B\e1\e0\e,T7Uh\e(B\e1\e,T5SaK\e(B\e0\e,T9h\e(B\e1\e,T'\e(B\e0\e,T6Q\e(B\e1\e,T4d;\e(B\e0\e,T7Uh\e(B\e1\e0\e,TAU\e(B\e1\e,TJRB\e(B\e0\e,TMQ\e(B\e1\e,T!"CP\e(B\e0\e,T9Qi\e(B\e1\e,T9M\e(B\e0\e,TBYh\e(B\e1.
-
-\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,TJW\e(B\e1\e,T:\e(B\e0\e,T$i\e(B\e1\e,T9c9\e(B\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e0\e,T5h\e(B\e1\e,TR'(R!$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,TJW\e(B\e1\e,T:\e(B\e0\e,T$i\e(B\e1\e,T9c9b;Ca!CA:CC3R\e(B\e0\e,T8T\e(B\e1\e,T!C\e(B\e0\e,T3l\e(B\e1 (editor) \e0\e,TJh\e(B\e1\e,TG9cK\e(B\e0\e,T-h\e(B\e1\e,Tc9\e(B
-\e0\e,TEQ\e(B\e1\e,T!I3P\e(B\e0\e,T7Uh\e(B\e1\e,T`\e(B\e0\e,T;g\e(B\e1\e,T9\e(B "incremental". \e0\e,T9Uh\e(B\e1\e,TKARB$GRA\e(B\e0\e,TGh\e(B\e1\e,TR!RC\e(B\e0\e,TJW\e(B\e1\e,T:\e(B\e0\e,T$i\e(B\e1\e,T9`\e(B\e0\e,TCTh\e(B\e1\e,TA\e(B\e0\e,T5Qi\e(B\e1\e,T'a\e(B\e0\e,T5h\e(B\e1\e0\e,T7Uh\e(B\e1\e0\e,T7h\e(B\e1\e,TR9d\e(B\e0\e,T4i\e(B\e1\e0\e,T;i\e(B\e1\e,TM9\e(B\e0\e,TMQ\e(B\e1\e,T!"CP\e(B\e0\e,T7Uh\e(B\e1
-\e0\e,T5i\e(B\e1\e,TM'!RC\e(B\e0\e,TJW\e(B\e1\e,T:\e(B\e0\e,T$i\e(B\e1\e,T9\e(B.
-
-\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e,Tc\e(B\e0\e,T*i\e(B\e1\e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TMc\e(B\e0\e,TKi\e(B\e1\e,T7S!RC\e(B\e0\e,TJW\e(B\e1\e,T:\e(B\e0\e,T$i\e(B\e1\e,T9d;\e(B\e0\e,T"i\e(B\e1\e,TR'K\e(B\e0\e,T9i\e(B\e1\e,TR\e(B\e0\e,T$W\e(B\e1\e,TM\e(B C-s, \e,TaEP7S!RC\e(B\e0\e,TJW\e(B\e1\e,T:\e(B\e0\e,T$i\e(B\e1\e,T9\e(B\e0\e,TBi\e(B\e1\e,TM9d;\e(B\e0\e,T"i\e(B\e1\e,TR'K\e(B\e0\e,TEQ\e(B\e1\e,T'\e(B\e0\e,T$W\e(B\e1\e,TM\e(B
-C-r. \e,Ta\e(B\e0\e,T5h\e(B\e1\e,T$MB\e(B\e0\e,T!h\e(B\e1\e,TM9\e(B! \e,TM\e(B\e0\e,TBh\e(B\e1\e,TR`\e(B\e0\e,T>Th\e(B\e1\e,T'EM'\e(B.
-
-\e,T`\e(B\e0\e,TAWh\e(B\e1\e,TM\e(B\e0\e,T7h\e(B\e1\e,TR9\e(B\e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-s \e0\e,T7h\e(B\e1\e,TR9(P\e(B\e0\e,TJQ\e(B\e1\e,T'`!5`\e(B\e0\e,TKg\e(B\e1\e,T9\e(B\e0\e,TGh\e(B\e1\e,TR\e(B\e0\e,TAU\e(B\e1\e,T$S\e(B\e0\e,TGh\e(B\e1\e,TR\e(B "I-search" \e,T;CR!/\e(B\e0\e,T7Uh\e(B\e1\e,T:\e(B\e0\e,TCT\e(B\e1\e,T`G3JP\e(B\e0\e,T7i\e(B\e1\e,TM9\e(B
-(echo area). \e0\e,T9Uh\e(B\e1\e,TaJ4'\e(B\e0\e,TGh\e(B\e1\e,TR\e(B\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1\e,TM\e(B\e0\e,TBYh\e(B\e1\e,Tc9!RC\e(B\e0\e,T$i\e(B\e1\e,T9a::\e(B incremental \e,TaEP!S\e(B\e0\e,TEQ\e(B\e1\e,T'CM\e(B
-\e0\e,TJTh\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e0\e,T7h\e(B\e1\e,TR9(P\e(B\e0\e,T>T\e(B\e1\e,TA\e(B\e0\e,T>l\e(B\e1\e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TM\e(B\e0\e,TJW\e(B\e1\e,T:\e(B\e0\e,T$i\e(B\e1\e,T9\e(B. \e,T!4\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B <Return> \e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TM\e(B\e0\e,TJTi\e(B\e1\e,T9\e(B\e0\e,TJX\e(B\e1\e,T4$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,TJW\e(B\e1\e,T:\e(B\e0\e,T$i\e(B\e1\e,T9\e(B.
-
->> \e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-s \e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TM`\e(B\e0\e,TCTh\e(B\e1\e,TA!RC\e(B\e0\e,TJW\e(B\e1\e,T:\e(B\e0\e,T$i\e(B\e1\e,T9\e(B. \e0\e,T>T\e(B\e1\e,TA\e(B\e0\e,T>l\e(B\e1\e0\e,TMQ\e(B\e1\e,T!IC\e(B\e0\e,T7U\e(B\e1\e,TEP\e(B\e0\e,T5Q\e(B\e1\e,TG\e(B\e0\e,T*i\e(B\e1\e,TRf\e(B, \e0\e,T>T\e(B\e1\e,TA\e(B\e0\e,T>l\e(B\e1\e,T$S\e(B\e0\e,TGh\e(B\e1\e,TR\e(B 'cursor',
-   \e,TK\e(B\e0\e,TBX\e(B\e1\e,T4K\e(B\e0\e,TEQ\e(B\e1\e,T'(R!\e(B\e0\e,T7Uh\e(B\e1\e0\e,T7h\e(B\e1\e,TR9\e(B\e0\e,T>T\e(B\e1\e,TA\e(B\e0\e,T>l\e(B\e1\e0\e,T7U\e(B\e1\e,TEP\e(B\e0\e,T5Q\e(B\e1\e,TG\e(B\e0\e,TMQ\e(B\e1\e,T!IC\e(B, \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG\e(B\e0\e,T4Y\e(B\e1\e0\e,TGh\e(B\e1\e,TR\e(B\e0\e,TAU\e(B\e1\e,TMPdC`\e(B\e0\e,T!T\e(B\e1\e,T4\e(B\e0\e,T"Vi\e(B\e1\e,T9\e(B\e0\e,T!Q\e(B\e1\e,T:`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1.
-   \e,T"3P\e(B\e0\e,T9Ui\e(B\e1\e0\e,T7h\e(B\e1\e,TR9d\e(B\e0\e,T4i\e(B\e1\e0\e,TJW\e(B\e1\e,T:\e(B\e0\e,T$i\e(B\e1\e,T9$S\e(B\e0\e,TGh\e(B\e1\e,TR\e(B "cursor" \e,Td;K\e(B\e0\e,T9Vh\e(B\e1\e,T'K9a\e(B\e0\e,TEi\e(B\e1\e,TG\e(B.
->> \e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-s \e0\e,TMU\e(B\e1\e,T!$\e(B\e0\e,TCQi\e(B\e1\e,T'\e(B, \e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TM\e(B\e0\e,TJW\e(B\e1\e,T:\e(B\e0\e,T$i\e(B\e1\e,T95SaK\e(B\e0\e,T9h\e(B\e1\e,T'\e(B\e0\e,T6Q\e(B\e1\e,T4d;"M'$S\e(B\e0\e,TGh\e(B\e1\e,TR\e(B "cursor".
->> \e,T!4\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B <Delete> \e0\e,TJQ\e(B\e1\e,T!\e(B\e0\e,TJUh\e(B\e1\e,T$\e(B\e0\e,TCQi\e(B\e1\e,T'\e(B, \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG\e(B\e0\e,T4Y\e(B\e1\e0\e,TGh\e(B\e1\e,TR`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1\e,T`$\e(B\e0\e,TEWh\e(B\e1\e,TM9\e(B\e0\e,T7Uh\e(B\e1\e,TM\e(B\e0\e,TBh\e(B\e1\e,TR'dC\e(B.
->> \e,T!4\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B <Return> \e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TM\e(B\e0\e,TJTi\e(B\e1\e,T9\e(B\e0\e,TJX\e(B\e1\e,T4$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,TJW\e(B\e1\e,T:\e(B\e0\e,T$i\e(B\e1\e,T9\e(B.
-
-\e0\e,T7h\e(B\e1\e,TR9`\e(B\e0\e,TKg\e(B\e1\e,T9K\e(B\e0\e,TCW\e(B\e1\e,TMd\e(B\e0\e,TAh\e(B\e1\e0\e,TGh\e(B\e1\e,TR\e(B\e0\e,TAU\e(B\e1\e,TMPdC`\e(B\e0\e,T!T\e(B\e1\e,T4\e(B\e0\e,T"Vi\e(B\e1\e,T9\e(B? \e,Tc9!RC\e(B\e0\e,TJW\e(B\e1\e,T:\e(B\e0\e,T$i\e(B\e1\e,T9a::\e(B incremental, \e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,T>BRBRA\e(B
-\e,T`$\e(B\e0\e,TEWh\e(B\e1\e,TM9d;5RAJRB\e(B\e0\e,TMQ\e(B\e1\e,T!"CP\e(B\e0\e,T7Uh\e(B\e1\e0\e,T7h\e(B\e1\e,TR9d\e(B\e0\e,T4i\e(B\e1\e0\e,T>T\e(B\e1\e,TA\e(B\e0\e,T>l\e(B\e1\e,TE'd;c9a\e(B\e0\e,T5h\e(B\e1\e,TEP$\e(B\e0\e,TCQi\e(B\e1\e,T'\e(B. \e0\e,T6i\e(B\e1\e,TR(P`$\e(B\e0\e,TEWh\e(B\e1\e,TM9d;\e(B\e0\e,TBQ\e(B\e1\e,T'5SaK\e(B\e0\e,T9h\e(B\e1\e,T'\e(B
-\e0\e,T6Q\e(B\e1\e,T4d;"M'$S\e(B, \e0\e,T!g\e(B\e1\e,T7Sd\e(B\e0\e,T4i\e(B\e1\e,Tb4B!RC\e(B\e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-s \e0\e,TMU\e(B\e1\e,T!$\e(B\e0\e,TCQi\e(B\e1\e,T'\e(B. \e0\e,T6i\e(B\e1\e,TRd\e(B\e0\e,TAh\e(B\e1\e0\e,TAU\e(B\e1\e,T$S\e(B\e0\e,T9Qi\e(B\e1\e,T9\e(B\e0\e,TMU\e(B\e1\e,T!a\e(B\e0\e,TEi\e(B\e1\e,TG\e(B, \e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,T(P\e(B\e0\e,TCi\e(B\e1\e,TM'\e(B
-\e,T:M!\e(B (beep) \e0\e,T7h\e(B\e1\e,TR9\e(B\e0\e,TGh\e(B\e1\e,TR!RC\e(B\e0\e,TJW\e(B\e1\e,T:\e(B\e0\e,T$i\e(B\e1\e,T9$\e(B\e0\e,TCQi\e(B\e1\e,T'\e(B\e0\e,T9Qi\e(B\e1\e,T9\e(B "\e,T>ER4\e(B (failing)", \e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-g \e0\e,T!g\e(B\e1\e,TJRARC6c\e(B\e0\e,T*i\e(B\e1\e,Tc9\e(B
-\e,T!RC\e(B\e0\e,TJTi\e(B\e1\e,T9\e(B\e0\e,TJX\e(B\e1\e,T4!RC\e(B\e0\e,TJW\e(B\e1\e,T:\e(B\e0\e,T$i\e(B\e1\e,T9d\e(B\e0\e,T4i\e(B\e1.
-
-\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TJQ\e(B\e1\e,T'`!5\e(B: \e,Tc9:R'CP::\e(B, \e,T!RC\e(B\e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-s \e,T(P7Sc\e(B\e0\e,TKi\e(B\e1\e,TCP::"M'\e(B\e0\e,T7h\e(B\e1\e,TR9*P\e(B\e0\e,T'Q\e(B\e1\e,T!aEP\e(B\e0\e,T7h\e(B\e1\e,TR9(Pd\e(B\e0\e,TAh\e(B\e1\e,T`\e(B\e0\e,TKg\e(B\e1\e,T9\e(B
-\e0\e,T"i\e(B\e1\e,TM$GRAMPdC:9\e(B\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1. \e0\e,TEQ\e(B\e1\e,T!I3P\e(B\e0\e,T9Ui\e(B\e1\e,TaJ4'\e(B\e0\e,TGh\e(B\e1\e,TR\e(B "feature" \e,T"M'CP::;\e(B\e0\e,T/T\e(B\e1\e0\e,T:Q\e(B\e1\e0\e,T5T\e(B\e1\e,T!RC\e(B, \e0\e,T7Uh\e(B\e1\e,T`\e(B\e0\e,TCU\e(B\e1\e,TB!\e(B\e0\e,TGh\e(B\e1\e,TR\e(B 
-"flow control" \e0\e,T9Qi\e(B\e1\e,T9\e(B, \e,Td\e(B\e0\e,T4i\e(B\e1\e0\e,T"Q\e(B\e1\e,T4"GR'!RC7S'R9"M'$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-s \e,TaEPd\e(B\e0\e,TAh\e(B\e1\e,TBMAc\e(B\e0\e,TKi\e(B\e1\e,T!\e(B\e0\e,TEQ\e(B\e1\e,T:\e(B\e0\e,TJYh\e(B\e1\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1
-\e0\e,TMU\e(B\e1\e,T!\e(B. \e,T!RC\e(B\e0\e,T7Uh\e(B\e1\e,T(Pa\e(B\e0\e,T!i\e(B\e1\e,Td"!RCK\e(B\e0\e,TBX\e(B\e1\e,T4*P\e(B\e0\e,T'Q\e(B\e1\e,T!\e(B\e0\e,T9Qi\e(B\e1\e,T9\e(B, \e,Tc\e(B\e0\e,TKi\e(B\e1\e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-q. \e0\e,THV\e(B\e1\e,T!IR\e(B\e0\e,TGT\e(B\e1\e0\e,T8U\e(B\e1\e,T!RC\e(B\e0\e,T(Q\e(B\e1\e,T4!RC\e(B\e0\e,T!Q\e(B\e1\e,T:\e(B "feature" 
-\e0\e,T9Ui\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1\e0\e,T7Uh\e(B\e1\e,T:7\e(B\e0\e,T7Uh\e(B\e1\e0\e,TGh\e(B\e1\e,TR\e(B\e0\e,T4i\e(B\e1\e,TGB\e(B "Spontaneous Entry to Incremental Search" \e,Tc9\e(B\e0\e,T$Yh\e(B\e1\e0\e,TAW\e(B\e1\e,TM"M'\e(B\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1.
-
-\e0\e,T6i\e(B\e1\e,TR\e(B\e0\e,T7h\e(B\e1\e,TR9M\e(B\e0\e,TBYh\e(B\e1\e,TCPK\e(B\e0\e,TGh\e(B\e1\e,TR'!RC\e(B\e0\e,TJW\e(B\e1\e,T:\e(B\e0\e,T$i\e(B\e1\e,T9a::\e(B incremental \e,TM\e(B\e0\e,TBYh\e(B\e1, \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG\e(B\e0\e,T7h\e(B\e1\e,TR9!4\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B <Delete>, \e0\e,T7h\e(B\e1\e,TR9(P\e(B
-\e0\e,TJQ\e(B\e1\e,T'`!5`\e(B\e0\e,TKg\e(B\e1\e,T9\e(B\e0\e,TGh\e(B\e1\e,TR\e(B\e0\e,T5Q\e(B\e1\e,TG\e(B\e0\e,TMQ\e(B\e1\e,T!IC\e(B\e0\e,TJX\e(B\e1\e,T4\e(B\e0\e,T7i\e(B\e1\e,TRB\e(B\e0\e,T7Uh\e(B\e1\e0\e,T7h\e(B\e1\e,TR9\e(B\e0\e,T;i\e(B\e1\e,TM9`\e(B\e0\e,T"i\e(B\e1\e,TRd;\e(B\e0\e,T9Qi\e(B\e1\e,T9\e(B\e0\e,T6Y\e(B\e1\e,T!E:MM!\e(B, \e,TaEP(P\e(B\e0\e,TBi\e(B\e1\e,TM9!\e(B\e0\e,TEQ\e(B\e1\e,T:d;\e(B\e0\e,TBQ\e(B\e1\e,T'5SaK\e(B\e0\e,T9h\e(B\e1\e,T'\e(B
-\e0\e,T!h\e(B\e1\e,TM9K\e(B\e0\e,T9i\e(B\e1\e,TR"M'!RC\e(B\e0\e,TJW\e(B\e1\e,T:\e(B\e0\e,T$i\e(B\e1\e,T9\e(B. \e0\e,T5Q\e(B\e1\e,TGM\e(B\e0\e,TBh\e(B\e1\e,TR'`\e(B\e0\e,T*h\e(B\e1\e,T9\e(B, \e,TJA\e(B\e0\e,TAX\e(B\e1\e0\e,T5T\e(B\e1\e0\e,TGh\e(B\e1\e,TR\e(B\e0\e,T7h\e(B\e1\e,TR9d\e(B\e0\e,T4i\e(B\e1\e0\e,T;i\e(B\e1\e,TM9\e(B\e0\e,T5Q\e(B\e1\e,TG\e(B\e0\e,TMQ\e(B\e1\e,T!IC\e(B "c", \e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TM\e(B\e0\e,T7Uh\e(B\e1\e,T(P\e(B\e0\e,TJW\e(B\e1\e,T:\e(B\e0\e,T$i\e(B\e1\e,T9\e(B
-\e,T5SaK\e(B\e0\e,T9h\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e,T;CR!/\e(B\e0\e,T5Q\e(B\e1\e,TG\e(B\e0\e,TMQ\e(B\e1\e,T!IC\e(B "c" \e0\e,T9Qi\e(B\e1\e,T9\e(B. \e,T5M9\e(B\e0\e,T9Ui\e(B\e1\e0\e,T6i\e(B\e1\e,TR\e(B\e0\e,T7h\e(B\e1\e,TR9\e(B\e0\e,T>T\e(B\e1\e,TA\e(B\e0\e,T>l\e(B\e1\e0\e,T5Q\e(B\e1\e,TG\e(B\e0\e,TMQ\e(B\e1\e,T!IC\e(B "u", \e,T`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1\e0\e,T!g\e(B\e1\e,T(P\e(B
-\e,T`$\e(B\e0\e,TEWh\e(B\e1\e,TM9d;M\e(B\e0\e,TBYh\e(B\e1\e0\e,T7Uh\e(B\e1\e,T5SaK\e(B\e0\e,T9h\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e,T;CR!/JRB\e(B\e0\e,TMQ\e(B\e1\e,T!"CP\e(B "cu" \e,TaC!\e(B\e0\e,TJX\e(B\e1\e,T4\e(B. \e,T5M9\e(B\e0\e,T9Ui\e(B\e1\e,Tc\e(B\e0\e,TKi\e(B\e1\e,T!4\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B <Delete>.
-\e0\e,T5Q\e(B\e1\e,TG\e(B\e0\e,TMQ\e(B\e1\e,T!IC\e(B "u" \e,T(P\e(B\e0\e,T6Y\e(B\e1\e,T!E:MM!(R!JRB\e(B\e0\e,TMQ\e(B\e1\e,T!"CP\e(B\e0\e,T7Uh\e(B\e1\e,T7S!RC\e(B\e0\e,TJW\e(B\e1\e,T:\e(B\e0\e,T$i\e(B\e1\e,T9M\e(B\e0\e,TBYh\e(B\e1, \e,TaEP`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1\e0\e,T!g\e(B\e1\e,T(P`$\e(B\e0\e,TEWh\e(B\e1\e,TM9\e(B
-\e,T!\e(B\e0\e,TEQ\e(B\e1\e,T:d;\e(B\e0\e,TBQ\e(B\e1\e,T'5SaK\e(B\e0\e,T9h\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e,T;CR!/\e(B\e0\e,T5Q\e(B\e1\e,TG\e(B\e0\e,TMQ\e(B\e1\e,T!IC\e(B "c" \e,TaC!\e(B\e0\e,TJX\e(B\e1\e,T4\e(B.
-
-\e0\e,T6i\e(B\e1\e,TR\e(B\e0\e,T7h\e(B\e1\e,TR9M\e(B\e0\e,TBYh\e(B\e1\e,TCPK\e(B\e0\e,TGh\e(B\e1\e,TR'!RC\e(B\e0\e,TJW\e(B\e1\e,T:\e(B\e0\e,T$i\e(B\e1\e,T9\e(B, \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG\e(B\e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T';CPJA"M'\e(B CONTROL \e,TK\e(B\e0\e,TCW\e(B\e1\e,TM\e(B META (\e,T9M!(R!\e(B
-\e0\e,T"i\e(B\e1\e,TMB!`\e(B\e0\e,TGi\e(B\e1\e,T9:R';CP!RC\e(B--\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T>T\e(B\e1\e,T`HI\e(B\e0\e,T7Uh\e(B\e1\e,Tc\e(B\e0\e,T*i\e(B\e1\e,TJSK\e(B\e0\e,TCQ\e(B\e1\e,T:!RC\e(B\e0\e,TJW\e(B\e1\e,T:\e(B\e0\e,T$i\e(B\e1\e,T9\e(B, \e,Td\e(B\e0\e,T4i\e(B\e1\e,Ta\e(B\e0\e,T!h\e(B\e1 C-s \e,TaEP\e(B C-r), \e,T!RC\e(B\e0\e,TJW\e(B\e1\e,T:\e(B
-\e0\e,T$i\e(B\e1\e,T9(P\e(B\e0\e,TJTi\e(B\e1\e,T9\e(B\e0\e,TJX\e(B\e1\e,T4E'\e(B.
-
-\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-s \e,T`\e(B\e0\e,TCTh\e(B\e1\e,TA!RC\e(B\e0\e,TJW\e(B\e1\e,T:\e(B\e0\e,T$i\e(B\e1\e,T9\e(B\e0\e,T4i\e(B\e1\e,TGB!RCAM'KRJRB\e(B\e0\e,TMQ\e(B\e1\e,T!"CP\e(B\e0\e,T5Qi\e(B\e1\e,T'a\e(B\e0\e,T5h\e(B\e1\e,T5SaK\e(B\e0\e,T9h\e(B\e1\e,T'\e(B\e0\e,T;Q\e(B\e1\e,T(\e(B\e0\e,T(X\e(B\e1\e0\e,T:Q\e(B\e1\e,T9"M'`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1.
-\e0\e,T6i\e(B\e1\e,TR\e(B\e0\e,T7h\e(B\e1\e,TR9\e(B\e0\e,T5i\e(B\e1\e,TM'!RC\e(B\e0\e,TJW\e(B\e1\e,T:\e(B\e0\e,T$i\e(B\e1\e,T9JRB\e(B\e0\e,TMQ\e(B\e1\e,T!"CP\e(B\e0\e,T7Uh\e(B\e1\e,TM\e(B\e0\e,TBYh\e(B\e1\e0\e,T!h\e(B\e1\e,TM9K\e(B\e0\e,T9i\e(B\e1\e,TRc9\e(B\e0\e,T"i\e(B\e1\e,TM$GRA\e(B\e0\e,T9Qi\e(B\e1\e,T9\e(B, \e,Tc\e(B\e0\e,TKi\e(B\e1\e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-r \e,Ta79\e(B.
-\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-s \e,T(P7S'R9`K\e(B\e0\e,TAW\e(B\e1\e,TM9\e(B\e0\e,T!Q\e(B\e1\e,T:$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-r \e0\e,T7X\e(B\e1\e,T!M\e(B\e0\e,TBh\e(B\e1\e,TR'\e(B, \e,TB!`\e(B\e0\e,TGi\e(B\e1\e,T9\e(B\e0\e,T7T\e(B\e1\e,TH7R'"M'!RC\e(B\e0\e,TJW\e(B\e1\e,T:\e(B\e0\e,T$i\e(B\e1\e,T9\e(B
-\e,T`\e(B\e0\e,T7h\e(B\e1\e,TR\e(B\e0\e,T9Qi\e(B\e1\e,T9\e(B, \e0\e,T7Uh\e(B\e1\e,T5C'\e(B\e0\e,T"i\e(B\e1\e,TRA\e(B\e0\e,T!Q\e(B\e1\e,T9\e(B.
-
-
-* \e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1\e,Ta::KERB\e(B\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1 (multiple windows)
+\e0\e,TMU\e1aA!\e0Jl\e1JRARC6\e0JW\e1:\e0$i\e19JRB\e0MQ\e1!"CP\e(B (\e,T!\e0EXh\e1A"M'\e05Q\e1G\e0MQ\e1!ICK\e0CW\e1M$S\e07Uh\e1M\e0BYh\e1\e05h\e1M`\e09Wh\e1M'\e0!Q\e19\e(B) \e,Td\e0Ah\e1\e0Gh\e1R(Pd;\e(B
+\e0\e,T"i\e1R'K\e09i\e1RK\e0CW\e1M\e0Bi\e1M9!\e0EQ\e1:\e(B, \e0\e,T7Qh\e1G\e07Qi\e1'\e0"i\e1M$GRA\e(B. \e,T!RC\e0JW\e1:\e0$i\e19JRB\e0MQ\e1!"CP\e0$W\e1M$S\e0JQh\e1'c9!RC`$\e0EWh\e1M95SaK\e09h\e1'\e(B
+\e,T"M'`$M\e0Cl\e1`+M\e0Cl\e1\e(B; \e,T`$M\e0Cl\e1`+M\e0Cl\e1(P`$\e0EWh\e1M9d;M\e0BYh\e1\e07Uh\e15SaK\e09h\e1'\e06Q\e14d;\e07Uh\e1\e0AU\e1JRB\e0MQ\e1!"CP\e09Qi\e19M\e0BYh\e1\e(B.
+
+\e,T$S\e0JQh\e1'\e0JW\e1:\e0$i\e19c9\e0MU\e1aA!\e0Jl\e1\e05h\e1R'(R!$S\e0JQh\e1'\e0JW\e1:\e0$i\e19c9b;Ca!CA:CC3R\e08T\e1!C\e03l\e1\e(B (editor) \e0\e,TJh\e1G9cK\e0-h\e1\e(B\e,Tc9\e(B
+\e0\e,TEQ\e1!I3P\e07Uh\e1`\e0;g\e19\e(B "incremental". \e0\e,T9Uh\e1KARB$GRA\e0Gh\e1R!RC\e0JW\e1:\e0$i\e19`\e0CTh\e1A\e05Qi\e1'a\e05h\e1\e07Uh\e1\e07h\e1R9d\e04i\e1\e0;i\e1M9\e0MQ\e1!"CP\e07Uh\e1\e(B
+\e0\e,T5i\e1M'!RC\e0JW\e1:\e0$i\e19\e(B.
+
+\e,T$S\e0JQh\e1'\e07Uh\e1c\e0*i\e1`\e0>Wh\e1Mc\e0Ki\e17S!RC\e0JW\e1:\e0$i\e19d;\e0"i\e1R'K\e09i\e1R\e0$W\e1M\e(B C-s, \e,TaEP7S!RC\e0JW\e1:\e0$i\e19\e0Bi\e1M9d;\e0"i\e1R'K\e0EQ\e1'\e0$W\e1M\e(B
+C-r. \e,Ta\e05h\e1$MB\e0!h\e1M9\e(B! \e,TM\e0Bh\e1R`\e0>Th\e1'EM'\e(B.
+
+\e,T`\e0AWh\e1M\e07h\e1R9\e0;i\e1M9$S\e0JQh\e1'\e(B C-s \e0\e,T7h\e1R9(P\e0JQ\e1'`!5`\e0Kg\e19\e0Gh\e1R\e0AU\e1$S\e0Gh\e1R\e(B "I-search" \e,T;CR!/\e07Uh\e1:\e0CT\e1`G3JP\e07i\e1M9\e(B
+(echo area). \e0\e,T9Uh\e1aJ4'\e0Gh\e1R\e0MU\e1aA!\e0Jl\e1d\e04i\e1M\e0BYh\e1c9!RC\e0$i\e19a::\e(B incremental \e,TaEP!S\e0EQ\e1'CM\e(B
+\e0\e,TJTh\e1'\e07Uh\e1\e07h\e1R9(P\e0>T\e1A\e0>l\e1`\e0>Wh\e1M\e0JW\e1:\e0$i\e19\e(B. \e,T!4\e0;Xh\e1A\e(B <Return> \e,T`\e0>Wh\e1M\e0JTi\e19\e0JX\e14$S\e0JQh\e1'\e0JW\e1:\e0$i\e19\e(B.
+
+>> \e0\e,T;i\e1M9$S\e0JQh\e1'\e(B C-s \e,T`\e0>Wh\e1M`\e0CTh\e1A!RC\e0JW\e1:\e0$i\e19\e(B. \e0\e,T>T\e1A\e0>l\e1\e0MQ\e1!IC\e07U\e1EP\e05Q\e1G\e0*i\e1Rf\e(B, \e0\e,T>T\e1A\e0>l\e1$S\e0Gh\e1R\e(B 'cursor',
+   \e,TK\e0BX\e14K\e0EQ\e1'(R!\e07Uh\e1\e07h\e1R9\e0>T\e1A\e0>l\e1\e07U\e1EP\e05Q\e1G\e0MQ\e1!IC\e(B, \e,Ta\e0Ei\e1G\e04Y\e1\e0Gh\e1R\e0AU\e1MPdC`\e0!T\e14\e0"Vi\e19\e0!Q\e1:`$M\e0Cl\e1`+M\e0Cl\e1\e(B.
+   \e,T"3P\e09Ui\e1\e07h\e1R9d\e04i\e1\e0JW\e1:\e0$i\e19$S\e0Gh\e1R\e(B "cursor" \e,Td;K\e09Vh\e1'K9a\e0Ei\e1G\e(B.
+>> \e0\e,T;i\e1M9$S\e0JQh\e1'\e(B C-s \e0\e,TMU\e1!$\e0CQi\e1'\e(B, \e,T`\e0>Wh\e1M\e0JW\e1:\e0$i\e195SaK\e09h\e1'\e06Q\e14d;"M'$S\e0Gh\e1R\e(B "cursor".
+>> \e,T!4\e0;Xh\e1A\e(B <Delete> \e0\e,TJQ\e1!\e0JUh\e1$\e0CQi\e1'\e(B, \e,Ta\e0Ei\e1G\e04Y\e1\e0Gh\e1R`$M\e0Cl\e1`+M\e0Cl\e1`$\e0EWh\e1M9\e07Uh\e1M\e0Bh\e1R'dC\e(B.
+>> \e,T!4\e0;Xh\e1A\e(B <Return> \e,T`\e0>Wh\e1M\e0JTi\e19\e0JX\e14$S\e0JQh\e1'\e0JW\e1:\e0$i\e19\e(B.
+
+\e0\e,T7h\e1R9`\e0Kg\e19K\e0CW\e1Md\e0Ah\e1\e0Gh\e1R\e0AU\e1MPdC`\e0!T\e14\e0"Vi\e19\e(B? \e,Tc9!RC\e0JW\e1:\e0$i\e19a::\e(B incremental, \e0\e,TMU\e1aA!\e0Jl\e1>BRBRA\e(B
+\e,T`$\e0EWh\e1M9d;5RAJRB\e0MQ\e1!"CP\e07Uh\e1\e07h\e1R9d\e04i\e1\e0>T\e1A\e0>l\e1E'd;c9a\e05h\e1EP$\e0CQi\e1'\e(B. \e0\e,T6i\e1R(P`$\e0EWh\e1M9d;\e0BQ\e1'5SaK\e09h\e1'\e(B
+\e0\e,T6Q\e14d;"M'$S\e(B, \e0\e,T!g\e17Sd\e04i\e1b4B!RC\e0;i\e1M9$S\e0JQh\e1'\e(B C-s \e0\e,TMU\e1!$\e0CQi\e1'\e(B. \e0\e,T6i\e1Rd\e0Ah\e1\e0AU\e1$S\e09Qi\e19\e0MU\e1!a\e0Ei\e1G\e(B, \e0\e,TMU\e1aA!\e0Jl\e1(P\e0Ci\e1M'\e(B
+\e,T:M!\e(B (beep) \e0\e,T7h\e1R9\e0Gh\e1R!RC\e0JW\e1:\e0$i\e19$\e0CQi\e1'\e09Qi\e19\e(B "\e,T>ER4\e(B (failing)", \e,T$S\e0JQh\e1'\e(B C-g \e0\e,T!g\e1JRARC6c\e0*i\e1c9\e(B
+\e,T!RC\e0JTi\e19\e0JX\e14!RC\e0JW\e1:\e0$i\e19d\e04i\e1\e(B.
+
+\e0\e,T"i\e1M\e0JQ\e1'`!5\e(B: \e,Tc9:R'CP::\e(B, \e,T!RC\e0;i\e1M9$S\e0JQh\e1'\e(B C-s \e,T(P7Sc\e0Ki\e1CP::"M'\e07h\e1R9*P\e0'Q\e1!aEP\e07h\e1R9(Pd\e0Ah\e1`\e0Kg\e19\e(B
+\e0\e,T"i\e1M$GRAMPdC:9\e0MU\e1aA!\e0Jl\e1\e(B. \e0\e,TEQ\e1!I3P\e09Ui\e1aJ4'\e0Gh\e1R\e(B "feature" \e,T"M'CP::;\e0/T\e1\e0:Q\e1\e05T\e1!RC\e(B, \e0\e,T7Uh\e1`\e0CU\e1B!\e0Gh\e1R\e(B
+"flow control" \e0\e,T9Qi\e19\e(B, \e,Td\e04i\e1\e0"Q\e14"GR'!RC7S'R9"M'$S\e0JQh\e1'\e(B C-s \e,TaEPd\e0Ah\e1BMAc\e0Ki\e1!\e0EQ\e1:\e0JYh\e1\e0MU\e1aA!\e0Jl\e1\e(B
+\e0\e,TMU\e1!\e(B. \e,T!RC\e07Uh\e1(Pa\e0!i\e1d"!RCK\e0BX\e14*P\e0'Q\e1!\e09Qi\e19\e(B, \e,Tc\e0Ki\e1\e0;i\e1M9$S\e0JQh\e1'\e(B C-q. \e0\e,THV\e1!IR\e0GT\e1\e08U\e1!RC\e0(Q\e14!RC\e0!Q\e1:\e(B "feature"
+\e0\e,T9Ui\e1d\e04i\e1\e07Uh\e1:7\e07Uh\e1\e0Gh\e1R\e04i\e1GB\e(B "Spontaneous Entry to Incremental Search" \e,Tc9\e0$Yh\e1\e0AW\e1M"M'\e0MU\e1aA!\e0Jl\e1\e(B.
+
+\e0\e,T6i\e1R\e07h\e1R9M\e0BYh\e1CPK\e0Gh\e1R'!RC\e0JW\e1:\e0$i\e19a::\e(B incremental \e,TM\e0BYh\e1\e(B, \e,Ta\e0Ei\e1G\e07h\e1R9!4\e0;Xh\e1A\e(B <Delete>, \e0\e,T7h\e1R9(P\e(B
+\e0\e,TJQ\e1'`!5`\e0Kg\e19\e0Gh\e1R\e05Q\e1G\e0MQ\e1!IC\e0JX\e14\e07i\e1RB\e07Uh\e1\e07h\e1R9\e0;i\e1M9`\e0"i\e1Rd;\e09Qi\e19\e06Y\e1!E:MM!\e(B, \e,TaEP(P\e0Bi\e1M9!\e0EQ\e1:d;\e0BQ\e1'5SaK\e09h\e1'\e(B
+\e0\e,T!h\e1M9K\e09i\e1R"M'!RC\e0JW\e1:\e0$i\e19\e(B. \e0\e,T5Q\e1GM\e0Bh\e1R'`\e0*h\e19\e(B, \e,TJA\e0AX\e1\e05T\e1\e0Gh\e1R\e07h\e1R9d\e04i\e1\e0;i\e1M9\e05Q\e1G\e0MQ\e1!IC\e(B "c", \e,T`\e0>Wh\e1M\e07Uh\e1(P\e0JW\e1:\e0$i\e19\e(B
+\e,T5SaK\e09h\e1'\e07Uh\e1;CR!/\e05Q\e1G\e0MQ\e1!IC\e(B "c" \e0\e,T9Qi\e19\e(B. \e,T5M9\e09Ui\e1\e06i\e1R\e07h\e1R9\e0>T\e1A\e0>l\e1\e05Q\e1G\e0MQ\e1!IC\e(B "u", \e,T`$M\e0Cl\e1`+M\e0Cl\e1\e0!g\e1(P\e(B
+\e,T`$\e0EWh\e1M9d;M\e0BYh\e1\e07Uh\e15SaK\e09h\e1'\e07Uh\e1;CR!/JRB\e0MQ\e1!"CP\e(B "cu" \e,TaC!\e0JX\e14\e(B. \e,T5M9\e09Ui\e1c\e0Ki\e1!4\e0;Xh\e1A\e(B <Delete>.
+\e0\e,T5Q\e1G\e0MQ\e1!IC\e(B "u" \e,T(P\e06Y\e1!E:MM!(R!JRB\e0MQ\e1!"CP\e07Uh\e17S!RC\e0JW\e1:\e0$i\e19M\e0BYh\e1\e(B, \e,TaEP`$M\e0Cl\e1`+M\e0Cl\e1\e0!g\e1(P`$\e0EWh\e1M9\e(B
+\e,T!\e0EQ\e1:d;\e0BQ\e1'5SaK\e09h\e1'\e07Uh\e1;CR!/\e05Q\e1G\e0MQ\e1!IC\e(B "c" \e,TaC!\e0JX\e14\e(B.
+
+\e0\e,T6i\e1R\e07h\e1R9M\e0BYh\e1CPK\e0Gh\e1R'!RC\e0JW\e1:\e0$i\e19\e(B, \e,Ta\e0Ei\e1G\e0;i\e1M9$S\e0JQh\e1';CPJA"M'\e(B CONTROL \e,TK\e0CW\e1M\e(B META (\e,T9M!(R!\e(B
+\e0\e,T"i\e1MB!`\e0Gi\e19:R';CP!RC\e(B--\e,T$S\e0JQh\e1'\e0>T\e1`HI\e07Uh\e1c\e0*i\e1JSK\e0CQ\e1:!RC\e0JW\e1:\e0$i\e19\e(B, \e,Td\e04i\e1a\e0!h\e1\e(B C-s \e,TaEP\e(B C-r), \e,T!RC\e0JW\e1:\e(B
+\e0\e,T$i\e19(P\e0JTi\e19\e0JX\e14E'\e(B.
+
+\e,T$S\e0JQh\e1'\e(B C-s \e,T`\e0CTh\e1A!RC\e0JW\e1:\e0$i\e19\e04i\e1GB!RCAM'KRJRB\e0MQ\e1!"CP\e05Qi\e1'a\e05h\e15SaK\e09h\e1'\e0;Q\e1(\e0(X\e1\e0:Q\e19"M'`$M\e0Cl\e1`+M\e0Cl\e1\e(B.
+\e0\e,T6i\e1R\e07h\e1R9\e05i\e1M'!RC\e0JW\e1:\e0$i\e19JRB\e0MQ\e1!"CP\e07Uh\e1M\e0BYh\e1\e0!h\e1M9K\e09i\e1Rc9\e0"i\e1M$GRA\e09Qi\e19\e(B, \e,Tc\e0Ki\e1\e0;i\e1M9$S\e0JQh\e1'\e(B C-r \e,Ta79\e(B.
+\e,T$S\e0JQh\e1'\e(B C-s \e,T(P7S'R9`K\e0AW\e1M9\e0!Q\e1:$S\e0JQh\e1'\e(B C-r \e0\e,T7X\e1!M\e0Bh\e1R'\e(B, \e,TB!`\e0Gi\e19\e07T\e1H7R'"M'!RC\e0JW\e1:\e0$i\e19\e(B
+\e,T`\e07h\e1R\e09Qi\e19\e(B, \e0\e,T7Uh\e15C'\e0"i\e1RA\e0!Q\e19\e(B.
+
+
+* \e0\e,TGT\e19b4\e0Gl\e1a::KERB\e0GT\e19b4\e0Gl\e1\e(B (multiple windows)
 --------------------------------------
 
-\e0\e,TEQ\e(B\e1\e,T!I3P\e(B\e0\e,T7Uh\e(B\e1\e0\e,T9h\e(B\e1\e,TRJ9c(\e(B\e0\e,TMQ\e(B\e1\e,T9K\e(B\e0\e,T9Vh\e(B\e1\e,T'"M'\e(B\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e0\e,T!g\e(B\e1\e0\e,T$W\e(B\e1\e,TM\e(B, \e0\e,T7h\e(B\e1\e,TR9JRARC6aJ4'<Ed\e(B\e0\e,T4i\e(B\e1\e,TAR!!\e(B\e0\e,TGh\e(B\e1\e,TRK\e(B\e0\e,T9Vh\e(B\e1\e,T'\e(B\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1\e,T:9K\e(B\e0\e,T9Vh\e(B\e1\e,T'\e(B
-\e,TK\e(B\e0\e,T9i\e(B\e1\e,TR(Mc9`GER`\e(B\e0\e,T4U\e(B\e1\e,TBG\e(B\e0\e,T!Q\e(B\e1\e,T9\e(B.
+\e0\e,TEQ\e1!I3P\e07Uh\e1\e09h\e1RJ9c(\e0MQ\e19K\e09Vh\e1'"M'\e0MU\e1aA!\e0Jl\e1\e0!g\e1\e0$W\e1M\e(B, \e0\e,T7h\e1R9JRARC6aJ4'<Ed\e04i\e1AR!!\e0Gh\e1RK\e09Vh\e1'\e0GT\e19b4\e0Gl\e1:9K\e09Vh\e1'\e(B
+\e,TK\e09i\e1R(Mc9`GER`\e04U\e1BG\e0!Q\e19\e(B.
 
->> \e,T`$\e(B\e0\e,TEWh\e(B\e1\e,TM9`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1\e,TAR\e(B\e0\e,T7Uh\e(B\e1\e,T:CC\e(B\e0\e,T7Q\e(B\e1\e,T4\e(B\e0\e,T9Ui\e(B\e1, \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG\e(B\e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-u 0 C-l.
+>> \e,T`$\e0EWh\e1M9`$M\e0Cl\e1`+M\e0Cl\e1AR\e07Uh\e1:CC\e07Q\e14\e09Ui\e1\e(B, \e,Ta\e0Ei\e1G\e0;i\e1M9$S\e0JQh\e1'\e(B C-u 0 C-l.
 
->> \e0\e,T5h\e(B\e1\e,TMd;\e(B, \e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-x 2 \e0\e,T+Vh\e(B\e1\e,T'(Pa\e(B\e0\e,T:h\e(B\e1\e,T'K\e(B\e0\e,T9i\e(B\e1\e,TR(MMM!`\e(B\e0\e,T;g\e(B\e1\e,T9JM'\e(B\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1.
-   \e0\e,T7Qi\e(B\e1\e,T'JM'\e(B\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1\e,TaJ4'\e(B\e0\e,T$Yh\e(B\e1\e0\e,TAW\e(B\e1\e,TM!RCc\e(B\e0\e,T*i\e(B\e1\e0\e,T9Ui\e(B\e1. \e,T`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1\e,T;CR!/M\e(B\e0\e,TBYh\e(B\e1\e,Tc9\e(B\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1\e,T:9\e(B.
+>> \e0\e,T5h\e1Md;\e(B, \e0\e,T;i\e1M9$S\e0JQh\e1'\e(B C-x 2 \e0\e,T+Vh\e1'(Pa\e0:h\e1'K\e09i\e1R(MMM!`\e0;g\e19JM'\e0GT\e19b4\e0Gl\e1\e(B.
+   \e0\e,T7Qi\e1'JM'\e0GT\e19b4\e0Gl\e1aJ4'\e0$Yh\e1\e0AW\e1M!RCc\e0*i\e1\e09Ui\e1\e(B. \e,T`$M\e0Cl\e1`+M\e0Cl\e1;CR!/M\e0BYh\e1c9\e0GT\e19b4\e0Gl\e1:9\e(B.
 
->> \e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-M-v \e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TM`$\e(B\e0\e,TEWh\e(B\e1\e,TM9\e(B\e0\e,TAi\e(B\e1\e,TG9\e(B\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1\e0\e,T"i\e(B\e1\e,TR'\e(B\e0\e,TEh\e(B\e1\e,TR'\e(B.
-   (\e0\e,T6i\e(B\e1\e,TR\e(B\e0\e,T7h\e(B\e1\e,TR9d\e(B\e0\e,TAh\e(B\e1\e0\e,TAU\e(B\e1\e0\e,T;Xh\e(B\e1\e,TA\e(B META, \e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B ESC C-v \e,Ta79\e(B.)
+>> \e0\e,T;i\e1M9$S\e0JQh\e1'\e(B C-M-v \e,T`\e0>Wh\e1M`$\e0EWh\e1M9\e0Ai\e1G9\e0GT\e19b4\e0Gl\e1\e0"i\e1R'\e0Eh\e1R'\e(B.
+   (\e0\e,T6i\e1R\e07h\e1R9d\e0Ah\e1\e0AU\e1\e0;Xh\e1A\e(B META, \e0\e,T;i\e1M9$S\e0JQh\e1'\e(B ESC C-v \e,Ta79\e(B.)
 
->> \e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-x o ("o" \e,TKARB\e(B\e0\e,T6V\e(B\e1\e,T'\e(B "other") \e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TM`$\e(B\e0\e,TEWh\e(B\e1\e,TM9`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1\e,TAR\e(B\e0\e,TBQ\e(B\e1\e,T'\e(B\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1\e0\e,TEh\e(B\e1\e,TR'\e(B.
->> \e,Tc\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-v \e,TaEP\e(B M-v \e,Tc9\e(B\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1\e0\e,TEh\e(B\e1\e,TR'`\e(B\e0\e,T>Wh\e(B\e1\e,TM\e(B\e0\e,T7Uh\e(B\e1\e,T(P`$\e(B\e0\e,TEWh\e(B\e1\e,TM9\e(B\e0\e,TAi\e(B\e1\e,TG9\e(B.
-   \e0\e,TMh\e(B\e1\e,TR9$Sa9P9S\e(B\e0\e,T9Ui\e(B\e1\e0\e,T4i\e(B\e1\e,TGB\e(B\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1\e,T:9\e(B.
+>> \e0\e,T;i\e1M9$S\e0JQh\e1'\e(B C-x o ("o" \e,TKARB\e06V\e1'\e(B "other") \e,T`\e0>Wh\e1M`$\e0EWh\e1M9`$M\e0Cl\e1`+M\e0Cl\e1AR\e0BQ\e1'\e0GT\e19b4\e0Gl\e1\e0Eh\e1R'\e(B.
+>> \e,Tc\e0*i\e1$S\e0JQh\e1'\e(B C-v \e,TaEP\e(B M-v \e,Tc9\e0GT\e19b4\e0Gl\e1\e0Eh\e1R'`\e0>Wh\e1M\e07Uh\e1(P`$\e0EWh\e1M9\e0Ai\e1G9\e(B.
+   \e0\e,TMh\e1R9$Sa9P9S\e09Ui\e1\e04i\e1GB\e0GT\e19b4\e0Gl\e1:9\e(B.
 
->> \e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-x o \e0\e,TMU\e(B\e1\e,T!$\e(B\e0\e,TCQi\e(B\e1\e,T'`\e(B\e0\e,T>Wh\e(B\e1\e,TM\e(B\e0\e,T7Uh\e(B\e1\e,T(P`$\e(B\e0\e,TEWh\e(B\e1\e,TM9`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1\e,T!\e(B\e0\e,TEQ\e(B\e1\e,T:d;\e(B\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1\e,T:9\e(B.
-   \e,T`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1\e,Tc9\e(B\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1\e,T:9(P;CR!/5C'\e(B\e0\e,T7Uh\e(B\e1\e0\e,T7Uh\e(B\e1\e,T`$B;CR!/\e(B.
+>> \e0\e,T;i\e1M9$S\e0JQh\e1'\e(B C-x o \e0\e,TMU\e1!$\e0CQi\e1'`\e0>Wh\e1M\e07Uh\e1(P`$\e0EWh\e1M9`$M\e0Cl\e1`+M\e0Cl\e1!\e0EQ\e1:d;\e0GT\e19b4\e0Gl\e1:9\e(B.
+   \e,T`$M\e0Cl\e1`+M\e0Cl\e1c9\e0GT\e19b4\e0Gl\e1:9(P;CR!/5C'\e07Uh\e1\e07Uh\e1`$B;CR!/\e(B.
 
-\e0\e,T7h\e(B\e1\e,TR9JRARC6c\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-x o \e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TMJ\e(B\e0\e,TEQ\e(B\e1\e,T:d;ARCPK\e(B\e0\e,TGh\e(B\e1\e,TR'\e(B\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1. \e,Ta\e(B\e0\e,T5h\e(B\e1\e,TEP\e(B\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1\e0\e,TAU\e(B\e1\e,T5SaK\e(B\e0\e,T9h\e(B\e1\e,T'"M'\e(B
-\e,T`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1\e,T"M'\e(B\e0\e,T5Q\e(B\e1\e,TG`M'\e(B, \e,Ta\e(B\e0\e,T5h\e(B\e1\e,T(P\e(B\e0\e,TAU\e(B\e1\e,T`\e(B\e0\e,T>U\e(B\e1\e,TB'\e(B\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1\e,T`\e(B\e0\e,T4U\e(B\e1\e,TBG`\e(B\e0\e,T7h\e(B\e1\e,TR\e(B\e0\e,T9Qi\e(B\e1\e,T9\e(B\e0\e,T7Uh\e(B\e1\e,TaJ4'\e(B\e0\e,T5Q\e(B\e1\e,TG`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1. \e0\e,T7X\e(B\e1\e,T!$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T!g\e(B\e1\e,T(P\e(B
-\e0\e,TAU\e(B\e1\e,T<E\e(B\e0\e,T5h\e(B\e1\e,TM\e(B\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1\e0\e,T7Uh\e(B\e1\e0\e,TAU\e(B\e1\e,T`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1\e,T;CR!/M\e(B\e0\e,TBYh\e(B\e1\e,T`\e(B\e0\e,T7h\e(B\e1\e,TR\e(B\e0\e,T9Qi\e(B\e1\e,T9\e(B. \e,T`CR`\e(B\e0\e,TCU\e(B\e1\e,TB!\e(B\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1\e0\e,T9Ui\e(B\e1\e0\e,TGh\e(B\e1\e,TR\e(B "\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1\e0\e,T7Uh\e(B\e1\e0\e,T6Y\e(B\e1\e,T!`\e(B\e0\e,TEW\e(B\e1\e,TM!\e(B 
+\e0\e,T7h\e1R9JRARC6c\e0*i\e1$S\e0JQh\e1'\e(B C-x o \e,T`\e0>Wh\e1MJ\e0EQ\e1:d;ARCPK\e0Gh\e1R'\e0GT\e19b4\e0Gl\e1\e(B. \e,Ta\e05h\e1EP\e0GT\e19b4\e0Gl\e1\e0AU\e15SaK\e09h\e1'"M'\e(B
+\e,T`$M\e0Cl\e1`+M\e0Cl\e1"M'\e05Q\e1G`M'\e(B, \e,Ta\e05h\e1(P\e0AU\e1`\e0>U\e1B'\e0GT\e19b4\e0Gl\e1`\e04U\e1BG`\e07h\e1R\e09Qi\e19\e07Uh\e1aJ4'\e05Q\e1G`$M\e0Cl\e1`+M\e0Cl\e1\e(B. \e0\e,T7X\e1!$S\e0JQh\e1'\e0!g\e1(P\e(B
+\e0\e,TAU\e1<E\e05h\e1M\e0GT\e19b4\e0Gl\e1\e07Uh\e1\e0AU\e1`$M\e0Cl\e1`+M\e0Cl\e1;CR!/M\e0BYh\e1`\e07h\e1R\e09Qi\e19\e(B. \e,T`CR`\e0CU\e1B!\e0GT\e19b4\e0Gl\e1\e09Ui\e1\e0Gh\e1R\e(B "\e0\e,TGT\e19b4\e0Gl\e1\e07Uh\e1\e06Y\e1!`\e0EW\e1M!\e(B
 (selected window)".
 
-\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-M-v \e0\e,TAU\e(B\e1\e,T;CPbB*\e(B\e0\e,T9l\e(B\e1\e,TAR!`\e(B\e0\e,TAWh\e(B\e1\e,TM\e(B\e0\e,T7h\e(B\e1\e,TR9!S\e(B\e0\e,TEQ\e(B\e1\e,T'a\e(B\e0\e,T!i\e(B\e1\e,Td"\e(B\e0\e,T"i\e(B\e1\e,TM$GRA:9\e(B\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1\e,TK\e(B\e0\e,T9Vh\e(B\e1\e,T'\e(B, \e,TaEP\e(B\e0\e,T4Y\e(B\e1\e0\e,TMU\e(B\e1\e,T!\e(B\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1\e,TK\e(B\e0\e,T9Vh\e(B\e1\e,T'\e(B
-\e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TM!RC\e(B\e0\e,TMi\e(B\e1\e,TR'\e(B\e0\e,TMT\e(B\e1\e,T'\e(B. \e0\e,T7h\e(B\e1\e,TR9JRARC6c\e(B\e0\e,TKi\e(B\e1\e,T`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1\e,T;CR!/:9\e(B\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1\e0\e,T7Uh\e(B\e1\e0\e,T7h\e(B\e1\e,TR9!S\e(B\e0\e,TEQ\e(B\e1\e,T'a\e(B\e0\e,T!i\e(B\e1\e,Td"M\e(B\e0\e,TBYh\e(B\e1\e,T5EM4`GER\e(B,
-\e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG`$\e(B\e0\e,TEWh\e(B\e1\e,TM95SaK\e(B\e0\e,T9h\e(B\e1\e,T'"M'\e(B\e0\e,TMU\e(B\e1\e,T!\e(B\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1\e,TK\e(B\e0\e,T9Vh\e(B\e1\e,T'\e(B\e0\e,T4i\e(B\e1\e,TGB$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-M-v.
+\e,T$S\e0JQh\e1'\e(B C-M-v \e0\e,TAU\e1;CPbB*\e09l\e1AR!`\e0AWh\e1M\e07h\e1R9!S\e0EQ\e1'a\e0!i\e1d"\e0"i\e1M$GRA:9\e0GT\e19b4\e0Gl\e1K\e09Vh\e1'\e(B, \e,TaEP\e04Y\e1\e0MU\e1!\e0GT\e19b4\e0Gl\e1K\e09Vh\e1'\e(B
+\e,T`\e0>Wh\e1M!RC\e0Mi\e1R'\e0MT\e1'\e(B. \e0\e,T7h\e1R9JRARC6c\e0Ki\e1`$M\e0Cl\e1`+M\e0Cl\e1;CR!/:9\e0GT\e19b4\e0Gl\e1\e07Uh\e1\e07h\e1R9!S\e0EQ\e1'a\e0!i\e1d"M\e0BYh\e15EM4`GER\e(B,
+\e,Ta\e0Ei\e1G`$\e0EWh\e1M95SaK\e09h\e1'"M'\e0MU\e1!\e0GT\e19b4\e0Gl\e1K\e09Vh\e1'\e04i\e1GB$S\e0JQh\e1'\e(B C-M-v.
 
-\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-M-v \e,T`\e(B\e0\e,T;g\e(B\e1\e,T9\e(B\e0\e,T5Q\e(B\e1\e,TGM\e(B\e0\e,TBh\e(B\e1\e,TR'K\e(B\e0\e,T9Vh\e(B\e1\e,T'"M'$S\e(B\e0\e,TJQh\e(B\e1\e,T';CPJA\e(B CONTROL-META. \e0\e,T6i\e(B\e1\e,TR\e(B\e0\e,T7h\e(B\e1\e,TR9\e(B\e0\e,TAU\e(B\e1\e0\e,T;Xh\e(B\e1\e,TA\e(B META,
-\e0\e,T7h\e(B\e1\e,TR9JRARC6\e(B\e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-M-v \e,Tb4B!RC!4\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B CONTROL \e,TaEP\e(B META \e,T"3P\e(B\e0\e,T7Uh\e(B\e1\e,T!4\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B\e0\e,TMQ\e(B\e1\e,T!"CP\e(B
-v. \e,Td\e(B\e0\e,TAh\e(B\e1\e0\e,TGh\e(B\e1\e,TR(P!4\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B CONTROL \e,TK\e(B\e0\e,TCW\e(B\e1\e,TM\e(B META \e0\e,T!h\e(B\e1\e,TM9\e(B\e0\e,T!g\e(B\e1\e,Td\e(B\e0\e,TAh\e(B\e1\e0\e,TAU\e(B\e1\e0\e,T;Q\e(B\e1\e,T-KRMPdC\e(B, \e,T`>CRP\e(B\e0\e,TGh\e(B\e1\e,TR\e(B\e0\e,T7Qi\e(B\e1\e,T'JM'\e(B\e0\e,T;Xh\e(B\e1\e,TA`\e(B\e0\e,T;g\e(B\e1\e,T9\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B
-\e,T"BRB"M'\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B\e0\e,TMQ\e(B\e1\e,T!"CP\e(B\e0\e,T7Uh\e(B\e1\e0\e,T7h\e(B\e1\e,TR9(P!4\e(B.
+\e,T$S\e0JQh\e1'\e(B C-M-v \e,T`\e0;g\e19\e05Q\e1GM\e0Bh\e1R'K\e09Vh\e1'"M'$S\e0JQh\e1';CPJA\e(B CONTROL-META. \e0\e,T6i\e1R\e07h\e1R9\e0AU\e1\e0;Xh\e1A\e(B META,
+\e0\e,T7h\e1R9JRARC6\e0;i\e1M9$S\e0JQh\e1'\e(B C-M-v \e,Tb4B!RC!4\e0;Xh\e1A\e(B CONTROL \e,TaEP\e(B META \e,T"3P\e07Uh\e1!4\e0;Xh\e1A\e0MQ\e1!"CP\e(B
+v. \e,Td\e0Ah\e1\e0Gh\e1R(P!4\e0;Xh\e1A\e(B CONTROL \e,TK\e0CW\e1M\e(B META \e0\e,T!h\e1M9\e0!g\e1d\e0Ah\e1\e0AU\e1\e0;Q\e1-KRMPdC\e(B, \e,T`>CRP\e0Gh\e1R\e07Qi\e1'JM'\e0;Xh\e1A`\e0;g\e19\e0;Xh\e1A\e(B
+\e,T"BRB"M'\e0;Xh\e1A\e0MQ\e1!"CP\e07Uh\e1\e07h\e1R9(P!4\e(B.
 
-\e0\e,T6i\e(B\e1\e,TR\e(B\e0\e,T7h\e(B\e1\e,TR9d\e(B\e0\e,TAh\e(B\e1\e0\e,TAU\e(B\e1\e0\e,T;Xh\e(B\e1\e,TA\e(B META, \e,TaEP\e(B\e0\e,T7h\e(B\e1\e,TR9c\e(B\e0\e,T*i\e(B\e1\e0\e,T;Xh\e(B\e1\e,TA\e(B ESC \e,Ta79\e(B, \e,TES\e(B\e0\e,T4Q\e(B\e1\e,T:"M'!RC!4\e(B\e0\e,T;Xh\e(B\e1\e,TA(P\e(B\e0\e,TAU\e(B\e1\e,T<E\e(B\e0\e,T5h\e(B\e1\e,TM!RC7S'R9\e(B: 
-\e0\e,T7h\e(B\e1\e,TR9\e(B\e0\e,T5i\e(B\e1\e,TM'!4\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B ESC \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG5RA\e(B\e0\e,T4i\e(B\e1\e,TGB$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B CONTROL-v, \e,T`>CRP\e(B\e0\e,TGh\e(B\e1\e,TR$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B CONTROL-ESC v \e,T(Pd\e(B\e0\e,TAh\e(B\e1
-\e,T7S'R9\e(B. \e0\e,T7Qi\e(B\e1\e,T'\e(B\e0\e,T9Ui\e(B\e1\e,T`>CRP\e(B\e0\e,TGh\e(B\e1\e,TR\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B ESC \e,T`\e(B\e0\e,T;g\e(B\e1\e,T9\e(B\e0\e,TMQ\e(B\e1\e,T!"CP\e(B\e0\e,T5Q\e(B\e1\e,TGK\e(B\e0\e,T9Vh\e(B\e1\e,T'\e(B, \e,Td\e(B\e0\e,TAh\e(B\e1\e,Tc\e(B\e0\e,T*h\e(B\e1\e0\e,T;Xh\e(B\e1\e,TA"BRB\e(B.
+\e0\e,T6i\e1R\e07h\e1R9d\e0Ah\e1\e0AU\e1\e0;Xh\e1A\e(B META, \e,TaEP\e07h\e1R9c\e0*i\e1\e0;Xh\e1A\e(B ESC \e,Ta79\e(B, \e,TES\e04Q\e1:"M'!RC!4\e0;Xh\e1A(P\e0AU\e1<E\e05h\e1M!RC7S'R9\e(B:
+\e0\e,T7h\e1R9\e05i\e1M'!4\e0;Xh\e1A\e(B ESC \e,Ta\e0Ei\e1G5RA\e04i\e1GB$S\e0JQh\e1'\e(B CONTROL-v, \e,T`>CRP\e0Gh\e1R$S\e0JQh\e1'\e(B CONTROL-ESC v \e,T(Pd\e0Ah\e1\e(B
+\e,T7S'R9\e(B. \e0\e,T7Qi\e1'\e09Ui\e1`>CRP\e0Gh\e1R\e0;Xh\e1A\e(B ESC \e,T`\e0;g\e19\e0MQ\e1!"CP\e05Q\e1GK\e09Vh\e1'\e(B, \e,Td\e0Ah\e1c\e0*h\e1\e0;Xh\e1A"BRB\e(B.
 
->> \e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-x 1 (\e,Tc9\e(B\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1\e,T:9\e(B) \e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TM!S\e(B\e0\e,T(Q\e(B\e1\e,T4\e(B\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1\e0\e,TEh\e(B\e1\e,TR'\e(B.
+>> \e0\e,T;i\e1M9$S\e0JQh\e1'\e(B C-x 1 (\e,Tc9\e0GT\e19b4\e0Gl\e1:9\e(B) \e,T`\e0>Wh\e1M!S\e0(Q\e14\e0GT\e19b4\e0Gl\e1\e0Eh\e1R'\e(B.
 
-(\e0\e,T6i\e(B\e1\e,TR\e(B\e0\e,T7h\e(B\e1\e,TR9\e(B\e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-x 1 \e,Tc9\e(B\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1\e0\e,TEh\e(B\e1\e,TR'\e(B, \e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1\e,T:9\e(B\e0\e,T!g\e(B\e1\e,T(PKRBd;\e(B. \e0\e,T7h\e(B\e1\e,TR9JRARC6(S\e(B
-\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T9Ui\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1\e,Tb4B\e(B\e0\e,T$T\e(B\e1\e,T4\e(B\e0\e,TGh\e(B\e1\e,TR\e(B "\e,T`K\e(B\e0\e,TEW\e(B\e1\e,TMd\e(B\e0\e,TGi\e(B\e1\e,T`\e(B\e0\e,T>U\e(B\e1\e,TB'K\e(B\e0\e,T9Vh\e(B\e1\e,T'\e(B\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1--\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1\e0\e,T7Uh\e(B\e1\e,TM\e(B\e0\e,TBYh\e(B\e1\e,Tc9"3P\e(B\e0\e,T9Ui\e(B\e1.")
+(\e0\e,T6i\e1R\e07h\e1R9\e0;i\e1M9$S\e0JQh\e1'\e(B C-x 1 \e,Tc9\e0GT\e19b4\e0Gl\e1\e0Eh\e1R'\e(B, \e0\e,TGT\e19b4\e0Gl\e1:9\e0!g\e1(PKRBd;\e(B. \e0\e,T7h\e1R9JRARC6(S\e(B
+\e,T$S\e0JQh\e1'\e09Ui\e1d\e04i\e1b4B\e0$T\e14\e0Gh\e1R\e(B "\e,T`K\e0EW\e1Md\e0Gi\e1`\e0>U\e1B'K\e09Vh\e1'\e0GT\e19b4\e0Gl\e1\e(B--\e0\e,TGT\e19b4\e0Gl\e1\e07Uh\e1M\e0BYh\e1c9"3P\e09Ui\e1\e(B.")
 
-\e0\e,T7h\e(B\e1\e,TR9d\e(B\e0\e,TAh\e(B\e1\e,T(S`\e(B\e0\e,T;g\e(B\e1\e,T9\e(B\e0\e,T5i\e(B\e1\e,TM'aJ4'<E"M'\e(B\e0\e,T:Q\e(B\e1\e,T?`?M\e(B\e0\e,TCl\e(B\e1\e,T`\e(B\e0\e,T4U\e(B\e1\e,TBG\e(B\e0\e,T!Q\e(B\e1\e,T9:9\e(B\e0\e,T7Qi\e(B\e1\e,T'JM'\e(B\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1. \e0\e,T6i\e(B\e1\e,TR\e(B\e0\e,T7h\e(B\e1\e,TR9c\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-x C-f
-\e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TM\e(B\e0\e,T$i\e(B\e1\e,T9KRa\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TEc9\e(B\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1\e,TK\e(B\e0\e,T9Vh\e(B\e1\e,T'\e(B, \e0\e,TMU\e(B\e1\e,T!\e(B\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1\e,TK\e(B\e0\e,T9Vh\e(B\e1\e,T'(Pd\e(B\e0\e,TAh\e(B\e1\e,T`;\e(B\e0\e,TEUh\e(B\e1\e,TB9a;E'\e(B. \e0\e,T7h\e(B\e1\e,TR9JRARC6\e(B\e0\e,T$i\e(B\e1\e,T9KR\e(B
-\e,Ta\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TEc9a\e(B\e0\e,T5h\e(B\e1\e,TEP\e(B\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1\e0\e,TMT\e(B\e1\e,TJCP\e(B\e0\e,T5h\e(B\e1\e,TM\e(B\e0\e,T!Q\e(B\e1\e,T9\e(B.
+\e0\e,T7h\e1R9d\e0Ah\e1(S`\e0;g\e19\e05i\e1M'aJ4'<E"M'\e0:Q\e1?`?M\e0Cl\e1`\e04U\e1BG\e0!Q\e19:9\e07Qi\e1'JM'\e0GT\e19b4\e0Gl\e1\e(B. \e0\e,T6i\e1R\e07h\e1R9c\e0*i\e1$S\e0JQh\e1'\e(B C-x C-f
+\e,T`\e0>Wh\e1M\e0$i\e19KRa\e0?i\e1A\e0"i\e1M\e0AY\e1Ec9\e0GT\e19b4\e0Gl\e1K\e09Vh\e1'\e(B, \e0\e,TMU\e1!\e0GT\e19b4\e0Gl\e1K\e09Vh\e1'(Pd\e0Ah\e1`;\e0EUh\e1B9a;E'\e(B. \e0\e,T7h\e1R9JRARC6\e0$i\e19KR\e(B
+\e,Ta\e0?i\e1A\e0"i\e1M\e0AY\e1Ec9a\e05h\e1EP\e0GT\e19b4\e0Gl\e1d\e04i\e1\e0MT\e1JCP\e05h\e1M\e0!Q\e19\e(B.
 
-\e0\e,T5h\e(B\e1\e,TMd;`\e(B\e0\e,T;g\e(B\e1\e,T9\e(B\e0\e,TMU\e(B\e1\e,T!\e(B\e0\e,TGT\e(B\e1\e0\e,T8U\e(B\e1\e,TK\e(B\e0\e,T9Vh\e(B\e1\e,T'"M'!RCc\e(B\e0\e,T*i\e(B\e1\e,TJM'\e(B\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1\e,TJSK\e(B\e0\e,TCQ\e(B\e1\e,T:aJ4'<E"M'JM'\e(B\e0\e,TJTh\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e0\e,T5h\e(B\e1\e,TR'\e(B\e0\e,T!Q\e(B\e1\e,T9\e(B:
+\e0\e,T5h\e1Md;`\e0;g\e19\e0MU\e1!\e0GT\e1\e08U\e1K\e09Vh\e1'"M'!RCc\e0*i\e1JM'\e0GT\e19b4\e0Gl\e1JSK\e0CQ\e1:aJ4'<E"M'JM'\e0JTh\e1'\e07Uh\e1\e05h\e1R'\e0!Q\e19\e(B:
 
->> \e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-x 4 C-f \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG5RA\e(B\e0\e,T4i\e(B\e1\e,TGB\e(B\e0\e,T*Wh\e(B\e1\e,TMa\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B. \e0\e,TJTi\e(B\e1\e,T9\e(B\e0\e,TJX\e(B\e1\e,T4$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T4i\e(B\e1\e,TGB!RC!4\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B
-   <Return>. \e,T(P`\e(B\e0\e,TKg\e(B\e1\e,T9\e(B\e0\e,TGh\e(B\e1\e,TR\e(B\e0\e,TAU\e(B\e1\e,Ta\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B\e0\e,T7Uh\e(B\e1\e0\e,T5i\e(B\e1\e,TM'!RC;CR!/M\e(B\e0\e,TBYh\e(B\e1\e,Tc9\e(B\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1\e0\e,TEh\e(B\e1\e,TR'\e(B. \e,T`$M\e(B\e0\e,TCl\e(B\e1\e,T`+M\e(B\e0\e,TCl\e(B\e1\e0\e,T!g\e(B\e1\e,T(Pd;\e(B
-   \e,T;CR!/\e(B\e0\e,T7Uh\e(B\e1\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1\e0\e,T9Qi\e(B\e1\e,T9\e(B\e0\e,T4i\e(B\e1\e,TGB\e(B.
+>> \e0\e,T;i\e1M9$S\e0JQh\e1'\e(B C-x 4 C-f \e,Ta\e0Ei\e1G5RA\e04i\e1GB\e0*Wh\e1Ma\e0?i\e1A\e0"i\e1M\e0AY\e1E\e(B. \e0\e,TJTi\e19\e0JX\e14$S\e0JQh\e1'\e04i\e1GB!RC!4\e0;Xh\e1A\e(B
+   <Return>. \e,T(P`\e0Kg\e19\e0Gh\e1R\e0AU\e1a\e0?i\e1A\e0"i\e1M\e0AY\e1E\e07Uh\e1\e05i\e1M'!RC;CR!/M\e0BYh\e1c9\e0GT\e19b4\e0Gl\e1\e0Eh\e1R'\e(B. \e,T`$M\e0Cl\e1`+M\e0Cl\e1\e0!g\e1(Pd;\e(B
+   \e,T;CR!/\e07Uh\e1\e0GT\e19b4\e0Gl\e1\e09Qi\e19\e04i\e1GB\e(B.
 
->> \e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-x o \e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TM!\e(B\e0\e,TEQ\e(B\e1\e,T:d;\e(B\e0\e,TBQ\e(B\e1\e,T'\e(B\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1\e,T:9\e(B, \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG\e(B\e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-x 1 \e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TM!S\e(B\e0\e,T(Q\e(B\e1\e,T4\e(B\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1\e0\e,TEh\e(B\e1\e,TR'\e(B.
+>> \e0\e,T;i\e1M9$S\e0JQh\e1'\e(B C-x o \e,T`\e0>Wh\e1M!\e0EQ\e1:d;\e0BQ\e1'\e0GT\e19b4\e0Gl\e1:9\e(B, \e,Ta\e0Ei\e1G\e0;i\e1M9$S\e0JQh\e1'\e(B C-x 1 \e,T`\e0>Wh\e1M!S\e0(Q\e14\e0GT\e19b4\e0Gl\e1\e0Eh\e1R'\e(B.
 
 
-* \e,TCP\e(B\e0\e,T4Q\e(B\e1\e,T:"M'!RCa\e(B\e0\e,T!i\e(B\e1\e,Td"a::`\e(B\e0\e,TCU\e(B\e1\e,TB!\e(B\e0\e,T+i\e(B\e1\e,TS\e(B (recursive editing levels)
+* \e,TCP\e04Q\e1:"M'!RCa\e0!i\e1d"a::`\e0CU\e1B!\e0+i\e1S\e(B (recursive editing levels)
 -------------------------------------------------------
 
-\e,T:R'$\e(B\e0\e,TCQi\e(B\e1\e,T'\e(B\e0\e,T7h\e(B\e1\e,TR9MR((P`\e(B\e0\e,T"i\e(B\e1\e,TRd;M\e(B\e0\e,TBYh\e(B\e1\e,Tc9\e(B "\e,TCP\e(B\e0\e,T4Q\e(B\e1\e,T:"M'!RCa\e(B\e0\e,T!i\e(B\e1\e,Td"a::!RC`\e(B\e0\e,TCU\e(B\e1\e,TB!\e(B\e0\e,T+i\e(B\e1\e,TS\e(B (recursive editing
-level)". \e,TJ@R>\e(B\e0\e,T4Q\e(B\e1\e,T'!\e(B\e0\e,TEh\e(B\e1\e,TRG`\e(B\e0\e,T*h\e(B\e1\e,T9\e(B\e0\e,T9Ui\e(B\e1\e,TaJ4'\e(B\e0\e,T4i\e(B\e1\e,TGBG'`\e(B\e0\e,TEg\e(B\e1\e,T:\e(B\e0\e,T!i\e(B\e1\e,TRA\e(B\e0\e,T;Y\e(B\e1\e,Tc9:CC\e(B\e0\e,T7Q\e(B\e1\e,T4aJ4'bKA4\e(B, \e0\e,TEi\e(B\e1\e,TMACM:G'`\e(B\e0\e,TEg\e(B\e1\e,T:\e(B\e0\e,T7Uh\e(B\e1
-\e,TaJ4'\e(B\e0\e,T*Wh\e(B\e1\e,TM"M'bKA4K\e(B\e0\e,TEQ\e(B\e1\e,T!\e(B. \e0\e,T5Q\e(B\e1\e,TGM\e(B\e0\e,TBh\e(B\e1\e,TR'`\e(B\e0\e,T*h\e(B\e1\e,T9\e(B, \e0\e,T7h\e(B\e1\e,TR9MR((P`\e(B\e0\e,TKg\e(B\e1\e,T9\e(B [(Fundamental)] \e,Ta79\e(B\e0\e,T7Uh\e(B\e1\e,T(P`\e(B\e0\e,T;g\e(B\e1\e,T9\e(B
+\e,T:R'$\e0CQi\e1'\e07h\e1R9MR((P`\e0"i\e1Rd;M\e0BYh\e1c9\e(B "\e,TCP\e04Q\e1:"M'!RCa\e0!i\e1d"a::!RC`\e0CU\e1B!\e0+i\e1S\e(B (recursive editing
+level)". \e,TJ@R>\e04Q\e1'!\e0Eh\e1RG`\e0*h\e19\e09Ui\e1aJ4'\e04i\e1GBG'`\e0Eg\e1:\e0!i\e1RA\e0;Y\e1c9:CC\e07Q\e14aJ4'bKA4\e(B, \e0\e,TEi\e1MACM:G'`\e0Eg\e1:\e07Uh\e1\e(B
+\e,TaJ4'\e0*Wh\e1M"M'bKA4K\e0EQ\e1!\e(B. \e0\e,T5Q\e1GM\e0Bh\e1R'`\e0*h\e19\e(B, \e0\e,T7h\e1R9MR((P`\e0Kg\e19\e(B [(Fundamental)] \e,Ta79\e07Uh\e1(P`\e0;g\e19\e(B
 (Fundamental).
 
-\e,Tc9!RC\e(B\e0\e,T7Uh\e(B\e1\e,T(PMM!(R!CP\e(B\e0\e,T4Q\e(B\e1\e,T:"M'!RCa\e(B\e0\e,T!i\e(B\e1\e,Td"a::`\e(B\e0\e,TCU\e(B\e1\e,TB!\e(B\e0\e,T+i\e(B\e1\e,TS\e(B, \e,T!4\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B ESC ESC ESC. \e0\e,T9Uh\e(B\e1\e,T`\e(B\e0\e,T;g\e(B\e1\e,T9\e(B
-\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e,Tc\e(B\e0\e,T*i\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1\e0\e,T7Qh\e(B\e1\e,TGd;c9!RCMM!(R!CP\e(B\e0\e,T4Q\e(B\e1\e,T:c4f\e(B \e,T"M'!RC;CPAGE<E\e(B. \e0\e,T7h\e(B\e1\e,TR9JRARC6c\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T9Ui\e(B\e1\e,Tc9\e(B
-\e,T!RC!S\e(B\e0\e,T(Q\e(B\e1\e,T4\e(B\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1\e0\e,T>T\e(B\e1\e,T`HI\e(B\e0\e,TMWh\e(B\e1\e,T9f\e(B, \e,TCGA\e(B\e0\e,T7Qi\e(B\e1\e,T'!RCMM!(R!\e(B\e0\e,TAT\e(B\e1\e0\e,T9T\e(B\e1\e0\e,T:Q\e(B\e1\e,T?`?M\e(B\e0\e,TCl\e(B\e1 (minibuffer).
+\e,Tc9!RC\e07Uh\e1(PMM!(R!CP\e04Q\e1:"M'!RCa\e0!i\e1d"a::`\e0CU\e1B!\e0+i\e1S\e(B, \e,T!4\e0;Xh\e1A\e(B ESC ESC ESC. \e0\e,T9Uh\e1`\e0;g\e19\e(B
+\e,T$S\e0JQh\e1'\e07Uh\e1c\e0*i\e1d\e04i\e1\e07Qh\e1Gd;c9!RCMM!(R!CP\e04Q\e1:c4f\e(B \e,T"M'!RC;CPAGE<E\e(B. \e0\e,T7h\e1R9JRARC6c\e0*i\e1$S\e0JQh\e1'\e09Ui\e1c9\e(B
+\e,T!RC!S\e0(Q\e14\e0GT\e19b4\e0Gl\e1\e0>T\e1`HI\e0MWh\e19f\e(B, \e,TCGA\e07Qi\e1'!RCMM!(R!\e0AT\e1\e09T\e1\e0:Q\e1?`?M\e0Cl\e1\e(B (minibuffer).
 
->> \e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B M-x \e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TM`\e(B\e0\e,T"i\e(B\e1\e,TRd;c9\e(B\e0\e,TAT\e(B\e1\e0\e,T9T\e(B\e1\e0\e,T:Q\e(B\e1\e,T?`?M\e(B\e0\e,TCl\e(B\e1; \e,T!4\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B ESC ESC ESC \e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TMMM!(R!\e(B
-   \e0\e,TAT\e(B\e1\e0\e,T9T\e(B\e1\e0\e,T:Q\e(B\e1\e,T?`?M\e(B\e0\e,TCl\e(B\e1\e0\e,T9Qi\e(B\e1\e,T9\e(B.
+>> \e0\e,T;i\e1M9$S\e0JQh\e1'\e(B M-x \e,T`\e0>Wh\e1M`\e0"i\e1Rd;c9\e0AT\e1\e09T\e1\e0:Q\e1?`?M\e0Cl\e1\e(B; \e,T!4\e0;Xh\e1A\e(B ESC ESC ESC \e,T`\e0>Wh\e1MMM!(R!\e(B
+   \e0\e,TAT\e1\e09T\e1\e0:Q\e1?`?M\e0Cl\e1\e09Qi\e19\e(B.
 
-\e0\e,T7h\e(B\e1\e,TR9d\e(B\e0\e,TAh\e(B\e1\e,TJRARC6c\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-g \e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TMMM!(R!CP\e(B\e0\e,T4Q\e(B\e1\e,T:"M'!RCa\e(B\e0\e,T!i\e(B\e1\e,Td"a::`\e(B\e0\e,TCU\e(B\e1\e,TB!\e(B\e0\e,T+i\e(B\e1\e,TS\e(B.
-\e,T`>CRP\e(B\e0\e,TGh\e(B\e1\e,TR$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-g \e,Tc\e(B\e0\e,T*i\e(B\e1\e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TMB!`\e(B\e0\e,TET\e(B\e1\e,T!$S\e(B\e0\e,TJQh\e(B\e1\e,T'aEPMR\e(B\e0\e,TCl\e(B\e1\e0\e,T!T\e(B\e1\e,TG`A9\e(B\e0\e,T5l\e(B\e1\e,T@RBc9CP\e(B\e0\e,T4Q\e(B\e1\e,T:"M'!RCa\e(B\e0\e,T!i\e(B\e1\e,Td"a::\e(B
-\e,T`\e(B\e0\e,TCU\e(B\e1\e,TB!\e(B\e0\e,T+i\e(B\e1\e,TS\e(B.
+\e0\e,T7h\e1R9d\e0Ah\e1JRARC6c\e0*i\e1$S\e0JQh\e1'\e(B C-g \e,T`\e0>Wh\e1MMM!(R!CP\e04Q\e1:"M'!RCa\e0!i\e1d"a::`\e0CU\e1B!\e0+i\e1S\e(B.
+\e,T`>CRP\e0Gh\e1R$S\e0JQh\e1'\e(B C-g \e,Tc\e0*i\e1`\e0>Wh\e1MB!`\e0ET\e1!$S\e0JQh\e1'aEPMR\e0Cl\e1\e0!T\e1G`A9\e05l\e1@RBc9CP\e04Q\e1:"M'!RCa\e0!i\e1d"a::\e(B
+\e,T`\e0CU\e1B!\e0+i\e1S\e(B.
 
 
-* \e,T!RC`\e(B\e0\e,TCU\e(B\e1\e,TB!\e(B\e0\e,T4Y\e(B\e1\e0\e,T"i\e(B\e1\e,TM$GRA\e(B\e0\e,T*h\e(B\e1\e,TGB`K\e(B\e0\e,TEW\e(B\e1\e,TM`\e(B\e0\e,T>Th\e(B\e1\e,TA`\e(B\e0\e,T5T\e(B\e1\e,TA\e(B (getting more help)
+* \e,T!RC`\e0CU\e1B!\e04Y\e1\e0"i\e1M$GRA\e0*h\e1GB`K\e0EW\e1M`\e0>Th\e1A`\e05T\e1A\e(B (getting more help)
 -------------------------------------------------
 
-\e,Tc9\e(B\e0\e,T$Yh\e(B\e1\e0\e,TAW\e(B\e1\e,TM\e(B\e0\e,T9Ui\e(B\e1\e,T`CR>BRBRA\e(B\e0\e,T7Uh\e(B\e1\e,T(Pc\e(B\e0\e,TKi\e(B\e1\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B\e0\e,T7Uh\e(B\e1\e,T`\e(B\e0\e,T>U\e(B\e1\e,TB'>MJSK\e(B\e0\e,TCQ\e(B\e1\e,T:!RC`\e(B\e0\e,TCTh\e(B\e1\e,TAc\e(B\e0\e,T*i\e(B\e1\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1. \e0\e,TBQ\e(B\e1\e,T'$'\e(B\e0\e,TAU\e(B\e1\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B\e0\e,TMU\e(B\e1\e,T!AR!c9\e(B
-\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e0\e,T+Vh\e(B\e1\e,T'`CRd\e(B\e0\e,TAh\e(B\e1\e,TJRARC6\e(B\e0\e,T7Uh\e(B\e1\e,T(P9SARM\e(B\e0\e,T8T\e(B\e1\e,T:RBd\e(B\e0\e,TGi\e(B\e1\e,Tc9\e(B\e0\e,T7Uh\e(B\e1\e0\e,T9Ui\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1\e0\e,T7Qi\e(B\e1\e,T'KA4\e(B. \e,TM\e(B\e0\e,TBh\e(B\e1\e,TR'dC\e(B\e0\e,T!g\e(B\e1\e,T5RA\e(B, \e0\e,T7h\e(B\e1\e,TR9MR(\e(B\e0\e,T5i\e(B\e1\e,TM'!RC\e(B
-\e,T`\e(B\e0\e,TCU\e(B\e1\e,TB9\e(B\e0\e,TCYi\e(B\e1\e,T`\e(B\e0\e,T!Uh\e(B\e1\e,TBG\e(B\e0\e,T!Q\e(B\e1\e,T:\e(B\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,T`\e(B\e0\e,T>Th\e(B\e1\e,TA`\e(B\e0\e,T5T\e(B\e1\e,TA`>CRP\e(B\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e0\e,TBQ\e(B\e1\e,T'\e(B\e0\e,TAU\e(B\e1\e0\e,T$X\e(B\e1\e,T3JA\e(B\e0\e,T:Q\e(B\e1\e0\e,T5T\e(B\e1\e0\e,TMU\e(B\e1\e,T!AR!ARB\e(B. \e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1\e,T`5\e(B\e0\e,TCU\e(B\e1\e,TBA$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B
-\e,TJSK\e(B\e0\e,TCQ\e(B\e1\e,T:`\e(B\e0\e,TCU\e(B\e1\e,TB!\e(B\e0\e,T4Y\e(B\e1\e,T`\e(B\e0\e,T9Wi\e(B\e1\e,TMKR`\e(B\e0\e,T!Uh\e(B\e1\e,TBG\e(B\e0\e,T!Q\e(B\e1\e,T:$S\e(B\e0\e,TJQh\e(B\e1\e,T'"M'\e(B\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1. \e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B "\e0\e,T*h\e(B\e1\e,TGB`K\e(B\e0\e,TEW\e(B\e1\e,TM\e(B (help)" \e0\e,T7Qi\e(B\e1\e,T'KA4`\e(B\e0\e,TCTh\e(B\e1\e,TA\e(B\e0\e,T4i\e(B\e1\e,TGB\e(B
-\e0\e,TMQ\e(B\e1\e,T!"CP\e(B CONTROL-h, \e0\e,T+Vh\e(B\e1\e,T'`\e(B\e0\e,TCU\e(B\e1\e,TB!\e(B\e0\e,TGh\e(B\e1\e,TR\e(B "\e0\e,TMQ\e(B\e1\e,T!"CP\e(B\e0\e,T*h\e(B\e1\e,TGB`K\e(B\e0\e,TEW\e(B\e1\e,TM\e(B (the Help character)".
+\e,Tc9\e0$Yh\e1\e0AW\e1M\e09Ui\e1`CR>BRBRA\e07Uh\e1(Pc\e0Ki\e1\e0"i\e1M\e0AY\e1E\e07Uh\e1`\e0>U\e1B'>MJSK\e0CQ\e1:!RC`\e0CTh\e1Ac\e0*i\e1\e0MU\e1aA!\e0Jl\e1\e(B. \e0\e,TBQ\e1'$'\e0AU\e1\e0"i\e1M\e0AY\e1E\e0MU\e1!AR!c9\e(B
+\e0\e,TMU\e1aA!\e0Jl\e1\e0+Vh\e1'`CRd\e0Ah\e1JRARC6\e07Uh\e1(P9SARM\e08T\e1:RBd\e0Gi\e1c9\e07Uh\e1\e09Ui\e1d\e04i\e1\e07Qi\e1'KA4\e(B. \e,TM\e0Bh\e1R'dC\e0!g\e15RA\e(B, \e0\e,T7h\e1R9MR(\e05i\e1M'!RC\e(B
+\e,T`\e0CU\e1B9\e0CYi\e1`\e0!Uh\e1BG\e0!Q\e1:\e0MU\e1aA!\e0Jl\e1`\e0>Th\e1A`\e05T\e1A`>CRP\e0MU\e1aA!\e0Jl\e1\e0BQ\e1'\e0AU\e1\e0$X\e13JA\e0:Q\e1\e05T\e1\e0MU\e1!AR!ARB\e(B. \e0\e,TMU\e1aA!\e0Jl\e1d\e04i\e1`5\e0CU\e1BA$S\e0JQh\e1'\e(B
+\e,TJSK\e0CQ\e1:`\e0CU\e1B!\e04Y\e1`\e09Wi\e1MKR`\e0!Uh\e1BG\e0!Q\e1:$S\e0JQh\e1'"M'\e0MU\e1aA!\e0Jl\e1\e(B. \e,T$S\e0JQh\e1'\e(B "\e0\e,T*h\e1GB`K\e0EW\e1M\e(B (help)" \e0\e,T7Qi\e1'KA4`\e0CTh\e1A\e04i\e1GB\e(B
+\e0\e,TMQ\e1!"CP\e(B CONTROL-h, \e0\e,T+Vh\e1'`\e0CU\e1B!\e0Gh\e1R\e(B "\e0\e,TMQ\e1!"CP\e0*h\e1GB`K\e0EW\e1M\e(B (the Help character)".
 
-\e,Tc9!RC\e(B\e0\e,T7Uh\e(B\e1\e,T(Pc\e(B\e0\e,T*i\e(B\e1\e0\e,T$X\e(B\e1\e,T3JA\e(B\e0\e,T:Q\e(B\e1\e0\e,T5T\e(B\e1\e0\e,T*h\e(B\e1\e,TGB`K\e(B\e0\e,TEW\e(B\e1\e,TM\e(B, \e0\e,T;i\e(B\e1\e,TM9\e(B\e0\e,TMQ\e(B\e1\e,T!"CP\e(B C-h, \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG5RA\e(B\e0\e,T4i\e(B\e1\e,TGB\e(B\e0\e,TMU\e(B\e1\e,T!K\e(B\e0\e,T9Vh\e(B\e1\e,T'\e(B\e0\e,TMQ\e(B\e1\e,T!"CP`\e(B\e0\e,T>Wh\e(B\e1\e,TM:M!\e(B\e0\e,TGh\e(B\e1\e,TR\e(B
-\e0\e,T7h\e(B\e1\e,TR9\e(B\e0\e,T5i\e(B\e1\e,TM'!RC$S\e(B\e0\e,T*h\e(B\e1\e,TGB`K\e(B\e0\e,TEW\e(B\e1\e,TMMPdC\e(B. \e0\e,T6i\e(B\e1\e,TR\e(B\e0\e,T7h\e(B\e1\e,TR9d\e(B\e0\e,TAh\e(B\e1\e,T7CR:\e(B\e0\e,TGh\e(B\e1\e,TR(P7SMPdC\e(B\e0\e,T5h\e(B\e1\e,TMd;\e(B, \e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-h ? \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG\e(B
-\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,T(P:M!\e(B\e0\e,T7h\e(B\e1\e,TR9\e(B\e0\e,TGh\e(B\e1\e,TR\e(B\e0\e,TAU\e(B\e1\e,T$S\e(B\e0\e,T*h\e(B\e1\e,TGBMPdC\e(B\e0\e,T7Uh\e(B\e1\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,TJRARC6(Pc\e(B\e0\e,TKi\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1. \e0\e,T6i\e(B\e1\e,TR\e(B\e0\e,T7h\e(B\e1\e,TR9\e(B\e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-h \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG\e(B
-\e0\e,T5i\e(B\e1\e,TM'!RCB!`\e(B\e0\e,TET\e(B\e1\e,T!\e(B\e0\e,T7h\e(B\e1\e,TR9\e(B, \e0\e,T!g\e(B\e1\e,TJRARC6B!`\e(B\e0\e,TET\e(B\e1\e,T!d\e(B\e0\e,T4i\e(B\e1\e,Tb4Bc\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-g.
+\e,Tc9!RC\e07Uh\e1(Pc\e0*i\e1\e0$X\e13JA\e0:Q\e1\e05T\e1\e0*h\e1GB`K\e0EW\e1M\e(B, \e0\e,T;i\e1M9\e0MQ\e1!"CP\e(B C-h, \e,Ta\e0Ei\e1G5RA\e04i\e1GB\e0MU\e1!K\e09Vh\e1'\e0MQ\e1!"CP`\e0>Wh\e1M:M!\e0Gh\e1R\e(B
+\e0\e,T7h\e1R9\e05i\e1M'!RC$S\e0*h\e1GB`K\e0EW\e1MMPdC\e(B. \e0\e,T6i\e1R\e07h\e1R9d\e0Ah\e17CR:\e0Gh\e1R(P7SMPdC\e05h\e1Md;\e(B, \e0\e,T;i\e1M9$S\e0JQh\e1'\e(B C-h ? \e,Ta\e0Ei\e1G\e(B
+\e0\e,TMU\e1aA!\e0Jl\e1(P:M!\e07h\e1R9\e0Gh\e1R\e0AU\e1$S\e0*h\e1GBMPdC\e07Uh\e1\e0MU\e1aA!\e0Jl\e1JRARC6(Pc\e0Ki\e1d\e04i\e1\e(B. \e0\e,T6i\e1R\e07h\e1R9\e0;i\e1M9$S\e0JQh\e1'\e(B C-h \e,Ta\e0Ei\e1G\e(B
+\e0\e,T5i\e1M'!RCB!`\e0ET\e1!\e07h\e1R9\e(B, \e0\e,T!g\e1JRARC6B!`\e0ET\e1!d\e04i\e1b4Bc\e0*i\e1$S\e0JQh\e1'\e(B C-g.
 
-(\e,Tc9:R'CP::\e(B\e0\e,T9Qi\e(B\e1\e,T9\e(B, \e,T$GRAKARB"M'\e(B\e0\e,TMQ\e(B\e1\e,T!"CP\e(B C-h \e,Td\e(B\e0\e,T4i\e(B\e1\e0\e,T6Y\e(B\e1\e,T!`;\e(B\e0\e,TEUh\e(B\e1\e,TB9d;\e(B. \e0\e,T+Vh\e(B\e1\e,T'b4B$GRA`\e(B\e0\e,T;g\e(B\e1\e,T9(\e(B\e0\e,TCT\e(B\e1\e,T'a\e(B\e0\e,TEi\e(B\e1\e,TGd\e(B\e0\e,TAh\e(B\e1
-\e,T$GC(P7S`\e(B\e0\e,T*h\e(B\e1\e,T9\e(B\e0\e,T9Ui\e(B\e1, \e0\e,T7Qi\e(B\e1\e,T'\e(B\e0\e,T9Ui\e(B\e1\e0\e,T7h\e(B\e1\e,TR9MR((P\e(B\e0\e,T*Ui\e(B\e1\e,Ta('\e(B\e0\e,T5h\e(B\e1\e,TM\e(B\e0\e,T<Yi\e(B\e1\e0\e,T4Y\e(B\e1\e,TaECP::d\e(B\e0\e,T4i\e(B\e1. \e,TJSK\e(B\e0\e,TCQ\e(B\e1\e,T:!RCa\e(B\e0\e,T!i\e(B\e1\e0\e,T;Q\e(B\e1\e,T-KR`)>RPK\e(B\e0\e,T9i\e(B\e1\e,TR\e(B, \e0\e,T6i\e(B\e1\e,TR\e(B
-\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-h \e,Td\e(B\e0\e,TAh\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1\e,TaJ4'\e(B\e0\e,T"i\e(B\e1\e,TM$GRA`\e(B\e0\e,T!Uh\e(B\e1\e,TBG\e(B\e0\e,T!Q\e(B\e1\e,T:$S\e(B\e0\e,T*h\e(B\e1\e,TGB`K\e(B\e0\e,TEW\e(B\e1\e,TM\e(B\e0\e,T7Uh\e(B\e1\e0\e,TJh\e(B\e1\e,TG9\e(B\e0\e,TEh\e(B\e1\e,TR'"M'K\e(B\e0\e,T9i\e(B\e1\e,TR(M\e(B\e0\e,T9Qi\e(B\e1\e,T9\e(B, \e,Tc\e(B\e0\e,TKi\e(B\e1\e,TEM'!4\e(B\e0\e,T;Xh\e(B\e1\e,TA\e(B F1 
-\e,TK\e(B\e0\e,TCW\e(B\e1\e,TM\e(B M-x help<Return> \e,Ta79\e(B.)
+(\e,Tc9:R'CP::\e09Qi\e19\e(B, \e,T$GRAKARB"M'\e0MQ\e1!"CP\e(B C-h \e,Td\e04i\e1\e06Y\e1!`;\e0EUh\e1B9d;\e(B. \e0\e,T+Vh\e1'b4B$GRA`\e0;g\e19(\e0CT\e1'a\e0Ei\e1Gd\e0Ah\e1\e(B
+\e,T$GC(P7S`\e0*h\e19\e09Ui\e1\e(B, \e0\e,T7Qi\e1'\e09Ui\e1\e07h\e1R9MR((P\e0*Ui\e1a('\e05h\e1M\e0<Yi\e1\e04Y\e1aECP::d\e04i\e1\e(B. \e,TJSK\e0CQ\e1:!RCa\e0!i\e1\e0;Q\e1-KR`)>RPK\e09i\e1R\e(B, \e0\e,T6i\e1R\e(B
+\e,T$S\e0JQh\e1'\e(B C-h \e,Td\e0Ah\e1d\e04i\e1aJ4'\e0"i\e1M$GRA`\e0!Uh\e1BG\e0!Q\e1:$S\e0*h\e1GB`K\e0EW\e1M\e07Uh\e1\e0Jh\e1G9\e0Eh\e1R'"M'K\e09i\e1R(M\e09Qi\e19\e(B, \e,Tc\e0Ki\e1EM'!4\e0;Xh\e1A\e(B F1
+\e,TK\e0CW\e1M\e(B M-x help<Return> \e,Ta79\e(B.)
 
-\e0\e,T$X\e(B\e1\e,T3JA\e(B\e0\e,T:Q\e(B\e1\e0\e,T5T\e(B\e1\e,T`\e(B\e0\e,T:Wi\e(B\e1\e,TM'\e(B\e0\e,T5i\e(B\e1\e,T9"M'$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T*h\e(B\e1\e,TGB`K\e(B\e0\e,TEW\e(B\e1\e,TM\e(B\e0\e,T$W\e(B\e1\e,TM$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-h c. \e,TEM'\e(B\e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-h, \e0\e,TMQ\e(B\e1\e,T!"CP\e(B c, \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG\e(B
-\e,T5RA\e(B\e0\e,T4i\e(B\e1\e,TGB\e(B\e0\e,TMQ\e(B\e1\e,T!"CPK\e(B\e0\e,TCW\e(B\e1\e,TMJRB\e(B\e0\e,TMQ\e(B\e1\e,T!"CP\e(B; \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG\e(B\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,T(PaJ4'$SM\e(B\e0\e,T8T\e(B\e1\e,T:RB"M'$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T9Qi\e(B\e1\e,T9b4B\e(B\e0\e,TJQ\e(B\e1\e,T'`";\e(B.
+\e0\e,T$X\e13JA\e0:Q\e1\e05T\e1`\e0:Wi\e1M'\e05i\e19"M'$S\e0JQh\e1'\e0*h\e1GB`K\e0EW\e1M\e0$W\e1M$S\e0JQh\e1'\e(B C-h c. \e,TEM'\e0;i\e1M9$S\e0JQh\e1'\e(B C-h, \e0\e,TMQ\e1!"CP\e(B c, \e,Ta\e0Ei\e1G\e(B
+\e,T5RA\e04i\e1GB\e0MQ\e1!"CPK\e0CW\e1MJRB\e0MQ\e1!"CP\e(B; \e,Ta\e0Ei\e1G\e0MU\e1aA!\e0Jl\e1(PaJ4'$SM\e08T\e1:RB"M'$S\e0JQh\e1'\e09Qi\e19b4B\e0JQ\e1'`";\e(B.
 
->> \e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-h c CONTROL-p.
-   \e0\e,T"i\e(B\e1\e,TM$GRA\e(B\e0\e,T7Uh\e(B\e1\e,T;CR!/(P`\e(B\e0\e,T;g\e(B\e1\e,T9\e(B\e0\e,T4Q\e(B\e1\e,T'\e(B\e0\e,T5h\e(B\e1\e,TMd;\e(B\e0\e,T9Ui\e(B\e1
+>> \e0\e,T;i\e1M9$S\e0JQh\e1'\e(B C-h c CONTROL-p.
+   \e0\e,T"i\e1M$GRA\e07Uh\e1;CR!/(P`\e0;g\e19\e04Q\e1'\e05h\e1Md;\e09Ui\e1\e(B
 
        C-p runs the command previous-line
 
-\e0\e,T9Uh\e(B\e1\e,T`\e(B\e0\e,T;g\e(B\e1\e,T9!RC:M!\e(B "\e0\e,T*Wh\e(B\e1\e,TM\e(B\e0\e,T?Q\e(B\e1\e,T'\e(B\e0\e,T!l\e(B\e1\e0\e,T*Q\e(B\e1\e,T9"M'$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B" \e0\e,T9Qi\e(B\e1\e,T9\e(B. \e0\e,T*Wh\e(B\e1\e,TM"M'\e(B\e0\e,T?Q\e(B\e1\e,T'\e(B\e0\e,T!l\e(B\e1\e0\e,T*Q\e(B\e1\e,T9c\e(B\e0\e,T*i\e(B\e1\e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TM!RC;\e(B\e0\e,TCQ\e(B\e1\e,T:aEPa\e(B\e0\e,T5h\e(B\e1\e,T'`\e(B\e0\e,T5T\e(B\e1\e,TA\e(B\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1. 
-\e,Ta\e(B\e0\e,T5h\e(B\e1\e,T`\e(B\e0\e,T9Wh\e(B\e1\e,TM'(R!\e(B\e0\e,T*Wh\e(B\e1\e,TM"M'\e(B\e0\e,T?Q\e(B\e1\e,T'\e(B\e0\e,T!l\e(B\e1\e0\e,T*Q\e(B\e1\e,T9\e(B\e0\e,T9Qi\e(B\e1\e,T9\e(B\e0\e,T5Qi\e(B\e1\e,T'`\e(B\e0\e,T>Wh\e(B\e1\e,TM\e(B\e0\e,T*Ui\e(B\e1\e,T:M!\e(B\e0\e,TGh\e(B\e1\e,TR$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T9Qi\e(B\e1\e,T97S'R9M\e(B\e0\e,TBh\e(B\e1\e,TR'dC\e(B, \e0\e,T+Vh\e(B\e1\e,T'MR(`\e(B\e0\e,T;g\e(B\e1\e,T9\e(B\e0\e,T5Q\e(B\e1\e,TG\e(B\e0\e,T*h\e(B\e1\e,TGB:M!\e(B
-\e,T$SM\e(B\e0\e,T8T\e(B\e1\e,T:RBb4B\e(B\e0\e,TJQ\e(B\e1\e,T'`";d\e(B\e0\e,T4i\e(B\e1--\e,TMR(`\e(B\e0\e,T>U\e(B\e1\e,TB'>M\e(B\e0\e,T7Uh\e(B\e1\e,T(P`\e(B\e0\e,T5W\e(B\e1\e,TM9c\e(B\e0\e,TKi\e(B\e1\e0\e,T7h\e(B\e1\e,TR9\e(B\e0\e,T9V\e(B\e1\e,T!\e(B\e0\e,T6V\e(B\e1\e,T'$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e0\e,T5i\e(B\e1\e,TM'!RCd\e(B\e0\e,T4i\e(B\e1.
+\e0\e,T9Uh\e1`\e0;g\e19!RC:M!\e(B "\e0\e,T*Wh\e1M\e0?Q\e1'\e0!l\e1\e0*Q\e19"M'$S\e0JQh\e1'\e(B" \e0\e,T9Qi\e19\e(B. \e0\e,T*Wh\e1M"M'\e0?Q\e1'\e0!l\e1\e0*Q\e19c\e0*i\e1`\e0>Wh\e1M!RC;\e0CQ\e1:aEPa\e05h\e1'`\e05T\e1A\e0MU\e1aA!\e0Jl\e1\e(B.
+\e,Ta\e05h\e1`\e09Wh\e1M'(R!\e0*Wh\e1M"M'\e0?Q\e1'\e0!l\e1\e0*Q\e19\e09Qi\e19\e05Qi\e1'`\e0>Wh\e1M\e0*Ui\e1:M!\e0Gh\e1R$S\e0JQh\e1'\e09Qi\e197S'R9M\e0Bh\e1R'dC\e(B, \e0\e,T+Vh\e1'MR(`\e0;g\e19\e05Q\e1G\e0*h\e1GB:M!\e(B
+\e,T$SM\e08T\e1:RBb4B\e0JQ\e1'`";d\e04i\e1\e(B--\e,TMR(`\e0>U\e1B'>M\e07Uh\e1(P`\e05W\e1M9c\e0Ki\e1\e07h\e1R9\e09V\e1!\e06V\e1'$S\e0JQh\e1'\e07Uh\e1\e05i\e1M'!RCd\e04i\e1\e(B.
 
-\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e,T;CP!M:\e(B\e0\e,T4i\e(B\e1\e,TGBKERB\e(B\e0\e,TMQ\e(B\e1\e,T!"CP\e(B \e,T`\e(B\e0\e,T*h\e(B\e1\e,T9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-x C-s \e,TaEP\e(B (\e0\e,T6i\e(B\e1\e,TR\e(B\e0\e,T7h\e(B\e1\e,TR9d\e(B\e0\e,TAh\e(B\e1\e0\e,TAU\e(B\e1\e0\e,T;Xh\e(B\e1\e,TA\e(B META \e,TK\e(B\e0\e,TCW\e(B\e1\e,TM\e(B
-EDIT \e,TK\e(B\e0\e,TCW\e(B\e1\e,TM\e(B ALT) \e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B <ESC>v \e,TJRARC6c\e(B\e0\e,T*i\e(B\e1\e,T5RAK\e(B\e0\e,TEQ\e(B\e1\e,T'$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-h c.
+\e,T$S\e0JQh\e1'\e07Uh\e1;CP!M:\e04i\e1GBKERB\e0MQ\e1!"CP\e(B \e,T`\e0*h\e19$S\e0JQh\e1'\e(B C-x C-s \e,TaEP\e(B (\e0\e,T6i\e1R\e07h\e1R9d\e0Ah\e1\e0AU\e1\e0;Xh\e1A\e(B META \e,TK\e0CW\e1M\e(B
+EDIT \e,TK\e0CW\e1M\e(B ALT) \e,T$S\e0JQh\e1'\e(B <ESC>v \e,TJRARC6c\e0*i\e15RAK\e0EQ\e1'$S\e0JQh\e1'\e(B C-h c.
 
-\e,T!RC\e(B\e0\e,T7Uh\e(B\e1\e,T(P`\e(B\e0\e,TCU\e(B\e1\e,TB!\e(B\e0\e,T4Y\e(B\e1\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE`\e(B\e0\e,T>Th\e(B\e1\e,TA`\e(B\e0\e,T!Uh\e(B\e1\e,TBG\e(B\e0\e,T!Q\e(B\e1\e,T:$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B, \e,Tc\e(B\e0\e,TKi\e(B\e1\e,Tc\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-h k \e,Ta79$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-h c.
+\e,T!RC\e07Uh\e1(P`\e0CU\e1B!\e04Y\e1\e0"i\e1M\e0AY\e1E`\e0>Th\e1A`\e0!Uh\e1BG\e0!Q\e1:$S\e0JQh\e1'\e(B, \e,Tc\e0Ki\e1c\e0*i\e1$S\e0JQh\e1'\e(B C-h k \e,Ta79$S\e0JQh\e1'\e(B C-h c.
 
->> \e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-h k CONTROL-p.
+>> \e0\e,T;i\e1M9$S\e0JQh\e1'\e(B C-h k CONTROL-p.
 
-\e0\e,T9Uh\e(B\e1\e,T`\e(B\e0\e,T;g\e(B\e1\e,T9!RCaJ4'<E$SM\e(B\e0\e,T8T\e(B\e1\e,T:RB"M'\e(B\e0\e,T?Q\e(B\e1\e,T'\e(B\e0\e,T!l\e(B\e1\e0\e,T*Q\e(B\e1\e,T9\e(B, \e,T>\e(B\e0\e,TCi\e(B\e1\e,TMA\e(B\e0\e,T!Q\e(B\e1\e,T:\e(B\e0\e,T*Wh\e(B\e1\e,TM"M'$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T9Qi\e(B\e1\e,T9\e(B, \e,Tc9\e(B\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1\e,TK\e(B\e0\e,T9Vh\e(B\e1\e,T'"M'\e(B\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1. 
-\e,T`\e(B\e0\e,TAWh\e(B\e1\e,TM\e(B\e0\e,T7h\e(B\e1\e,TR9\e(B\e0\e,TMh\e(B\e1\e,TR9`J\e(B\e0\e,TCg\e(B\e1\e,T(a\e(B\e0\e,TEi\e(B\e1\e,TG\e(B, \e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-x 1 \e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TM!S\e(B\e0\e,T(Q\e(B\e1\e,T4\e(B\e0\e,T"i\e(B\e1\e,TM$GRA"M'$S\e(B\e0\e,T*h\e(B\e1\e,TGB`K\e(B\e0\e,TEW\e(B\e1\e,TM\e(B. \e0\e,T7h\e(B\e1\e,TR9d\e(B\e0\e,TAh\e(B\e1
-\e,T(S`\e(B\e0\e,T;g\e(B\e1\e,T9\e(B\e0\e,T7Uh\e(B\e1\e,T(P\e(B\e0\e,T5i\e(B\e1\e,TM'7S\e(B\e0\e,T7Q\e(B\e1\e,T9\e(B\e0\e,T7U\e(B\e1. \e0\e,T7h\e(B\e1\e,TR9MR(7S!RCa\e(B\e0\e,T!i\e(B\e1\e,Td""3P\e(B\e0\e,T7Uh\e(B\e1\e0\e,T4Y\e(B\e1\e0\e,T"i\e(B\e1\e,TM$GRA$S\e(B\e0\e,T*h\e(B\e1\e,TGB`K\e(B\e0\e,TEW\e(B\e1\e,TM\e(B\e0\e,T9Qi\e(B\e1\e,T9M\e(B\e0\e,TBYh\e(B\e1, \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG\e(B
-\e0\e,T$h\e(B\e1\e,TMB\e(B\e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-x 1.
+\e0\e,T9Uh\e1`\e0;g\e19!RCaJ4'<E$SM\e08T\e1:RB"M'\e0?Q\e1'\e0!l\e1\e0*Q\e19\e(B, \e,T>\e0Ci\e1MA\e0!Q\e1:\e0*Wh\e1M"M'$S\e0JQh\e1'\e09Qi\e19\e(B, \e,Tc9\e0GT\e19b4\e0Gl\e1K\e09Vh\e1'"M'\e0MU\e1aA!\e0Jl\e1\e(B.
+\e,T`\e0AWh\e1M\e07h\e1R9\e0Mh\e1R9`J\e0Cg\e1(a\e0Ei\e1G\e(B, \e0\e,T;i\e1M9$S\e0JQh\e1'\e(B C-x 1 \e,T`\e0>Wh\e1M!S\e0(Q\e14\e0"i\e1M$GRA"M'$S\e0*h\e1GB`K\e0EW\e1M\e(B. \e0\e,T7h\e1R9d\e0Ah\e1\e(B
+\e,T(S`\e0;g\e19\e07Uh\e1(P\e05i\e1M'7S\e07Q\e19\e07U\e1\e(B. \e0\e,T7h\e1R9MR(7S!RCa\e0!i\e1d""3P\e07Uh\e1\e04Y\e1\e0"i\e1M$GRA$S\e0*h\e1GB`K\e0EW\e1M\e09Qi\e19M\e0BYh\e1\e(B, \e,Ta\e0Ei\e1G\e(B
+\e0\e,T$h\e1MB\e0;i\e1M9$S\e0JQh\e1'\e(B C-x 1.
 
-\e0\e,T5h\e(B\e1\e,TMd;\e(B\e0\e,T9Ui\e(B\e1\e,T`\e(B\e0\e,T;g\e(B\e1\e,T9\e(B\e0\e,T5Q\e(B\e1\e,TG`\e(B\e0\e,TEW\e(B\e1\e,TM!\e(B\e0\e,T7Uh\e(B\e1\e,T`\e(B\e0\e,T;g\e(B\e1\e,T9;CPbB*\e(B\e0\e,T9l\e(B\e1:
+\e0\e,T5h\e1Md;\e09Ui\e1`\e0;g\e19\e05Q\e1G`\e0EW\e1M!\e07Uh\e1`\e0;g\e19;CPbB*\e09l\e1\e(B:
 
-   C-h f       \e,TM\e(B\e0\e,T8T\e(B\e1\e,T:RB\e(B\e0\e,T?Q\e(B\e1\e,T'\e(B\e0\e,T!l\e(B\e1\e0\e,T*Q\e(B\e1\e,T9\e(B. \e0\e,T>T\e(B\e1\e,TA\e(B\e0\e,T>l\e(B\e1\e0\e,T*Wh\e(B\e1\e,TM\e(B\e0\e,T?Q\e(B\e1\e,T'\e(B\e0\e,T!l\e(B\e1\e0\e,T*Q\e(B\e1\e,T9\e(B\e0\e,T7Uh\e(B\e1\e0\e,T5i\e(B\e1\e,TM'!RC7CR:5RAE'd;\e(B.
+   C-h f       \e,TM\e08T\e1:RB\e0?Q\e1'\e0!l\e1\e0*Q\e19\e(B. \e0\e,T>T\e1A\e0>l\e1\e0*Wh\e1M\e0?Q\e1'\e0!l\e1\e0*Q\e19\e07Uh\e1\e05i\e1M'!RC7CR:5RAE'd;\e(B.
 
->> \e,TEM'\e(B\e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-h f previous-line<Return>.
-   \e0\e,T9Uh\e(B\e1\e,T`\e(B\e0\e,T;g\e(B\e1\e,T9!RC\e(B\e0\e,T7Uh\e(B\e1\e,T(P7Sc\e(B\e0\e,TKi\e(B\e1\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e0\e,T>T\e(B\e1\e,TA\e(B\e0\e,T>l\e(B\e1\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B\e0\e,T7Qi\e(B\e1\e,T'KA4\e(B\e0\e,T7Uh\e(B\e1\e0\e,TAU\e(B\e1\e,T`\e(B\e0\e,T!Uh\e(B\e1\e,TBG\e(B\e0\e,T!Q\e(B\e1\e,T:\e(B\e0\e,T?Q\e(B\e1\e,T'\e(B\e0\e,T!l\e(B\e1\e0\e,T*Q\e(B\e1\e,T9"M'$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-p.
+>> \e,TEM'\e0;i\e1M9$S\e0JQh\e1'\e(B C-h f previous-line<Return>.
+   \e0\e,T9Uh\e1`\e0;g\e19!RC\e07Uh\e1(P7Sc\e0Ki\e1\e0MU\e1aA!\e0Jl\e1\e0>T\e1A\e0>l\e1\e0"i\e1M\e0AY\e1E\e07Qi\e1'KA4\e07Uh\e1\e0AU\e1`\e0!Uh\e1BG\e0!Q\e1:\e0?Q\e1'\e0!l\e1\e0*Q\e19"M'$S\e0JQh\e1'\e(B C-p.
 
-   C-h a       \e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'$GRA\e(B\e0\e,T7Uh\e(B\e1\e,T`KARPJA\e(B (Command Apropos). \e0\e,T;i\e(B\e1\e,TM9$SK\e(B\e0\e,TEQ\e(B\e1\e,T!\e(B (keyword)
-               \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG\e(B\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,T(PaJ4'CRB!RC"M'$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T7Qi\e(B\e1\e,T'KA4\e(B\e0\e,T7Uh\e(B\e1\e0\e,TAU\e(B\e1\e,T$SK\e(B\e0\e,TEQ\e(B\e1\e,T!;CP!M:M\e(B\e0\e,TBYh\e(B\e1.
-               \e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'`K\e(B\e0\e,TEh\e(B\e1\e,TR\e(B\e0\e,T9Ui\e(B\e1\e,T(P`\e(B\e0\e,TCU\e(B\e1\e,TB!c\e(B\e0\e,T*i\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1\e0\e,T4i\e(B\e1\e,TGB$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B META-x.
-               \e,TJSK\e(B\e0\e,TCQ\e(B\e1\e,T::R'$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B, \e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'$GRA\e(B\e0\e,T7Uh\e(B\e1\e,T`KARPJA\e(B (Command Apropos) \e,T(P\e(B
-               \e,TaJ4'CRB!RC"M'$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e,T;CP!M:\e(B\e0\e,T4i\e(B\e1\e,TGBK\e(B\e0\e,T9Vh\e(B\e1\e,T'K\e(B\e0\e,TCW\e(B\e1\e,TMJM'JRB\e(B\e0\e,TMQ\e(B\e1\e,T!"CP\e(B\e0\e,T7Uh\e(B\e1\e,Tc\e(B\e0\e,T*i\e(B\e1\e,T`\e(B\e0\e,TCU\e(B\e1\e,TB!\e(B
-               \e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'`\e(B\e0\e,T4U\e(B\e1\e,TBG\e(B\e0\e,T!Q\e(B\e1\e,T9\e(B\e0\e,T4i\e(B\e1\e,TGB\e(B.
+   C-h a       \e,T$S\e0JQh\e1'$GRA\e07Uh\e1`KARPJA\e(B (Command Apropos). \e0\e,T;i\e1M9$SK\e0EQ\e1!\e(B (keyword)
+               \e,Ta\e0Ei\e1G\e0MU\e1aA!\e0Jl\e1(PaJ4'CRB!RC"M'$S\e0JQh\e1'\e07Qi\e1'KA4\e07Uh\e1\e0AU\e1$SK\e0EQ\e1!;CP!M:M\e0BYh\e1\e(B.
+               \e,T$S\e0JQh\e1'`K\e0Eh\e1R\e09Ui\e1(P`\e0CU\e1B!c\e0*i\e1d\e04i\e1\e04i\e1GB$S\e0JQh\e1'\e(B META-x.
+               \e,TJSK\e0CQ\e1::R'$S\e0JQh\e1'\e(B, \e,T$S\e0JQh\e1'$GRA\e07Uh\e1`KARPJA\e(B (Command Apropos) \e,T(P\e(B
+               \e,TaJ4'CRB!RC"M'$S\e0JQh\e1'\e07Uh\e1;CP!M:\e04i\e1GBK\e09Vh\e1'K\e0CW\e1MJM'JRB\e0MQ\e1!"CP\e07Uh\e1c\e0*i\e1`\e0CU\e1B!\e(B
+               \e,T$S\e0JQh\e1'`\e04U\e1BG\e0!Q\e19\e04i\e1GB\e(B.
 
->> \e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-h a file<Return>.
+>> \e0\e,T;i\e1M9$S\e0JQh\e1'\e(B C-h a file<Return>.
 
-\e0\e,T9Uh\e(B\e1\e,T`\e(B\e0\e,T;g\e(B\e1\e,T9!RCaJ4'CRB!RC"M'$S\e(B\e0\e,TJQh\e(B\e1\e,T';CP!M:"M'\e(B M-x \e0\e,T!Q\e(B\e1\e,T:\e(B "file" \e,Tc9\e(B\e0\e,T*Wh\e(B\e1\e,TM"M'$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B
-\e0\e,T7Qi\e(B\e1\e,T'KA4c9\e(B\e0\e,TMU\e(B\e1\e,T!K\e(B\e0\e,T9i\e(B\e1\e,TR(M\e(B. \e0\e,T7h\e(B\e1\e,TR9(P`\e(B\e0\e,TKg\e(B\e1\e,T9$S\e(B\e0\e,TJQh\e(B\e1\e,T';CP!M:\e(B\e0\e,TMQ\e(B\e1\e,T!"CP\e(B (character-command) \e,T`\e(B\e0\e,T*h\e(B\e1\e,T9\e(B C-x
-C-f \e,TaJ4'M\e(B\e0\e,TBYh\e(B\e1\e0\e,T!Q\e(B\e1\e,T:\e(B\e0\e,T*Wh\e(B\e1\e,TM"M'$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B\e0\e,T9Qi\e(B\e1\e,T9f\e(B \e,T`\e(B\e0\e,T*h\e(B\e1\e,T9\e(B find-file.
+\e0\e,T9Uh\e1`\e0;g\e19!RCaJ4'CRB!RC"M'$S\e0JQh\e1';CP!M:"M'\e(B M-x \e0\e,T!Q\e1:\e(B "file" \e,Tc9\e0*Wh\e1M"M'$S\e0JQh\e1'\e(B
+\e0\e,T7Qi\e1'KA4c9\e0MU\e1!K\e09i\e1R(M\e(B. \e0\e,T7h\e1R9(P`\e0Kg\e19$S\e0JQh\e1';CP!M:\e0MQ\e1!"CP\e(B (character-command) \e,T`\e0*h\e19\e(B C-x
+C-f \e,TaJ4'M\e0BYh\e1\e0!Q\e1:\e0*Wh\e1M"M'$S\e0JQh\e1'\e09Qi\e19f\e(B \e,T`\e0*h\e19\e(B find-file.
 
->> \e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-M-v \e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TM`$\e(B\e0\e,TEWh\e(B\e1\e,TM9\e(B\e0\e,TAi\e(B\e1\e,TG9\e(B\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1\e,T$S\e(B\e0\e,T*h\e(B\e1\e,TGB`K\e(B\e0\e,TEW\e(B\e1\e,TM\e(B (help window). \e,TEM'7S\e(B\e0\e,T4Y\e(B\e1\e0\e,TJQ\e(B\e1\e,T!\e(B
-   \e,TJM'JRA$\e(B\e0\e,TCQi\e(B\e1\e,T'\e(B.
+>> \e0\e,T;i\e1M9$S\e0JQh\e1'\e(B C-M-v \e,T`\e0>Wh\e1M`$\e0EWh\e1M9\e0Ai\e1G9\e0GT\e19b4\e0Gl\e1$S\e0*h\e1GB`K\e0EW\e1M\e(B (help window). \e,TEM'7S\e04Y\e1\e0JQ\e1!\e(B
+   \e,TJM'JRA$\e0CQi\e1'\e(B.
 
->> \e0\e,T;i\e(B\e1\e,TM9$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-x 1 \e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TM!S\e(B\e0\e,T(Q\e(B\e1\e,T4\e(B\e0\e,TGT\e(B\e1\e,T9b4\e(B\e0\e,TGl\e(B\e1\e,T$S\e(B\e0\e,T*h\e(B\e1\e,TGB`K\e(B\e0\e,TEW\e(B\e1\e,TM\e(B.
+>> \e0\e,T;i\e1M9$S\e0JQh\e1'\e(B C-x 1 \e,T`\e0>Wh\e1M!S\e0(Q\e14\e0GT\e19b4\e0Gl\e1$S\e0*h\e1GB`K\e0EW\e1M\e(B.
 
 
-* \e,TJ\e(B\e0\e,TCX\e(B\e1\e,T;\e(B
+* \e,TJ\e0CX\e1;\e(B
 -----
 
-\e0\e,TJTh\e(B\e1\e,T'$GC(Sd\e(B\e0\e,TGi\e(B\e1\e0\e,T$W\e(B\e1\e,TM\e(B, \e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-x C-c \e,Tc\e(B\e0\e,T*i\e(B\e1\e,TJSK\e(B\e0\e,TCQ\e(B\e1\e,T:MM!(R!\e(B\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,TM\e(B\e0\e,TBh\e(B\e1\e,TR'6RGC\e(B. \e0\e,T6i\e(B\e1\e,TR\e(B\e0\e,T5i\e(B\e1\e,TM'!RCMM!d;\e(B\e0\e,TBQ\e(B\e1\e,T'\e(B
-\e,T`*E\e(B\e0\e,TEl\e(B\e1\e0\e,T*Qh\e(B\e1\e,TG$CRG\e(B, \e,TaEPJRARC6!\e(B\e0\e,TEQ\e(B\e1\e,T:AR\e(B\e0\e,TBQ\e(B\e1\e,T'\e(B\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1\e0\e,TMU\e(B\e1\e,T!\e(B\e0\e,T9Qi\e(B\e1\e,T9\e(B, \e,Tc\e(B\e0\e,TKi\e(B\e1\e,Tc\e(B\e0\e,T*i\e(B\e1\e,T$S\e(B\e0\e,TJQh\e(B\e1\e,T'\e(B C-z.
+\e0\e,TJTh\e1'$GC(Sd\e0Gi\e1\e0$W\e1M\e(B, \e,T$S\e0JQh\e1'\e(B C-x C-c \e,Tc\e0*i\e1JSK\e0CQ\e1:MM!(R!\e0MU\e1aA!\e0Jl\e1M\e0Bh\e1R'6RGC\e(B. \e0\e,T6i\e1R\e05i\e1M'!RCMM!d;\e0BQ\e1'\e(B
+\e,T`*E\e0El\e1\e0*Qh\e1G$CRG\e(B, \e,TaEPJRARC6!\e0EQ\e1:AR\e0BQ\e1'\e0MU\e1aA!\e0Jl\e1d\e04i\e1\e0MU\e1!\e09Qi\e19\e(B, \e,Tc\e0Ki\e1c\e0*i\e1$S\e0JQh\e1'\e(B C-z.
 
-\e0\e,T$Yh\e(B\e1\e0\e,TAW\e(B\e1\e,TM!RCc\e(B\e0\e,T*i\e(B\e1\e0\e,T9Ui\e(B\e1\e0\e,TAU\e(B\e1\e,T`(59Rc\e(B\e0\e,TKi\e(B\e1\e0\e,T<Yi\e(B\e1\e0\e,T7Uh\e(B\e1\e,T`\e(B\e0\e,T>Th\e(B\e1\e,T'`\e(B\e0\e,TCTh\e(B\e1\e,TAc\e(B\e0\e,T*i\e(B\e1\e0\e,T7Qi\e(B\e1\e,T'KERBJRARC6`\e(B\e0\e,T"i\e(B\e1\e,TRc(d\e(B\e0\e,T4i\e(B\e1, \e0\e,T4Q\e(B\e1\e,T'\e(B\e0\e,T9Qi\e(B\e1\e,T9\e(B\e0\e,T6i\e(B\e1\e,TR\e(B\e0\e,T7h\e(B\e1\e,TR9>::R'\e(B\e0\e,TJTh\e(B\e1\e,T'\e(B\e0\e,T7Uh\e(B\e1\e,Td\e(B\e0\e,TAh\e(B\e1
-\e0\e,T*Q\e(B\e1\e,T4`(9\e(B, \e,Td\e(B\e0\e,TAh\e(B\e1\e0\e,T5i\e(B\e1\e,TM'\e(B\e0\e,T9Qh\e(B\e1\e,T'5SK\e(B\e0\e,T9T\e(B\e1\e0\e,T5Q\e(B\e1\e,TG`M'\e(B - \e,TJM:6RAARd\e(B\e0\e,T4i\e(B\e1\e,T`EB\e(B!
+\e0\e,T$Yh\e1\e0AW\e1M!RCc\e0*i\e1\e09Ui\e1\e0AU\e1`(59Rc\e0Ki\e1\e0<Yi\e1\e07Uh\e1`\e0>Th\e1'`\e0CTh\e1Ac\e0*i\e1\e07Qi\e1'KERBJRARC6`\e0"i\e1Rc(d\e04i\e1\e(B, \e0\e,T4Q\e1'\e09Qi\e19\e06i\e1R\e07h\e1R9>::R'\e0JTh\e1'\e07Uh\e1d\e0Ah\e1\e(B
+\e0\e,T*Q\e14`(9\e(B, \e,Td\e0Ah\e1\e05i\e1M'\e09Qh\e1'5SK\e09T\e1\e05Q\e1G`M'\e(B - \e,TJM:6RAARd\e04i\e1`EB\e(B!
 
 
 * \e,T!RC7SJS`9R\e(B (copying)
 ----------------------
 
-\e0\e,T$Yh\e(B\e1\e0\e,TAW\e(B\e1\e,TM\e(B\e0\e,T9Ui\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1\e0\e,TCQ\e(B\e1\e,T:!RC\e(B\e0\e,T>Q\e(B\e1\e,T29RAR`\e(B\e0\e,T;g\e(B\e1\e,T9CPBP`GER9R9\e(B, \e,T`\e(B\e0\e,TCTh\e(B\e1\e,TA\e(B\e0\e,T5Qi\e(B\e1\e,T'a\e(B\e0\e,T5h\e(B\e1\e0\e,T5i\e(B\e1\e,T9)\e(B\e0\e,T:Q\e(B\e1\e,T:\e(B\e0\e,T7Uh\e(B\e1\e,T`\e(B\e0\e,T"U\e(B\e1\e,TB9b4B\e(B Stuart Cracraft.
+\e0\e,T$Yh\e1\e0AW\e1M\e09Ui\e1d\e04i\e1\e0CQ\e1:!RC\e0>Q\e129RAR`\e0;g\e19CPBP`GER9R9\e(B, \e,T`\e0CTh\e1A\e05Qi\e1'a\e05h\e1\e05i\e19)\e0:Q\e1:\e07Uh\e1`\e0"U\e1B9b4B\e(B Stuart Cracraft.
 
-\e0\e,T$Yh\e(B\e1\e0\e,TAW\e(B\e1\e,TM`GM\e(B\e0\e,TCl\e(B\e1\e0\e,T*Q\e(B\e1\e,T9\e(B\e0\e,T9Ui\e(B\e1, \e,T`\e(B\e0\e,T*h\e(B\e1\e,T9`\e(B\e0\e,T4U\e(B\e1\e,TBG\e(B\e0\e,T!Q\e(B\e1\e,T:\e(B GNU Emacs, \e,Td\e(B\e0\e,T4i\e(B\e1\e0\e,TCQ\e(B\e1\e,T:!RCJ'G9\e(B\e0\e,TJT\e(B\e1\e,T7\e(B\e0\e,T8Tl\e(B\e1, \e,TaEP<9G!d\e(B\e0\e,TGi\e(B\e1\e,Tc9`\e(B\e0\e,T'Wh\e(B\e1\e,TM9d"c9\e(B
-\e,T!RC`<Ba>\e(B\e0\e,TCh\e(B\e1\e0\e,T4i\e(B\e1\e,TGB\e(B:
+\e0\e,T$Yh\e1\e0AW\e1M`GM\e0Cl\e1\e0*Q\e19\e09Ui\e1\e(B, \e,T`\e0*h\e19`\e04U\e1BG\e0!Q\e1:\e(B GNU Emacs, \e,Td\e04i\e1\e0CQ\e1:!RCJ'G9\e0JT\e17\e08Tl\e1\e(B, \e,TaEP<9G!d\e0Gi\e1c9`\e0'Wh\e1M9d"c9\e(B
+\e,T!RC`<Ba>\e0Ch\e1\e04i\e1GB\e(B:
 
-\e,TJ'G9\e(B\e0\e,TET\e(B\e1\e,T"\e(B\e0\e,TJT\e(B\e1\e,T7\e(B\e0\e,T8Tl\e(B\e\e,T>\e(B.\e,TH\e(B. 2528, 2529 \e,Tb4B?\e(B\e0\e,TCU\e(B\e1\e,T+M?\e(B\e0\e,T5l\e(B\e1\e,TaG\e(B\e0\e,TCl\e(B\e1\e,T?RG\e(B\e0\e,T9l\e(B\e1\e,T`4\e(B\e0\e,T*Q\e(B\e1\e,T9\e(B (Free Software Foundation) 
+\e,TJ'G9\e0ET\e1"\e0JT\e17\e08Tl\e1\e(B \e,T>\e(B.\e,TH\e(B. 2528, 2529 \e,Tb4B?\e0CU\e1+M?\e05l\e1aG\e0Cl\e1?RG\e09l\e1`4\e0*Q\e19\e(B (Free Software Foundation)
 
-   \e0\e,T7X\e(B\e1\e,T!\e(B\e0\e,T7h\e(B\e1\e,TR9\e(B\e0\e,TAU\e(B\e1\e0\e,TJT\e(B\e1\e,T7\e(B\e0\e,T8Tl\e(B\e1\e,Tc9!RC7SJS`9RK\e(B\e0\e,TCW\e(B\e1\e,TM`<Ba>\e(B\e0\e,TCh\e(B\e1\e,T`M!JRC\e(B\e0\e,T9Ui\e(B\e1, \e,Tc9\e(B\e0\e,T7X\e(B\e1\e,T!\e(B\e0\e,TJWh\e(B\e1\e,TM\e(B, \e,Tb4B\e(B\e0\e,T5i\e(B\e1\e,TM'a9:\e(B\e0\e,T"i\e(B\e1\e,TM$GRAaJ4'\e(B
-   \e0\e,TJT\e(B\e1\e,T7\e(B\e0\e,T8Tl\e(B\e1\e,TaEP!RCM\e(B\e0\e,T9X\e(B\e1\e,T-R5\e(B\e0\e,T9Ui\e(B\e1\e,Td;>\e(B\e0\e,TCi\e(B\e1\e,TMA\e(B\e0\e,T4i\e(B\e1\e,TGB\e(B. \e0\e,T7Qi\e(B\e1\e,T'\e(B\e0\e,T9Ui\e(B\e1\e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TM\e(B\e0\e,T*Ui\e(B\e1\e,Tc\e(B\e0\e,TKi\e(B\e1\e,T`\e(B\e0\e,TKg\e(B\e1\e,T9\e(B\e0\e,TGh\e(B\e1\e,TR\e(B\e0\e,T<Yi\e(B\e1\e,T`<Ba>\e(B\e0\e,TCh\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1\e,TM\e(B\e0\e,T9X\e(B\e1\e,T-R5c\e(B\e0\e,TKi\e(B\e1\e0\e,T<Yi\e(B\e1\e0\e,T7Uh\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1\e0\e,TCQ\e(B\e1\e,T:\e(B
-   \e,TJRARC67S!RC`<Ba>\e(B\e0\e,TCh\e(B\e1\e0\e,T5h\e(B\e1\e,TMd;d\e(B\e0\e,T4i\e(B\e1\e,Tb4BMR\e(B\e0\e,THQ\e(B\e1\e,TB\e(B\e0\e,T"i\e(B\e1\e,TM$GRAc9`M!JRC\e(B\e0\e,T9Ui\e(B\e1.
+   \e0\e,T7X\e1!\e07h\e1R9\e0AU\e1\e0JT\e17\e08Tl\e1c9!RC7SJS`9RK\e0CW\e1M`<Ba>\e0Ch\e1`M!JRC\e09Ui\e1\e(B, \e,Tc9\e07X\e1!\e0JWh\e1M\e(B, \e,Tb4B\e05i\e1M'a9:\e0"i\e1M$GRAaJ4'\e(B
+   \e0\e,TJT\e17\e08Tl\e1aEP!RCM\e09X\e1-R5\e09Ui\e1d;>\e0Ci\e1MA\e04i\e1GB\e(B. \e0\e,T7Qi\e1'\e09Ui\e1`\e0>Wh\e1M\e0*Ui\e1c\e0Ki\e1`\e0Kg\e19\e0Gh\e1R\e0<Yi\e1`<Ba>\e0Ch\e1d\e04i\e1M\e09X\e1-R5c\e0Ki\e1\e0<Yi\e1\e07Uh\e1d\e04i\e1\e0CQ\e1:\e(B
+   \e,TJRARC67S!RC`<Ba>\e0Ch\e1\e05h\e1Md;d\e04i\e1b4BMR\e0HQ\e1B\e0"i\e1M$GRAc9`M!JRC\e09Ui\e1\e(B.
 
-   \e,T!RCM\e(B\e0\e,T9X\e(B\e1\e,T-R5\e(B\e0\e,T9Qi\e(B\e1\e,T9d\e(B\e0\e,T4i\e(B\e1\e,TCGA\e(B\e0\e,T6V\e(B\e1\e,T'\e(B\e0\e,TJT\e(B\e1\e,T7\e(B\e0\e,T8Tl\e(B\e1\e,Tc9!RC`<Ba>\e(B\e0\e,TCh\e(B\e1\e,T`GM\e(B\e0\e,TCl\e(B\e1\e0\e,T*Q\e(B\e1\e,T9\e(B\e0\e,T7Uh\e(B\e1\e,T;\e(B\e0\e,TCQ\e(B\e1\e,T:;\e(B\e0\e,TCX\e(B\e1\e,T'a\e(B\e0\e,TEi\e(B\e1\e,TG\e(B, \e,TK\e(B\e0\e,TCW\e(B\e1\e,TM\e(B\e0\e,TJh\e(B\e1\e,TG9K\e(B\e0\e,T9Vh\e(B\e1\e,T'"M'\e(B
-   \e,T`M!JRC\e(B\e0\e,T9Ui\e(B\e1, \e,T@RBc\e(B\e0\e,T5i\e(B\e1\e,T`\e(B\e0\e,T'Wh\e(B\e1\e,TM9d"\e(B\e0\e,T"i\e(B\e1\e,TR':9\e(B, \e,T5EM4(9\e(B\e0\e,TJT\e(B\e1\e,T7\e(B\e0\e,T8Tl\e(B\e1\e,Tc9!RC:M!\e(B\e0\e,TGh\e(B\e1\e,TRc$C`\e(B\e0\e,T;g\e(B\e1\e,T9\e(B\e0\e,T<Yi\e(B\e1\e,T;\e(B\e0\e,TCQ\e(B\e1\e,T:;\e(B\e0\e,TCX\e(B\e1\e,T'\e(B\e0\e,TEh\e(B\e1\e,TR\e(B\e0\e,TJX\e(B\e1\e,T4\e(B.
+   \e,T!RCM\e09X\e1-R5\e09Qi\e19d\e04i\e1CGA\e06V\e1'\e0JT\e17\e08Tl\e1c9!RC`<Ba>\e0Ch\e1`GM\e0Cl\e1\e0*Q\e19\e07Uh\e1;\e0CQ\e1:;\e0CX\e1'a\e0Ei\e1G\e(B, \e,TK\e0CW\e1M\e0Jh\e1G9K\e09Vh\e1'"M'\e(B
+   \e,T`M!JRC\e09Ui\e1\e(B, \e,T@RBc\e05i\e1`\e0'Wh\e1M9d"\e0"i\e1R':9\e(B, \e,T5EM4(9\e0JT\e17\e08Tl\e1c9!RC:M!\e0Gh\e1Rc$C`\e0;g\e19\e0<Yi\e1;\e0CQ\e1:;\e0CX\e1'\e0Eh\e1R\e0JX\e14\e(B.
 
-\e,T`\e(B\e0\e,T'Wh\e(B\e1\e,TM9d""M'!RC7SJS`9R\e(B\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,T(P\e(B\e0\e,T+Q\e(B\e1\e,T:\e(B\e0\e,T+i\e(B\e1\e,TM9AR!!\e(B\e0\e,TGh\e(B\e1\e,TR\e(B\e0\e,T9Ui\e(B\e1, \e,Ta\e(B\e0\e,T5h\e(B\e1\e0\e,TAU\e(B\e1\e,T`(59RCA\e(B\e0\e,T3l\e(B\e1\e0\e,T7Uh\e(B\e1\e,T`K\e(B\e0\e,TAW\e(B\e1\e,TM9\e(B\e0\e,T!Q\e(B\e1\e,T9\e(B. \e,T!\e(B\e0\e,TCX\e(B\e1\e,T3R\e(B
-\e0\e,TMh\e(B\e1\e,TR9a\e(B\e0\e,T?i\e(B\e1\e,TA\e(B\e0\e,T"i\e(B\e1\e,TM\e(B\e0\e,TAY\e(B\e1\e,TE\e(B COPYING \e,Ta\e(B\e0\e,TEi\e(B\e1\e,TG`<Ba>\e(B\e0\e,TCh\e(B\e1\e,TJS`9R"M'\e(B GNU Emacs \e,Td;\e(B\e0\e,TBQ\e(B\e1\e,T'`\e(B\e0\e,T>Wh\e(B\e1\e,TM9f\e(B \e,T"M'\e(B\e0\e,T7h\e(B\e1\e,TR9\e(B\e0\e,T4i\e(B\e1\e,TGB\e(B. 
-\e0\e,T*h\e(B\e1\e,TGB\e(B\e0\e,T!Q\e(B\e1\e,T97SERBCP::KG'+M?\e(B\e0\e,T5l\e(B\e1\e,TaG\e(B\e0\e,TCl\e(B\e1 ("\e,TaJ4'$GRA`\e(B\e0\e,T;g\e(B\e1\e,T9`\e(B\e0\e,T(i\e(B\e1\e,TR\e(B\e0\e,T"i\e(B\e1\e,TRG`\e(B\e0\e,T(i\e(B\e1\e,TR"M'\e(B") \e0\e,T4i\e(B\e1\e,TGB!RCc\e(B\e0\e,T*i\e(B\e1, 
-\e,T!RC`\e(B\e0\e,T"U\e(B\e1\e,TB9\e(B, \e,TaEP!RC`\e(B\e0\e,T;g\e(B\e1\e,T9`\e(B\e0\e,T(i\e(B\e1\e,TR"M'\e(B\e0\e,TCh\e(B\e1\e,TGA\e(B\e0\e,T!Q\e(B\e1\e,T9"M'+M?\e(B\e0\e,T5l\e(B\e1\e,TaG\e(B\e0\e,TCl\e(B\e1\e,T`J\e(B\e0\e,TCU\e(B\e1 (free software).
+\e,T`\e0'Wh\e1M9d""M'!RC7SJS`9R\e0MU\e1aA!\e0Jl\e1(P\e0+Q\e1:\e0+i\e1M9AR!!\e0Gh\e1R\e09Ui\e1\e(B, \e,Ta\e05h\e1\e0AU\e1`(59RCA\e03l\e1\e07Uh\e1`K\e0AW\e1M9\e0!Q\e19\e(B. \e,T!\e0CX\e13R\e(B
+\e0\e,TMh\e1R9a\e0?i\e1A\e0"i\e1M\e0AY\e1E\e(B COPYING \e,Ta\e0Ei\e1G`<Ba>\e0Ch\e1JS`9R"M'\e(B GNU Emacs \e,Td;\e0BQ\e1'`\e0>Wh\e1M9f\e(B \e,T"M'\e07h\e1R9\e04i\e1GB\e(B.
+\e0\e,T*h\e1GB\e0!Q\e197SERBCP::KG'+M?\e05l\e1aG\e0Cl\e1\e(B ("\e,TaJ4'$GRA`\e0;g\e19`\e0(i\e1R\e0"i\e1RG`\e0(i\e1R"M'\e(B") \e0\e,T4i\e1GB!RCc\e0*i\e1\e(B,
+\e,T!RC`\e0"U\e1B9\e(B, \e,TaEP!RC`\e0;g\e19`\e0(i\e1R"M'\e0Ch\e1GA\e0!Q\e19"M'+M?\e05l\e1aG\e0Cl\e1`J\e0CU\e1\e(B (free software).
 
 
-* \e0\e,T5i\e(B\e1\e,T9)\e(B\e0\e,T:Q\e(B\e1\e,T:\e(B\e0\e,TGh\e(B\e1\e,TR\e(B\e0\e,T4i\e(B\e1\e,TGB`\e(B\e0\e,TCWh\e(B\e1\e,TM'!RC7SJS`9R\e(B
+* \e0\e,T5i\e19)\e0:Q\e1:\e0Gh\e1R\e04i\e1GB`\e0CWh\e1M'!RC7SJS`9R\e(B
 --------------------------
 
-\e0\e,T5h\e(B\e1\e,TMd;\e(B\e0\e,T9Ui\e(B\e1\e,T`\e(B\e0\e,T;g\e(B\e1\e,T9`M!JRC\e(B\e0\e,TGh\e(B\e1\e,TR\e(B\e0\e,T4i\e(B\e1\e,TGB`\e(B\e0\e,TCWh\e(B\e1\e,TM'!RC7SJS`9R\e(B\e0\e,T7Uh\e(B\e1\e,T`\e(B\e0\e,T;g\e(B\e1\e,T9\e(B\e0\e,T5i\e(B\e1\e,T9)\e(B\e0\e,T:Q\e(B\e1\e,T:\e(B. \e,T`M!JRC\e(B\e0\e,T9Ui\e(B\e1\e,T;CR!/M\e(B\e0\e,TBYh\e(B\e1\e,Tc9\e(B\e0\e,T$Yh\e(B\e1\e0\e,TAW\e(B\e1\e,TM!RCc\e(B\e0\e,T*i\e(B\e1
-\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,T)\e(B\e0\e,T:Q\e(B\e1\e,T:@RIR\e(B\e0\e,TMQ\e(B\e1\e,T'!DI\e(B, \e0\e,T+Vh\e(B\e1\e,T'`\e(B\e0\e,T;g\e(B\e1\e,T9\e(B\e0\e,T5i\e(B\e1\e,T9)\e(B\e0\e,T:Q\e(B\e1\e,T:"M'`M!JRCa;E)\e(B\e0\e,T:Q\e(B\e1\e,T:\e(B\e0\e,T9Ui\e(B\e1\e0\e,T4i\e(B\e1\e,TGB\e(B.
+\e0\e,T5h\e1Md;\e09Ui\e1`\e0;g\e19`M!JRC\e0Gh\e1R\e04i\e1GB`\e0CWh\e1M'!RC7SJS`9R\e07Uh\e1`\e0;g\e19\e05i\e19)\e0:Q\e1:\e(B. \e,T`M!JRC\e09Ui\e1;CR!/M\e0BYh\e1c9\e0$Yh\e1\e0AW\e1M!RCc\e0*i\e1\e(B
+\e0\e,TMU\e1aA!\e0Jl\e1)\e0:Q\e1:@RIR\e0MQ\e1'!DI\e(B, \e0\e,T+Vh\e1'`\e0;g\e19\e05i\e19)\e0:Q\e1:"M'`M!JRCa;E)\e0:Q\e1:\e09Ui\e1\e04i\e1GB\e(B.
 
 This tutorial descends from a long line of Emacs tutorials
 starting with the one written by Stuart Cracraft for the original Emacs.
@@ -988,19 +988,19 @@ GNU Emacs to your friends.  Help stamp out software obstructionism
 ("ownership") by using, writing, and sharing free software!
 
 
-* \e,T$S\e(B\e0\e,TJh\e(B\e1\e,T'\e(B\e0\e,T7i\e(B\e1\e,TRB\e(B
+* \e,T$S\e0Jh\e1'\e07i\e1RB\e(B
 ---------
 
-\e0\e,T$Yh\e(B\e1\e0\e,TAW\e(B\e1\e,TM)\e(B\e0\e,T:Q\e(B\e1\e,T:\e(B\e0\e,T9Ui\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1\e,Ta;E(R!\e(B\e0\e,T5i\e(B\e1\e,T9)\e(B\e0\e,T:Q\e(B\e1\e,T:\e(B\e0\e,T7Uh\e(B\e1\e,T`\e(B\e0\e,T;g\e(B\e1\e,T9@RIR\e(B\e0\e,TMQ\e(B\e1\e,T'!DI\e(B, \e0\e,T+Vh\e(B\e1\e,T'(P;CR!/M\e(B\e0\e,TBYh\e(B\e1\e,Tc9\e(B\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,T`GM\e(B\e0\e,TCl\e(B\e1\e0\e,T*Q\e(B\e1\e,T9\e(B 20.4. 
-\e0\e,T<Yi\e(B\e1\e,Ta;Ed\e(B\e0\e,T4i\e(B\e1\e,T7S!RCa;E\e(B\e0\e,T"Vi\e(B\e1\e,T9ARcK\e(B\e0\e,TAh\e(B\e1\e,T`\e(B\e0\e,T9Wh\e(B\e1\e,TM'(R!)\e(B\e0\e,T:Q\e(B\e1\e,T:`\e(B\e0\e,T!h\e(B\e1\e,TR\e(B\e0\e,T7Uh\e(B\e1\e,T`\e(B\e0\e,T;g\e(B\e1\e,T9@RIRd7B\e(B, \e0\e,T+Vh\e(B\e1\e,T'a;Eb4B\e(B \e,T4C\e(B.\e,TAR9>\e(B \e,TG'\e(B\e0\e,THl\e(B\e1
-\e,TJRB\e(B\e0\e,TJX\e(B\e1\e,TGCC3\e(B, \e,Td\e(B\e0\e,T4i\e(B\e1\e0\e,TMT\e(B\e1\e,T'\e(B\e0\e,T$Yh\e(B\e1\e0\e,TAW\e(B\e1\e,TM"M'\e(B\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,T`GM\e(B\e0\e,TCl\e(B\e1\e0\e,T*Q\e(B\e1\e,T9`\e(B\e0\e,T!h\e(B\e1\e,TR\e(B, \e,TaEP"3P\e(B\e0\e,T9Ui\e(B\e1\e0\e,TMU\e(B\e1\e,TaA!\e(B\e0\e,TJl\e(B\e1\e,T`GM\e(B\e0\e,TCl\e(B\e1\e0\e,T*Q\e(B\e1\e,T9\e(B 20.4 \e0\e,T!g\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1
-\e,T`;\e(B\e0\e,TEUh\e(B\e1\e,TB9a;E'd;AR!a\e(B\e0\e,TEi\e(B\e1\e,TG\e(B. \e,T9M!(R!\e(B\e0\e,T9Ui\e(B\e1, \e0\e,T<Yi\e(B\e1\e,Ta;E\e(B\e0\e,TBQ\e(B\e1\e,T'd\e(B\e0\e,T4i\e(B\e1\e,T9S`$\e(B\e0\e,TCWh\e(B\e1\e,TM'KARBGCC$5M9ARc\e(B\e0\e,T*i\e(B\e1\e,Tc9\e(B\e0\e,T7Uh\e(B\e1\e0\e,T9Ui\e(B\e1\e0\e,T4i\e(B\e1\e,TGB\e(B, 
-\e0\e,T7Qi\e(B\e1\e,T'\e(B\e0\e,T9Ui\e(B\e1\e0\e,T!g\e(B\e1\e,T`\e(B\e0\e,T>Wh\e(B\e1\e,TM\e(B\e0\e,T7Uh\e(B\e1\e,T(P`\e(B\e0\e,T"U\e(B\e1\e,TB9c\e(B\e0\e,TKi\e(B\e1\e,Td\e(B\e0\e,T4i\e(B\e1\e,T$GRA\e(B\e0\e,T7Uh\e(B\e1\e0\e,T*Q\e(B\e1\e,T4`(9\e(B. \e,TK\e(B\e0\e,TGQ\e(B\e1\e,T'`\e(B\e0\e,T;g\e(B\e1\e,T9M\e(B\e0\e,TBh\e(B\e1\e,TR'\e(B\e0\e,TBTh\e(B\e1\e,T'\e(B\e0\e,TGh\e(B\e1\e,TR\e(B\e0\e,T$Yh\e(B\e1\e0\e,TAW\e(B\e1\e,TM)\e(B\e0\e,T:Q\e(B\e1\e,T:\e(B\e0\e,T9Ui\e(B\e1\e,T(P`\e(B\e0\e,T;g\e(B\e1\e,T9;CPbB*\e(B\e0\e,T9l\e(B\e
-\e,TaEP(Pd\e(B\e0\e,T4i\e(B\e1\e0\e,TCQ\e(B\e1\e,T:!RCa\e(B\e0\e,T!i\e(B\e1\e,Td"c\e(B\e0\e,TKi\e(B\e1\e0\e,T4U\e(B\e1\e0\e,TBTh\e(B\e1\e,T'f\e(B \e0\e,T"Vi\e(B\e1\e,T9\e(B\e0\e,TMU\e(B\e1\e,T!\e(B\e0\e,T5h\e(B\e1\e,TMf\e(B \e,Td;\e(B. \e,T"M"M:\e(B\e0\e,T$X\e(B\e1\e,T3\e(B \e0\e,T$X\e(B\e1\e,T3\e(B\e0\e,T7Q\e(B\e1\e,TH\e(B\e0\e,T9U\e(B\e1\e0\e,TBl\e(B\e\e,T`(\e(B\e0\e,TCT\e(B\e1\e,T->C\e(B \e0\e,T7Uh\e(B\e1\e,Tc\e(B\e0\e,TKi\e(B\e1\e,T$GRA\e(B
-\e0\e,T*h\e(B\e1\e,TGB`K\e(B\e0\e,TEW\e(B\e1\e,TM5CG(JM:\e(B\e0\e,T5i\e(B\e1\e,T9)\e(B\e0\e,T:Q\e(B\e1\e,T:\e(B.
+\e0\e,T$Yh\e1\e0AW\e1M)\e0:Q\e1:\e09Ui\e1d\e04i\e1a;E(R!\e05i\e19)\e0:Q\e1:\e07Uh\e1`\e0;g\e19@RIR\e0MQ\e1'!DI\e(B, \e0\e,T+Vh\e1'(P;CR!/M\e0BYh\e1c9\e0MU\e1aA!\e0Jl\e1`GM\e0Cl\e1\e0*Q\e19\e(B 20.4.
+\e0\e,T<Yi\e1a;Ed\e04i\e17S!RCa;E\e0"Vi\e19ARcK\e0Ah\e1`\e09Wh\e1M'(R!)\e0:Q\e1:`\e0!h\e1R\e07Uh\e1`\e0;g\e19@RIRd7B\e(B, \e0\e,T+Vh\e1'a;Eb4B\e(B \e,T4C\e(B.\e,TAR9>\e(B \e,TG'\e0Hl\e1\e(B
+\e,TJRB\e0JX\e1GCC3\e(B, \e,Td\e04i\e1\e0MT\e1'\e0$Yh\e1\e0AW\e1M"M'\e0MU\e1aA!\e0Jl\e1`GM\e0Cl\e1\e0*Q\e19`\e0!h\e1R\e(B, \e,TaEP"3P\e09Ui\e1\e0MU\e1aA!\e0Jl\e1`GM\e0Cl\e1\e0*Q\e19\e(B 20.4 \e0\e,T!g\e1d\e04i\e1\e(B
+\e,T`;\e0EUh\e1B9a;E'd;AR!a\e0Ei\e1G\e(B. \e,T9M!(R!\e09Ui\e1\e(B, \e0\e,T<Yi\e1a;E\e0BQ\e1'd\e04i\e19S`$\e0CWh\e1M'KARBGCC$5M9ARc\e0*i\e1c9\e07Uh\e1\e09Ui\e1\e04i\e1GB\e(B,
+\e0\e,T7Qi\e1'\e09Ui\e1\e0!g\e1`\e0>Wh\e1M\e07Uh\e1(P`\e0"U\e1B9c\e0Ki\e1d\e04i\e1$GRA\e07Uh\e1\e0*Q\e14`(9\e(B. \e,TK\e0GQ\e1'`\e0;g\e19M\e0Bh\e1R'\e0BTh\e1'\e0Gh\e1R\e0$Yh\e1\e0AW\e1M)\e0:Q\e1:\e09Ui\e1(P`\e0;g\e19;CPbB*\e09l\e1\e(B
+\e,TaEP(Pd\e04i\e1\e0CQ\e1:!RCa\e0!i\e1d"c\e0Ki\e1\e04U\e1\e0BTh\e1'f\e(B \e0\e,T"Vi\e19\e0MU\e1!\e05h\e1Mf\e(B \e,Td;\e(B. \e,T"M"M:\e0$X\e13\e(B \e0\e,T$X\e13\e07Q\e1H\e09U\e1\e0Bl\e1\e(B \e,T`(\e0CT\e1->C\e(B \e0\e,T7Uh\e1c\e0Ki\e1$GRA\e(B
+\e0\e,T*h\e1GB`K\e0EW\e1M5CG(JM:\e05i\e19)\e0:Q\e1:\e(B.
 
 22 \e,TA!CR$A\e(B 2542
-\e0\e,TGT\e(B\e1\e0\e,TCQ\e(B\e1\e,T*\e(B \e,THC`\e(B\e0\e,TET\e(B\e1\e,TH\e(B\e0\e,TEi\e(B\e1\e,TSGR\e(B\e0\e,T3T\e(B\e1\e,T*\e(B
+\e0\e,TGT\e1\e0CQ\e1*\e(B \e,THC`\e0ET\e1H\e0Ei\e1SGR\e03T\e1*\e(B
 virach@nectec.or.th
 
 Translate - January 1999 by Virach Sornlertlamvanich
index c4faf7205b6e54f553710fc880deb56806580d7f..0678d99ddb79b3ce50b6d781297d6fd5b69a6a8f 100644 (file)
@@ -1,4 +1,4 @@
-                  Why Software Should Not Have Owners 
+                  Why Software Should Not Have Owners
 
                          by Richard Stallman
 
index 07ecf6e8b10fb28e343b71260f71dafb4c6b6e86..31aef8bdacbdaa8a3f821c8b01f7edc0c5db6c1e 100644 (file)
@@ -91,7 +91,7 @@
 0367  '\\', '\\', '|',  '|',  0334, 0334, 0374, 0374, 0034, 0034, 0034, 0034, 0334, 0334, 0334, 0334, /* \ */
 0371  '-',  '-',  '_',  '_',  0255, 0255, 0337, 0337, 0037, 0037, 0037, 0037, 0337, 0337, 0337, 0337, /* - */
 0372  '[',  '[',  '{',  '{',  0333, 0333, 0373, 0373, 0033, 0033, 0033, 0033, 0333, 0333, 0333, 0333, /* [ */
-0373  '\'', '\'', '"',  '"',  0247, 0247, 0242, 0242, U,    U,    U,    U,    U,    U,    U,    U,    /* ' */  
+0373  '\'', '\'', '"',  '"',  0247, 0247, 0242, 0242, U,    U,    U,    U,    U,    U,    U,    U,    /* ' */
 #\f
 # local variables:
 # tab-width: 4
index 1fcff75273503358fcd4c64bcbe36f3a56a20b87..ae999c8869f5f282de20136cb15c96ac2c4f2d8c 100644 (file)
@@ -91,7 +91,7 @@ Foundation, Inc., 675 Massachusetts Ave, Cambridge MA 02139.
 
 \def\ncolumns{\the\columnsperpage}
 
-\message{[\ncolumns\space 
+\message{[\ncolumns\space
   column\if 1\ncolumns\else s\fi\space per page]}
 
 \def\scaledmag#1{ scaled \magstep #1}
@@ -167,7 +167,7 @@ Foundation, Inc., 675 Massachusetts Ave, Cambridge MA 02139.
   \def\bye{\par\vfill\supereject
     \if a\abc \else\null\vfill\eject\fi
     \if a\abc \else\null\vfill\eject\fi
-    \end}  
+    \end}
 \fi
 
 % we won't be using math mode much, so redefine some of the characters
@@ -466,7 +466,7 @@ Common units:
 \iline{distance: \kbd{m}, \kbd{cm}, \kbd{mm}, \kbd{km};
   \kbd{in}, \kbd{ft}, \kbd{mi}, \kbd{mfi};
   \kbd{point}, \kbd{lyr}}
-\iline{volume: \kbd{l} or \kbd{L}, \kbd{ml}; 
+\iline{volume: \kbd{l} or \kbd{L}, \kbd{ml};
   \kbd{gal}, \kbd{qt}, \kbd{pt}, \kbd{cup}, \kbd{floz},
   \kbd{tbsp}, \kbd{tsp}}
 \iline{mass: \kbd{g}, \kbd{mg}, \kbd{kg}, \kbd{t};
index 88f4c6c044ad6b7dac37d1c854caa7778432e6f6..0ccdbdf5247742817f3e3d83216587fb7a6f3c50 100644 (file)
@@ -3,7 +3,7 @@ CONDOM(1)             EUNUCH Programmer's Manual                CONDOM(1)
 
 
 NAME
-       condom - Protection against viruses and prevention of child 
+       condom - Protection against viruses and prevention of child
                 processes
 
 SYNOPSIS
@@ -62,8 +62,8 @@ OPTIONS
                        latex (default)
                        saranwrap
                        membrane -- WARNING!  The membrane option is _not_
-                       endorsed by the System Administrator General as an 
-                       effective barrier against certain viruses.  It is 
+                       endorsed by the System Administrator General as an
+                       effective barrier against certain viruses.  It is
                        supported only for the sake of tradition.
 
        -f FLAVOR       The following FLAVORs are currently supported...
@@ -90,7 +90,7 @@ OPTIONS
                        A smaller value of STRENGTH increases interprocess
                        communication, but also increases the likelihood of a
                        security breach.  An extremely vigorous process or
-                       one passing an enormous amount of data to _condom_ 
+                       one passing an enormous amount of data to _condom_
                        will increase the chance of _condom_'s failure.  The
                        default STRENGTH is 80%.
 
@@ -99,7 +99,7 @@ OPTIONS
                        rough (default)
                        ribbed
                        bumps
-                       lubricated (provides smoother interaction between 
+                       lubricated (provides smoother interaction between
                                    processes)
 
        WARNING: The use of an external application to _condom_ in
@@ -116,9 +116,9 @@ DIAGNOSTICS
                the synchronous process).
 
         1      _condom_ failed and data was allowed through.  The
-               danger of transmission of an STV or the forking of a child 
-               process is inversely proportional to the number of other 
-               protections employed and is directly proportional to 
+               danger of transmission of an STV or the forking of a child
+               process is inversely proportional to the number of other
+               protections employed and is directly proportional to
                the ages of the processes involved.
 
 BUGS
index 3b02f2715bc828c9900b6a6d46155a8740562f46..893557c4689abd6bd5826d4bb00a9991ec998203 100644 (file)
@@ -96,7 +96,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
 \def\ncolumns{\the\columnsperpage}
 
-\message{[\ncolumns\space 
+\message{[\ncolumns\space
   column\if 1\ncolumns\else s\fi\space per page]}
 
 \def\scaledmag#1{ scaled \magstep #1}
@@ -174,7 +174,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
   \def\bye{\par\vfill\supereject
     \if a\abc \else\null\vfill\eject\fi
     \if a\abc \else\null\vfill\eject\fi
-    \end}  
+    \end}
 \fi
 
 % we won't be using math mode much, so redefine some of the characters
index 42e6130a266437e0ed2b6c59ea7b84803da63c09..6a170e06aa003c086947b20242b66f7c350a3667 100644 (file)
@@ -2,8 +2,8 @@
 % Title:  GNU Emacs Survival Card
 % Author: Wlodek Bzyl <matwb@univ.gda.pl>
 %
-% $Revision: 1.8 $
-% $Date: 2000/05/05 22:00:48 $
+% $Revision: 1.1 $
+% $Date: 2001/04/18 13:59:16 $
 %
 %**start of header
 
@@ -14,7 +14,7 @@
 % optional paragraphs separated with \askip amount of vertical space
 % \key{KEY-NAME} description of key or
 % \mkey{M-x LONG-LISP-NAME} description of Elisp function
-%  
+%
 % \kbd{ARG} -- argument is typed literally
 
 \def\plainfmtname{plain}
@@ -22,7 +22,7 @@
 \else
   \errmessage{This file requires `plain' format to be typeset correctly}
   \endinput
-\fi 
+\fi
 
 % Copyright (c) 2000 Free Software Foundation, Inc.
 
@@ -93,7 +93,7 @@
 
 % The TeXbook, p. 257
 \let\lr=L \newbox\leftcolumn
-\output={\if L\lr 
+\output={\if L\lr
     \global\setbox\leftcolumn\columnbox \global\let\lr=R
   \else
        \doubleformat \global\let\lr=L\fi}
 
 \def\bye{\par\vfil\supereject
   \if R\lr \null\vfil\eject\fi
-  \end}  
+  \end}
 
 \outer\def\title#1#2{{\titlefont\centerline{#1}}\vskip 1ex plus 0.5ex
    \centerline{\ss#2}
 \def\nohyphens
    {\hyphenpenalty10000\exhyphenpenalty10000\pretolerance10000}
 \def\raggedspaces
-   {\spaceskip=0.3333em\relax 
+   {\spaceskip=0.3333em\relax
     \xspaceskip=0.5em\relax}
 \def\raggedright
    {\raggedstretch=6em
index 06002ae0bd65e86c2c2e407f1add3e9a17fc09cc..5931436933ea23c3c9d052854dcc2fdb2557a4e4 100644 (file)
@@ -81,7 +81,7 @@ are preserved on all copies.
 
 \def\ncolumns{\the\columnsperpage}
 
-\message{[\ncolumns\space 
+\message{[\ncolumns\space
   column\if 1\ncolumns\else s\fi\space per page]}
 
 \def\scaledmag#1{ scaled \magstep #1}
@@ -161,7 +161,7 @@ are preserved on all copies.
   \def\bye{\par\vfill\supereject
     \if a\abc \else\null\vfill\eject\fi
     \if a\abc \else\null\vfill\eject\fi
-    \end}  
+    \end}
 \fi
 
 % we won't be using math mode much, so redefine some of the characters
@@ -590,7 +590,7 @@ Sonstige:
 
 \section{Einfaches Konfigurieren}
 
-% Das ist nur was fuer Leute die Lisp beherrschen 
+% Das ist nur was fuer Leute die Lisp beherrschen
 
 Ein Beispiel dafuer, wie man Tastenkombinationen definiert:
 
index bce593ad6cac186f7d3f4b6cf86695387476c5c5..07f18dfb8f9451493c3dfa7991d3059eeb20e56b 100644 (file)
@@ -39,10 +39,10 @@ Enhancements section below for the details.
 
 Quick Start:
 
-To start the EDT Emulation, first start Emacs and then enter 
+To start the EDT Emulation, first start Emacs and then enter
 
    M-x edt-emulation-on
-   
+
 to begin the emulation.  After initialization is complete, the
 following message will appear below the status line informing you
 that the emulation has been enabled: "Default EDT keymap active".
@@ -64,7 +64,7 @@ edt.el           - EDT Emulation Functions and Default Configuration
 edt-lk201.el     - Built-in support for DEC LK-201 Keyboards
 edt-vt100.el     - Built-in support for DEC VT-100 (and above) terminals
 edt-pc.el        - Built-in support for PC 101 Keyboards under MS-DOS
-edt-mapper.el    - Create an EDT LK-201 Map File for Keyboards Without 
+edt-mapper.el    - Create an EDT LK-201 Map File for Keyboards Without
                      Built-in Support
 
 Enhancements:
@@ -80,7 +80,7 @@ Version 4.0 contains the following enhancements:
      following line
 
           (edt-set-scroll-margins "20%" "25%")
-      
+
      sets the top margin to 20% of the window and the bottom margin
      to 25% of the window.  To disable this feature, set each
      margin to 0%.  You can also invoke edt-set-scroll-margins
@@ -90,13 +90,13 @@ Version 4.0 contains the following enhancements:
      NOTE: Another way to set the scroll margins is to use the
      Emacs customization feature (not available in Emacs 19) to set
      the following two variables directly:
-      
+
           edt-top-scroll-margin and edt-bottom-scroll-margin
 
      Enter the Emacs `customize' command.  First select the Editing
      group and then select the Emulations group.  Finally, select
      the Edt group and follow the directions.
-      
+
  2.  The SUBS command is now supported and bound to GOLD-Enter by
      default.  (This design was copied from tpu-edt.el.)  Note, in
      earlier versions of EDT Emulation, GOLD-Enter was assigned to
@@ -152,7 +152,7 @@ Goals:
         1.  Emulate EDT Keypad Mode commands closely so that current EDT users
             will find that it easy and comfortable to use GNU Emacs with a
             small learning curve;
-   
+
         2.  Make it easy for a user to customize EDT emulation key bindings
             without knowing much about Emacs Lisp;
 
@@ -164,7 +164,7 @@ Goals:
 
         5.  Provide an easy way to restore ALL original Emacs key bindings,
             just as they existed before the EDT emulation was first invoked.
-   
+
         6.  Support GNU Emacs 19 and higher.  (GNU Emacs 18 and below is no
                longer supported.)  XEmacs 19, and above, is also supported.
 
@@ -191,9 +191,9 @@ support for the following terminals/keyboards is provided:
 
   (1) DEC VT-100 series and higher.  This includes well behaved VT clones and
       emulators.  If you are using a VT series terminal, be sure that the term
-      environment variable is set properly before invoking emacs. 
+      environment variable is set properly before invoking emacs.
 
-  (2) PC AT keyboard under MS-DOS.  
+  (2) PC AT keyboard under MS-DOS.
 
 Be sure to read the SPECIAL NOTES FOR SOME PLATFORMS sections to see if those
 notes apply to you.
@@ -251,14 +251,14 @@ IV.   SPECIAL NOTES FOR SOME PLATFORMS:
 
      The Sun Type 5 and other more recent Sun keyboards, however, do have
      separate arrow keys.  This makes them candidates for setting up a
-     reasonable EDT keypad emulation.  
+     reasonable EDT keypad emulation.
 
      Depending upon the configuration of the version of X installed on your
      system, you may find the default X keynames for the keypad keys don't
      permit Emacs to interpret some or all the keypad keys as something other
      than arrow keys, numeric keys, Home, PgUP, etc.  Both Sun and HP have been
      particularly guilty of making bizarre keysym assignments to the keypad
-     keys. 
+     keys.
 
      In most cases, the X Windows command, xmodmap, can be used to correct the
      problem.  Here's a sample .xmodmaprc file which corrects this problem on
@@ -303,7 +303,7 @@ IV.   SPECIAL NOTES FOR SOME PLATFORMS:
 
      changes the X Windows name of the keypad NumLock key to be known
      internally as the F24 key.  Doing so permits it to be configured to behave
-     as the PF1 (Gold) key.  
+     as the PF1 (Gold) key.
 
      The side effect of this change is that you will no longer have a NumLock
      key.  If you are using other software under X which requires a NumLock
@@ -332,11 +332,11 @@ IV.   SPECIAL NOTES FOR SOME PLATFORMS:
      xmodmap.
 
      On one distribution on an Intel PC, the following .xmodmaprc set things up
-     nicely.  
+     nicely.
 
          ! File:  .xmodmaprc
          !
-         ! Set up PC keypad under GNU/Linux for the GNU Emacs EDT Emulation 
+         ! Set up PC keypad under GNU/Linux for the GNU Emacs EDT Emulation
          !
         clear  mod2
         keycode  77 = F12
@@ -411,7 +411,7 @@ IV.   SPECIAL NOTES FOR SOME PLATFORMS:
 
          ! File:  .xmodmaprc
          !
-         ! Set up PC keypad under GNU/Linux for the GNU Emacs EDT Emulation 
+         ! Set up PC keypad under GNU/Linux for the GNU Emacs EDT Emulation
          !
         clear  mod2
         keycode  77 = F12
@@ -424,7 +424,7 @@ IV.   SPECIAL NOTES FOR SOME PLATFORMS:
 
      Now, edt-mapper.el will see "f12" when the physical NumLock key
      is pressed, allowing the NumLock key to be used as the EDT PF1
-     (Gold) key. 
+     (Gold) key.
 \f
 V.    HOW DOES THIS EDT EMULATION DIFFER FROM REAL EDT?:
 
@@ -432,7 +432,7 @@ In general, you will find that this emulation of EDT replicates most, but not
 all, of EDT's most used Keypad Mode editing functions and behavior.  It is not
 perfect, but most EDT users who have tried the emulation agree that it is
 quite good enough to make it easy for die-hard EDT users to move over to using
-GNU Emacs.  
+GNU Emacs.
 
 Here's a list of the most important differences between EDT and this GNU Emacs
 EDT Emulation.  The list is short but you must be aware of these differences
@@ -497,7 +497,7 @@ VI.   SOME HIGHLIGHTS IN THIS EDT EMULATION, AND SOME COMPARISONS TO THE
     to GOLD C-k in the default EDT mode when EDT control sequence bindings are
     enabled or one of the sample edt-user.el customization files is used.
 
-2.  Direction support is fully supported.  
+2.  Direction support is fully supported.
 
 3.  All original Emacs bindings are fully restored when EDT emulation is turned
     off.  So, if a fellow worker comes over to your terminal to help you with a
@@ -570,12 +570,12 @@ VI.   SOME HIGHLIGHTS IN THIS EDT EMULATION, AND SOME COMPARISONS TO THE
 
 15. The original EDT emulation package set up many default regular and GOLD
     bindings.  We tried to preserve most (but not all!) of these, so users of
-    the original emulation package will feel more at home.  
+    the original emulation package will feel more at home.
 
     Nevertheless, there are still many GOLD key sequences which are not bound
-    to any functions.  These are prime candidates to use for your own 
-    customizations.  
-    
+    to any functions.  These are prime candidates to use for your own
+    customizations.
+
     Also, there are several commands in edt.el not bound to any key.  So, you
     will find it worthwhile to look through edt.el for functions you may wish
     to add to your personal customized bindings.
@@ -630,7 +630,7 @@ you should add it to the GNU Emacs load path.
 
 NOTE:  A few sites have different load-path requirements, so the above
        directions may need some modification if your site has such special
-       needs. 
+       needs.
 
 
 Creating your own edt-user.el file:
@@ -640,11 +640,11 @@ You should use it as a guide to learn how you can customize EDT emulation
 bindings to your own liking.  Names used to identify the set of LK-201
 keypad and function keys are:
 
-Keypad Keys:   
+Keypad Keys:
                 PF1 PF2 PF3 PF4
                 KP7 KP8 KP9 KP-
                 KP4 KP5 KP6 KP,
-                KP1 KP2 KP3 
+                KP1 KP2 KP3
                 KP0     KPP KPE
 
 Arrow Keys:
@@ -654,7 +654,7 @@ Function Keys:
                 F1 F2 F3 F4 F5  F6 F7 F8 F9 F10  F11 F12 F13 F14
                 HELP DO  F17 F18 F19 F20
 
-                FIND   INSERT   REMOVE 
+                FIND   INSERT   REMOVE
                 SELECT PREVIOUS NEXT
 
 Note:
@@ -737,7 +737,7 @@ of the window.  To change these settings, you can invoke the function
 edt-set-scroll-margins in your .emacs file.  For example, the following line
 
           (edt-set-scroll-margins "20%" "25%")
-      
+
 sets the top margin to 20% of the window and the bottom margin to 25% of the
 window.  To disable this feature, set each margin to 0%.  You can also invoke
 edt-set-scroll-margins interactively while EDT Emulation is active to change
@@ -746,7 +746,7 @@ the settings for that session.
 NOTE: Another way to set the scroll margins is to use the Emacs customization
 feature (not available in Emacs 19) to set the following two variables
 directly:
-      
+
           edt-top-scroll-margin and edt-bottom-scroll-margin
 
 Enter the Emacs `customize' command.  First select the Editing group and then
@@ -762,7 +762,7 @@ directions.
  G-F9: Paste Rect Insert          +----------+----------+----------+----------+
   F10: Cut Rectangle
 G-F10: Paste Rectangle
-  F11: ESC                       
+  F11: ESC
   F12: Beginning of Line          +----------+----------+----------+----------+
 G-F12: Delete Other Windows       |   GOLD   |   HELP   |  FNDNXT  |  DEL L   |
   F13: Delete to Begin of Word    |   (PF1)  |   (PF2)  |   (PF3)  |  (PF4)   |
@@ -784,7 +784,7 @@ G-C-k: Restore Key                |   WORD   |    EOL   |   CHAR   |   Next   |
   C-t: Display the Time           |         (0)         |    (.)   |   Query  |
   C-u: Delete to Begin of Line    |      Open Line      |  RESET   |  Replace |
   C-v: Redraw Display             +---------------------+----------+----------+
-  C-w: Set Screen Width 132       
+  C-w: Set Screen Width 132
   C-z: Suspend Emacs                    +----------+----------+----------+
 G-C-\: Split Window                     |  FNDNXT  |   Yank   |   CUT    |
                                         |  (FIND)  | (INSERT) | (REMOVE) |
@@ -817,9 +817,9 @@ G-C-\: Split Window                     |  FNDNXT  |   Yank   |   CUT    |
   G-`: What line
   G-/: Query-Replace
 \f
-;;; File:  edt-user.el   ---  Sample User Customizations for the Enhanced 
-;;;                             EDT Keypad Mode Emulation 
-;;;                             
+;;; File:  edt-user.el   ---  Sample User Customizations for the Enhanced
+;;;                             EDT Keypad Mode Emulation
+;;;
 ;;;                      For GNU Emacs 19 and Above
 ;;;
 ;; Copyright (C) 1986, 1992, 1993, 2000 Free Software Foundation, Inc.
@@ -875,7 +875,7 @@ G-C-\: Split Window                     |  FNDNXT  |   Yank   |   CUT    |
   (edt-bind-function-key "KP6" 'edt-cut-or-copy 'yank)
   (edt-bind-function-key "KP8" 'edt-scroll-window 'fill-paragraph)
   (edt-bind-function-key "KP9" 'open-line 'edt-eliminate-all-tabs)
-  (edt-bind-function-key "KPP" 
+  (edt-bind-function-key "KPP"
                         'edt-toggle-select 'edt-line-to-middle-of-window)
   (edt-bind-function-key "KPE" 'edt-change-direction 'overwrite-mode)
 
@@ -916,7 +916,7 @@ G-C-\: Split Window                     |  FNDNXT  |   Yank   |   CUT    |
    F8: Cut Rect Overstrike        |   (UP)   |  (DOWN)  |  (LEFT)  | (RIGHT)  |
  G-F8: Paste Rect Overstrike      |Window Top|Window Bot|Bkwd Sent |Frwd Sent |
    F9: Cut Rect Insert            +----------+----------+----------+----------+
- G-F9: Paste Rect Insert         
+ G-F9: Paste Rect Insert
   F10: Cut Rectangle
 G-F10: Paste Rectangle
   F11: ESC                        +----------+----------+----------+----------+
@@ -940,7 +940,7 @@ G-C-h: Emacs Help                 | CHNGCASE |  DEL EOL |   COPY   |          |
   C-k: Define Key                 |         (0)         |    (.)   |  Toggle  |
 G-C-k: Restore Key                |      Open Line      |Center Lin|Insrt/Over|
   C-l: Learn                      +---------------------+----------+----------+
-  C-n: Set Screen Width 80       
+  C-n: Set Screen Width 80
   C-o: Open Line                       +----------+----------+----------+
   C-p: Fill Paragraph                  |  FNDNXT  |   Yank   |    CUT   |
   C-q: Quoted Insert                   |  (FIND)) | (INSERT) | (REMOVE) |
index 2a0c0e962e24c70e193fcee7968d9f53f47671c6..37d0c4b648041d345847027668d3691c38fd7bef 100644 (file)
@@ -32,9 +32,9 @@ emacs \- GNU project Emacs
 .br
 .SH DESCRIPTION
 .I GNU Emacs
-is a version of 
+is a version of
 .I Emacs,
-written by the author of the original (PDP-10) 
+written by the author of the original (PDP-10)
 .I Emacs,
 Richard Stallman.
 .br
@@ -46,8 +46,8 @@ maintainers' priority goal is to minimize the amount of time this man
 page takes away from other more useful projects.
 .br
 The user functionality of GNU Emacs encompasses
-everything other 
-.I Emacs 
+everything other
+.I Emacs
 editors do, and it is easily extensible since its
 editing commands are written in Lisp.
 .PP
@@ -58,8 +58,8 @@ but the facility assumes that you know how to manipulate
 windows and buffers.
 CTRL-h or F1 enters the Help facility.  Help Tutorial (CTRL-h t)
 requests an interactive tutorial which can teach beginners the fundamentals
-of 
-.I Emacs 
+of
+.I Emacs
 in a few minutes.
 Help Apropos (CTRL-h a) helps you
 find a command given its functionality, Help Character (CTRL-h c)
@@ -114,7 +114,7 @@ Do not load an init file.
 Do not load the site-wide startup file.
 .TP
 .BI \-debug-init
-Enable 
+Enable
 .I Emacs
 Lisp debugger during the processing of the user init file
 .BI ~/.emacs.
@@ -161,14 +161,14 @@ option must be the first in the argument list.  You must use -l and -f
 options to specify files to execute and functions to call.
 .TP
 .B \-kill
-Exit 
-.I Emacs 
+Exit
+.I Emacs
 while in batch mode.
 .TP
 .BI \-L " directory"
 Add
 .I directory
-to the list of directories 
+to the list of directories
 .I Emacs
 searches for Lisp files.
 .\" START DELETING HERE IF YOU'RE NOT USING X
@@ -240,7 +240,7 @@ Defaults to one pixel on each side of the window.
 .TP
 .BI \-ib " pixels"
 Set the window's internal border width to the number of pixels specified
-by 
+by
 .I pixels.
 Defaults to one pixel of padding on each side of the window.
 .PP
@@ -384,7 +384,7 @@ the background color will be set to white,
 the border color will be set to grey,
 and the text and mouse cursors will be set to black.
 .PP
-.SM Using the Mouse 
+.SM Using the Mouse
 .PP
 The following lists the mouse button bindings for the
 .I Emacs
@@ -400,13 +400,13 @@ SHIFT-middle      Cut text into X cut buffer.
 SHIFT-right    Paste text.
 CTRL-middle    Cut text into X cut buffer and kill it.
 CTRL-right     T{
-Select this window, then split it into 
+Select this window, then split it into
 two windows.  Same as typing CTRL-x 2.
 T}
 .\" START DELETING HERE IF YOU'RE NOT USING X MENUS
 CTRL-SHIFT-left        T{
 X buffer menu--hold the buttons and keys
-down, wait for menu to appear, select 
+down, wait for menu to appear, select
 buffer, and release.  Move mouse out of
 menu and release to cancel.
 T}
@@ -440,7 +440,7 @@ manual is included in a convenient tree structured form.
 /usr/local/share/emacs/$VERSION/lisp - Lisp source files and compiled files
 that define most editing commands.  Some are preloaded;
 others are autoloaded from this directory when used.
-  
+
 /usr/local/share/emacs/$VERSION/etc - various programs that are used with
 GNU Emacs, and some files of information.
 
@@ -495,15 +495,15 @@ Bugs that I know about are: shell will not work with programs
 running in Raw mode on some Unix versions.
 .SH UNRESTRICTIONS
 .PP
-.I Emacs 
-is free; anyone may redistribute copies of 
-.I Emacs 
+.I Emacs
+is free; anyone may redistribute copies of
+.I Emacs
 to
-anyone under the terms stated in the 
-.I Emacs 
+anyone under the terms stated in the
+.I Emacs
 General Public License,
-a copy of which accompanies each copy of 
-.I Emacs 
+a copy of which accompanies each copy of
+.I Emacs
 and which also
 appears in the reference manual.
 .PP
@@ -514,11 +514,11 @@ but it is never included in the scope of any license covering those
 systems.  Such inclusion violates the terms on which distribution
 is permitted.  In fact, the primary purpose of the General Public
 License is to prohibit anyone from attaching any other restrictions
-to redistribution of 
+to redistribution of
 .I Emacs.
 .PP
-Richard Stallman encourages you to improve and extend 
-.I Emacs, 
+Richard Stallman encourages you to improve and extend
+.I Emacs,
 and urges that
 you contribute your extensions to the GNU library.  Eventually GNU
 (Gnu's Not Unix) will be a complete replacement for Berkeley
@@ -532,7 +532,7 @@ X(1), xlsfonts(1), xterm(1), xrdb(1)
 was written by Richard Stallman and the Free Software Foundation.
 Joachim Martillo and Robert Krawitz added the X features.
 .SH COPYING
-Copyright 
+Copyright
 .if t \(co
 .if n (c)
 1995, 1999, 2000, 2001 Free Software Foundation, Inc.
index f47ba6e9ec443a8fe2b9b37d0232c256d0a7d34c..5648a0b1952ab73394c2c7909e33fb1062519182 100644 (file)
@@ -7,7 +7,7 @@
 # This function assumes the emacs program is named `emacs' and is somewhere
 # in your load path.  If either of these is not true, the most portable
 # (and convenient) thing to do is to make an alias called emacs which
-# refers to the real program, e.g. 
+# refers to the real program, e.g.
 #
 #        alias emacs=/usr/local/bin/gemacs
 #
@@ -33,7 +33,7 @@ function edit ()
       x ) (emacs "$@" &) ;;
       sun ) (emacstool "$@" &) ;;
     esac
- else   
+ else
     if jobs %emacs 2> /dev/null ; then
        echo "$(pwd)" "$@" >| ${HOME}/.emacs_args && fg %emacs
     else
index 985a7d440deb78b9680904c13401b9d6f640971c..2a5e549eb84d1316737ea32fc58bec5c8fa291b9 100644 (file)
@@ -34,8 +34,8 @@
 % This is a bit of a dirty hack on the GNU Emacs reference card
 % to produce a Dired reference card instead.
 
-% I (Evgeny Roubinchtein, eroubinc@u.washington.edu) put this together 
-% because I wanted a Dired reference card, 
+% I (Evgeny Roubinchtein, eroubinc@u.washington.edu) put this together
+% because I wanted a Dired reference card,
 % but couldn't find anything on the 'net.
 % Based mostly off Dired's describe-mode.
 
@@ -75,7 +75,7 @@ Foundation, Inc., 675 Massachusetts Ave, Cambridge MA 02139.
 
 \def\ncolumns{\the\columnsperpage}
 
-\message{[\ncolumns\space 
+\message{[\ncolumns\space
   column\if 1\ncolumns\else s\fi\space per page]}
 
 \def\scaledmag#1{ scaled \magstep #1}
@@ -153,7 +153,7 @@ Foundation, Inc., 675 Massachusetts Ave, Cambridge MA 02139.
   \def\bye{\par\vfill\supereject
     \if a\abc \else\null\vfill\eject\fi
     \if a\abc \else\null\vfill\eject\fi
-    \end}  
+    \end}
 \fi
 
 % we won't be using math mode much, so redefine some of the characters
@@ -259,18 +259,18 @@ Foundation, Inc., 675 Massachusetts Ave, Cambridge MA 02139.
 % L'\'edition d'un r\'epertoire signifie que vous pouvez visiter,
 % renommer, copier, compresser, compiler des fichiers. Dans le tampon
 % d'\'edition, vous pouvez modifier les attributs des fichiers, leur
-% appliquer des commandes 
+% appliquer des commandes
 % shell ou ins\'erer des sous-r\'epertoires. Vous pouvez « marquer » des
 % fichiers pour qu'ils soient supprim\'es plus tard ou pour leur
 % appliquer des commandes ; cela peut \^etre fait pour un seul fichier \`a
 % la fois ou pour un ensemble de fichiers correspondant \`a certains
 % crit\`eres (fichiers correspondant \`a une expression rationnelle
 % donn\'ee, par exemple).
+
 % On se d\'eplace dans le tampon \`a l'aide des commandes habituelles de
 % d\'eplacement du curseur. Les lettres ne s'ins\`erent plus mais servent
 % \`a ex\'ecuter des commandes, les chiffres (0-9) sont des param\`etres pr\'efixes.
+
 % La plupart des commandes agissent soit sur tous les fichiers marqu\'es,
 % soit sur le fichier courant s'il n'y a pas de fichier marqu\'e. On
 % utilise un param\`etre pr\'efixe pour agir sur les NUM fichiers suivants
@@ -280,7 +280,7 @@ Foundation, Inc., 675 Massachusetts Ave, Cambridge MA 02139.
 % sous-processus sur un groupe de fichiers afficheront une liste des
 % fichiers pour lesquels le sous-processus a \'echou\'e. Taper y tentera
 % de vous expliquer ce qui a pos\'e probl\`eme.
+
 % Lorsque l'on \'edite plusieurs fichiers dans un unique tampon, chaque
 % r\'epertoire agit comme une page : C-x [ et C-x ] peuvent donc servir
 % \`a se d\'eplacer dans ces r\'epertoires.
@@ -305,7 +305,7 @@ Foundation, Inc., 675 Massachusetts Ave, Cambridge MA 02139.
 
 \section{Commandes avec la souris}
 \metax{visiter le fichier}{Mouse_Button_2}
-\metax{ouvrir un menu}{Control-Mouse_Button_3} 
+\metax{ouvrir un menu}{Control-Mouse_Button_3}
 
 \section{Actions immediates sur les fichiers}
 
@@ -371,10 +371,10 @@ Foundation, Inc., 675 Massachusetts Ave, Cambridge MA 02139.
 \key{placer un flag sur tous les fichiers de sauvegarde automatique}{\#}
 \key{placer un flag sur les diff\'erents fichiers interm\'ediaires}{\&}
 \key{placer un flag sur les sauvegardes num\'erot\'ees (finissant par
-  .\~{}1\~{}, .\~{}2\~{}, etc.)}{.} 
+  .\~{}1\~{}, .\~{}2\~{}, etc.)}{.}
 \key{ex\'ecuter les suppressions demand\'ees (fichiers ayant un flag)}{x}
 \key{placer un flag sur les fichiers correspondant \`a une expression
-  rationnelle }{\% d} 
+  rationnelle }{\% d}
 
 \section{Modifier le tampon Dired}
 
@@ -391,7 +391,7 @@ Foundation, Inc., 675 Massachusetts Ave, Cambridge MA 02139.
 \section{Commandes sur les expressions rationnelles}
 
 \key{marquer les noms de fichiers correspondant \`a une expression
-  rationnelle}{\% m} 
+  rationnelle}{\% m}
 \key{copier les fichiers marqu\'es par une expression rationnelle}{\% C}
 \key{renommer les fichiers marqu\'es par une expression rationnelle}{\% R}
 \key{lien physique}{\% H}
@@ -401,7 +401,7 @@ Foundation, Inc., 675 Massachusetts Ave, Cambridge MA 02139.
 
 \section{Dired et Find}
 \metax{fichier(s) dired dont le nom correspond \`a un motif}{M-x
-  find-names-dired} 
+  find-names-dired}
 \metax{fichier(s) dired contenant un motif}{M-x find-grep-dired}
 \metax{fichier(s) dired bas\'es sur ce que produit \kbd{find}}{M-x find-dired}
 
index 7b47e53ff34cbd65925cf578e9b438ac33ba6a73..d4b4fdf372a36fbb447f89c27053861aca556f85 100644 (file)
@@ -85,7 +85,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
 \def\ncolumns{\the\columnsperpage}
 
-\message{[\ncolumns\space 
+\message{[\ncolumns\space
   column\if 1\ncolumns\else s\fi\space per page]}
 
 \def\scaledmag#1{ scaled \magstep #1}
@@ -163,7 +163,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
   \def\bye{\par\vfill\supereject
     \if a\abc \else\null\vfill\eject\fi
     \if a\abc \else\null\vfill\eject\fi
-    \end}  
+    \end}
 \fi
 
 % we won't be using math mode much, so redefine some of the characters
index 7a039b862a5b2e7da31831c7c49a65800851ca1f..a53f06b6a85b4f4e2c7a8131eb17e4937637590e 100644 (file)
@@ -3,8 +3,8 @@
 % Title:  GNU Emacs Survival Card
 % Author: Wlodek Bzyl <matwb@univ.gda.pl>
 %
-% $Revision: 1.8 $
-% $Date: 2000/05/05 22:00:48 $
+% $Revision: 1.1 $
+% $Date: 2001/11/18 18:33:57 $
 %
 %**start of header
 
@@ -15,7 +15,7 @@
 % optional paragraphs separated with \askip amount of vertical space
 % \key{KEY-NAME} description of key or
 % \mkey{M-x LONG-LISP-NAME} description of Elisp function
-%  
+%
 % \kbd{ARG} -- argument is typed literally
 
 \def\plainfmtname{plain}
@@ -23,7 +23,7 @@
 \else
   \errmessage{This file requires `plain' format to be typeset correctly}
   \endinput
-\fi 
+\fi
 
 % Copyright (c) 2000 Free Software Foundation, Inc.
 
@@ -57,7 +57,7 @@
     Traduction fran\c{c}aise \'Eric Jacoboni (jaco@teaser.fr)
 
     Vous pouvez faire et distribuer des copies de cette carte, pourvu
-    que la note de copyright, ainsi que cette notice soient 
+    que la note de copyright, ainsi que cette notice soient
     pr\'eserv\'ees sur toutes les copies.\par}}
 
 \hsize 3.2in
@@ -88,7 +88,7 @@
 
 % The TeXbook, p. 257
 \let\lr=L \newbox\leftcolumn
-\output={\if L\lr 
+\output={\if L\lr
     \global\setbox\leftcolumn\columnbox \global\let\lr=R
   \else
        \doubleformat \global\let\lr=L\fi}
 
 \def\bye{\par\vfil\supereject
   \if R\lr \null\vfil\eject\fi
-  \end}  
+  \end}
 
 \outer\def\title#1#2{{\titlefont\centerline{#1}}\vskip 1ex plus 0.5ex
    \centerline{\ss#2}
 \def\nohyphens
    {\hyphenpenalty10000\exhyphenpenalty10000\pretolerance10000}
 \def\raggedspaces
-   {\spaceskip=0.3333em\relax 
+   {\spaceskip=0.3333em\relax
     \xspaceskip=0.5em\relax}
 \def\raggedright
    {\raggedstretch=6em
@@ -247,7 +247,7 @@ tel fichier, tapez `{\tt etags} {\it fichier\_entr\'ee}' \`a l'invite du shell.
 \mkey{M-x tags-query-replace} lance query-replace sur tous les
 fichiers enregistr\'es dans le tableau des marqueurs
 \key{M-,} continue la derni\`ere recherche de marqueurs ou le dernier
-query-replace 
+query-replace
 
 \section{Compilation}
 
@@ -314,9 +314,9 @@ Les r\'eponses correctes dans le mode query-replace sont :
 \key{[\^{}$\ldots$]} compl\'emente la classe
 
 \key{\\{\it c}} prot\`ege les caract\`eres qui, sinon, auraient une
-  signification sp\'eciale dans les expressions rationnelles. 
+  signification sp\'eciale dans les expressions rationnelles.
 
-\key{$\ldots$\\|$\ldots$\\|$\ldots$} correspond \`a une 
+\key{$\ldots$\\|$\ldots$\\|$\ldots$} correspond \`a une
 alternative (``ou'') .
 \key{\\( $\ldots$ \\)} groupe une suite d'\'el\'ements de motif pour
 former un \'el\'ement unique.
@@ -372,7 +372,7 @@ former un \'el\'ement unique.
 \mkey{M-x set-language-environment} pr\'ecise la langue principale
 
 \key{C-x RET c} fixe le syst\`eme de codage pour la commande suivante
-\mkey{M-x find-file-literally} visite un fichier sans aucune conversion 
+\mkey{M-x find-file-literally} visite un fichier sans aucune conversion
 
 \mkey{M-x list-coding-systems} affiche tous les syst\`emes de codage
 \mkey{M-x prefer-coding-system} choisit le syst\`eme de codage pr\'ef\'er\'e
@@ -391,7 +391,7 @@ former un \'el\'ement unique.
 
 \section{Obtenir de l'aide}
 
-Emacs effectue pour vous la compl\'etion des commandes. En faisant \kbd{M-x} 
+Emacs effectue pour vous la compl\'etion des commandes. En faisant \kbd{M-x}
 {\it tab\/} ou {\it espace\/}, vous obtiendrez une liste des commandes
 Emacs.
 \askip
index 9b608c749cc5a3b0a9a07704f4a95a4552562ee9..fb6262dfe55a639dc14b14818586bc3f023a47d0 100644 (file)
@@ -8,7 +8,7 @@ In GNU Emacs 51.70.4 (i9986-unknown-linux-gnu, X toolkit) of Sat Feb  20 2199 on
 configured using `configure  --with-x-toolkit=yes'
 
         The `search-backward-in-time' function appears to be broken in
-Emacs 51.70.  
+Emacs 51.70.
 
         Unfortunately, I can never seem to start the debugger early
 enough to catch the error as it happens.  However I have traced the
index 4d130ca0fec22c669c00eaa814dd79f663f1e1b1..b8b16112820d5923224e1e7bbaf71b6540b2f756 100644 (file)
@@ -8,10 +8,10 @@ static char * image_name [] = {
 /**/
 "      s mask  c none",
 "B      c blue",
-"x      c black",                  
-":      c sandy brown",            
+"x      c black",
+":      c sandy brown",
 "+      c saddle brown",
-"'      c grey",                           
+"'      c grey",
 ".      c white",
 "                                                  ",
 "                                                  ",
index 94e9500f7127ad56dcf99d21b18fdf811aafcc54..a76b591dbf18d9e01bba1aa5e35e1bb916310fcc 100644 (file)
@@ -57,7 +57,7 @@ to set `gnus-select-method'.  A "method" is a way of specifying *how*
 the news is to be found, and from *where*.
 
 Say you want to read news from you local, friendly nntp server
-"news.my.local.server". 
+"news.my.local.server".
 
 (setq gnus-select-method '(nntp "news.my.local.server"))
 
@@ -132,14 +132,14 @@ So if you want to go with nnmbox, you can simply say:
 
 (The same for the other methods, kind of.)
 
-You should also set `nnmail-split-methods' to something sensible: 
+You should also set `nnmail-split-methods' to something sensible:
 
-(setq nnmail-split-methods 
+(setq nnmail-split-methods
       '(("mail.junk" "From:.*Lars")
        ("mail.misc "")))
 
 This will put all mail from me in you junk mail group, and the rest in
-"mail.misc". 
+"mail.misc".
 
 These groups will be subscribe the same way as the normal groups, so
 you will probably find them among the zombie groups after you set
@@ -152,11 +152,11 @@ Date: Fri Feb 24 13:40:45 1995
 Subject: Foreign newsgroups
 Message-ID: <lars-doc5@eyesore.no>
 
-These are groups that do not come from `gnus-select-method'. 
+These are groups that do not come from `gnus-select-method'.
 
 Say you want to read "alt.furniture.couches" from "news.funet.fi".  You
 can then either type `B news.funet.fi <RET>' to browse that server and
-subscribe to that group, or you can type 
+subscribe to that group, or you can type
 `G m alt.furniture.couches<RET>nntp<RET>news.funet.fi<RET>', if you
 like to type a lot.
 
@@ -178,7 +178,7 @@ Message-ID: <lars-doc6@eyesore.no>
 Gnus really isn't GNUS, even though it looks like it.  If you scrape
 the surface, you'll find that most things have changed.
 
-This means that old code that relies on GNUS internals will fail.  
+This means that old code that relies on GNUS internals will fail.
 
 In particular, `gnus-newsrc-hashtb', `gnus-newsrc-assoc',
 `gnus-killed-list', the `nntp-header-' macros and the display formats
@@ -196,7 +196,7 @@ There is absolutely no chance, whatsoever, of getting Gnus to work
 with Emacs 18.  It won't even work on Emacsen older than Emacs
 19.30/XEmacs 19.13.  Upgrade your Emacs or die.
 
-       
+
 From lars Thu Feb 23 23:20:38 1995
 From: larsi@ifi.uio.no (ding)
 Date: Fri Feb 24 13:40:45 1995
@@ -226,7 +226,7 @@ Create the group by saying
 
 This will create the group "nnvirtual:my.virtual.newsgroup", which
 will collect all articles from all the groups in the "rec.aquaria"
-hierarchy.  
+hierarchy.
 
 If you want to edit the regular expression, just type `M-e' on the
 group line.
@@ -258,7 +258,7 @@ the lines of:
 
 (setq gnus-select-group-hook
       (lambda ()
-       (if (eq 'nnvirtual (car (gnus-find-method-for-group 
+       (if (eq 'nnvirtual (car (gnus-find-method-for-group
                                  gnus-newsgroup-name)))
            (progn
              (make-local-variable 'gnus-thread-sort-functions)
@@ -281,7 +281,7 @@ version.  If the bug persists, please re-submit your bug report.
 When a bug occurs, I need a recipe for how to trigger the bug.  You
 have to tell me exactly what you do to uncover the bug, and you should
 (setq debug-on-error t) and send me the backtrace along with the bug
-report.  
+report.
 
 If I am not able to reproduce the bug, I won't be able to fix it.
 
index 37f8fcbb15fd7ab771480138104ddd8f97e299de..0c572fa07ae214e0bdf965eaf1ddb1ce4eaf1acb 100644 (file)
@@ -89,7 +89,7 @@
                      (format ofile "(insert-file \"~A\")"
                                     *ledit-ppfile*)
                      (format ofile "(lisp-mode)"))
-          
+
                 (t (format t "~&~A -- unknown option~%" (cdr args))))
           (close ofile))))
 
index 7a55179876b91128d1ac1ebc1c1c701bd15025ea..a5b47b3001635c5c1599faf4fc0c58f6fb464be5 100644 (file)
@@ -16,7 +16,7 @@ set key scan \270 \127
 
 ;;; The following mappings affect certain special keys... all the keys
 ;;; are duplicated on the numeric keypad when NUM LOCK is off, but
-;;; the keypad versions are NOT mapped (string definition space too small 
+;;; the keypad versions are NOT mapped (string definition space too small
 ;;; for that)
 
 ;;; INSERT toggles overwrite mode
@@ -37,8 +37,8 @@ set key scan \4427 \2
 set key scan \4432 \14
 set key scan \4429 \6
 
-;;; META versions of all the printing characters except uppercase 
-;;; letters are generated by using the ALT key.  The definition string 
+;;; META versions of all the printing characters except uppercase
+;;; letters are generated by using the ALT key.  The definition string
 ;;; consists of an ESC character followed by the META-ized character.
 ;;; The characters are listed roughly left-to-right and top-to-bottom
 ;;; as they appear on the keyboard
index d3450529adb1bc9d702aa94b760cc5eba8ef820c..b61f6e43d530b7326e432ca1fb22c30ff66d7a03 100644 (file)
@@ -1,20 +1,20 @@
 %&mex
 %=====================================================================
-% $Revision: 1.1 $
-% $Date: 2000/08/21 11:42:52 $
+% $Revision: 1.2 $
+% $Date: 2001/09/23 17:45:20 $
 %=====================================================================
 % Reference Card for GNU Emacs version 20 on Unix systems was
 % translated into Polish language by W{\l}odek Bzyl (matwb@univ.gda.pl)
 % who also added new section on `Dired' and added info about Polish
 % support in Emacs to section `International Character Sets'.
 
-% This file uses macros and fonts defined in the mex format. 
+% This file uses macros and fonts defined in the mex format.
 % These macros and fonts are part of a current WEB2C
 % distribution of TeX, for example teTeX (unix) fpTeX (windows).
 % TeTeX comes with texconfig utility which could be used in
 % particular to generate formats. Just run it and follow instructions.
 %
-% Note that the original Emacs refcard.tex uses macros and fonts 
+% Note that the original Emacs refcard.tex uses macros and fonts
 % defined in plain format. This file uses mex format which is
 % a Polish adaptation of plain.
 
@@ -26,7 +26,7 @@
  \endinput
 \else
   \prefixing
-\fi 
+\fi
 
 \newcount\columnsperpage
 
@@ -85,7 +85,7 @@
 \def\copyrightnotice{
 \vskip 1ex plus 2 fill\begingroup\small
 \centerline{Copyright \copyright\ \year\ Free Software Foundation, Inc.}
-\centerline{Wersja \versionnumber{} dla GNU Emacsa 20.3, 
+\centerline{Wersja \versionnumber{} dla GNU Emacsa 20.3,
   stycze/n 1999}
 \centerline{projekt Stephen Gildea}
 \centerline{t/lumaczenie W/lodek Bzyl}
@@ -109,7 +109,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
 \def\ncolumns{\the\columnsperpage}
 
-\message{[\ncolumns\space 
+\message{[\ncolumns\space
   column\if 1\ncolumns\else s\fi\space per page]}
 
 \def\scaledmag#1{ scaled \magstep #1}
@@ -187,7 +187,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
   \def\bye{\par\vfill\supereject
     \if a\abc \else\null\vfill\eject\fi
     \if a\abc \else\null\vfill\eject\fi
-    \end}  
+    \end}
 \fi
 
 % we won't be using math mode much, so redefine some of the characters
@@ -294,7 +294,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 \def\nohyphens
    {\hyphenpenalty10000\exhyphenpenalty10000\pretolerance10000}
 \def\raggedspaces
-   {\spaceskip=0.3333em\relax 
+   {\spaceskip=0.3333em\relax
     \xspaceskip=0.5em\relax}
 \def\raggedright
    {\raggedstretch=6em
@@ -655,7 +655,7 @@ Drugie z polece/n dotyczy ,,innej ramki''
 %Type \kbd{C-x ESC ESC} to edit and repeat the last command that used the
 %minibuffer.  Type \kbd{F10} to activate the menu bar using the minibuffer.
 Napisz \kbd{C-x ESC ESC} aby poprawia/c i wykona/c polecenie,
-kt/ore ostatnio u/zywa/lo minibufora. 
+kt/ore ostatnio u/zywa/lo minibufora.
 Napisz \kbd{F10} aby uaktywni/c menu w minibuforze.
 
 
@@ -773,7 +773,7 @@ Napisz \kbd{F10} aby uaktywni/c menu w minibuforze.
 \key{zero lub wi/ecej powt/orze/n}{*}
 \key{jedno lub wi/ecej powt/orze/n}{+}
 \key{zero lub jedno powt/orzenie}{?}
-\key{traktuj dos/lownie nast/epny znak 
+\key{traktuj dos/lownie nast/epny znak
   (nawet je/sli znak ma specjalne znaczenie) {\it c\/}}{\\{\it c}}
 \key{alternatywa (`lub')}{\\|}
 \key{grupowanie}{\\( {\rm$\ldots$} \\)}
@@ -901,7 +901,7 @@ Pozosta/le polecenia:
 %\key{search nodes for regexp}{M-s}
 \key{wywo/laj {\bf samouczek} Info}{h}
 \key{{\bf zako/ncz} Info}{q}
-\key{wyszukuj w~w/ez/lach tekst zgodny\newline 
+\key{wyszukuj w~w/ez/lach tekst zgodny\newline
   z~podanym wyra/zeniem regularnym}{M-s}
 
 \endindentedkeys
@@ -963,7 +963,7 @@ z~wykorzystaniem notacji \kbd{"..."} i~notacji \kbd{[...]}:
 
 \beginexample%
 (defun \<nazwa-funkcji> (\<argumenty>)
-  "\<dokumentacja>" 
+  "\<dokumentacja>"
   (interactive "\<wzorzec>")
   \<tre/s/c funkcji>)
 \endexample
index c8637b410c0e03e8a5fb517d327a4615d607f9be..7e6234d45dd41696852accd339c167e42dc59598 100644 (file)
@@ -83,7 +83,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
 \def\ncolumns{\the\columnsperpage}
 
-\message{[\ncolumns\space 
+\message{[\ncolumns\space
   column\if 1\ncolumns\else s\fi\space per page]}
 
 \def\scaledmag#1{ scaled \magstep #1}
@@ -161,7 +161,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
   \def\bye{\par\vfill\supereject
     \if a\abc \else\null\vfill\eject\fi
     \if a\abc \else\null\vfill\eject\fi
-    \end}  
+    \end}
 \fi
 
 % we won't be using math mode much, so redefine some of the characters
index 095ae41979c3973d2751426c3238216486f29042..64d885db01ab8499cd4f0c3080e8707d2f709e15 100644 (file)
@@ -1,5 +1,5 @@
 #
-# This file is not a part of GNU Emacs.  It is from xc/programs/rgb/rgb.txt 
+# This file is not a part of GNU Emacs.  It is from xc/programs/rgb/rgb.txt
 # of the X11R6 X Consortium distribution, and is included here to support the
 # mapping of color names to RGB values on Windows NT and Windows 95.
 #
@@ -8,31 +8,31 @@
 #
 #
 # Copyright (C) 1994 X Consortium
-# 
+#
 # Permission is hereby granted, free of charge, to any person obtaining a copy
 # of this software and associated documentation files (the "Software"), to
 # deal in the Software without restriction, including without limitation the
 # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
 # sell copies of the Software, and to permit persons to whom the Software is
 # furnished to do so, subject to the following conditions:
-# 
+#
 # The above copyright notice and this permission notice shall be included in
 # all copies or substantial portions of the Software.
-# 
+#
 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
 # X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
 # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
 # TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-# 
+#
 # Except as contained in this notice, the name of the X Consortium shall not
 # be used in advertising or otherwise to promote the sale, use or other deal-
 # ings in this Software without prior written authorization from the X Consor-
 # tium.
-# 
+#
 # X Window System is a trademark of X Consortium, Inc.
-# 
+#
 
 255 250 250            snow
 248 248 255            ghost white
index b4d7b1ef4a58a599db2e23b8a22600a44ec49992..82ec7f6e935e245142c789ecd18589d8f5b4f550 100644 (file)
@@ -98,7 +98,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
 \def\ncolumns{\the\columnsperpage}
 
-\message{[\ncolumns\space 
+\message{[\ncolumns\space
   column\if 1\ncolumns\else s\fi\space per page]}
 
 \def\scaledmag#1{ scaled \magstep #1}
@@ -176,7 +176,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
   \def\bye{\par\vfill\supereject
     \if a\abc \else\null\vfill\eject\fi
     \if a\abc \else\null\vfill\eject\fi
-    \end}  
+    \end}
 \fi
 
 % we won't be using math mode much, so redefine some of the characters
index 5f9e06a1f506f340ec845be93dee4e4d7cf0d6f1..2355923661d9be9919fa89c8072a68b0272f5e36 100644 (file)
@@ -2,8 +2,8 @@
 % Title:  GNU Emacs Survival Card
 % Author: Wlodek Bzyl <matwb@univ.gda.pl>
 %
-% $Revision: 1.4 $
-% $Date: 2001/03/22 23:07:14 $
+% $Revision: 1.1 $
+% $Date: 2001/04/18 13:58:29 $
 %
 %**start of header
 
@@ -14,7 +14,7 @@
 % optional paragraphs separated with \askip amount of vertical space
 % \key{KEY-NAME} description of key or
 % \mkey{M-x LONG-LISP-NAME} description of Elisp function
-%  
+%
 % \kbd{ARG} -- argument is typed literally
 
 \def\plainfmtname{plain}
@@ -22,7 +22,7 @@
 \else
   \errmessage{This file requires `plain' format to be typeset correctly}
   \endinput
-\fi 
+\fi
 
 % Copyright (c) 2000 Free Software Foundation, Inc.
 
@@ -95,7 +95,7 @@
 
 % The TeXbook, p. 257
 \let\lr=L \newbox\leftcolumn
-\output={\if L\lr 
+\output={\if L\lr
     \global\setbox\leftcolumn\columnbox \global\let\lr=R
   \else
        \doubleformat \global\let\lr=L\fi}
 
 \def\bye{\par\vfil\supereject
   \if R\lr \null\vfil\eject\fi
-  \end}  
+  \end}
 
 \outer\def\title#1#2{{\titlefont\centerline{#1}}\vskip 1ex plus 0.5ex
    \centerline{\ss#2}
 \def\nohyphens
    {\hyphenpenalty10000\exhyphenpenalty10000\pretolerance10000}
 \def\raggedspaces
-   {\spaceskip=0.3333em\relax 
+   {\spaceskip=0.3333em\relax
     \xspaceskip=0.5em\relax}
 \def\raggedright
    {\raggedstretch=6em
index d157eeb03bac51eee81d9e306588bcdeb13a1f18..a5c558c170bfb66a4154012c4eb52f5daad981bf 100644 (file)
@@ -15,7 +15,7 @@
 % optional paragraphs separated with \askip amount of vertical space
 % \key{KEY-NAME} description of key or
 % \mkey{M-x LONG-LISP-NAME} description of Elisp function
-%  
+%
 % \kbd{ARG} -- argument is typed literally
 
 \def\plainfmtname{plain}
@@ -23,7 +23,7 @@
 \else
   \errmessage{This file requires `plain' format to be typeset correctly}
   \endinput
-\fi 
+\fi
 
 % Copyright (c) 2000 Free Software Foundation, Inc.
 
@@ -85,7 +85,7 @@
 
 % The TeXbook, p. 257
 \let\lr=L \newbox\leftcolumn
-\output={\if L\lr 
+\output={\if L\lr
     \global\setbox\leftcolumn\columnbox \global\let\lr=R
   \else
        \doubleformat \global\let\lr=L\fi}
@@ -99,7 +99,7 @@
 
 \def\bye{\par\vfil\supereject
   \if R\lr \null\vfil\eject\fi
-  \end}  
+  \end}
 
 \outer\def\title#1#2{{\titlefont\centerline{#1}}\vskip 1ex plus 0.5ex
    \centerline{\ss#2}
 \def\nohyphens
    {\hyphenpenalty10000\exhyphenpenalty10000\pretolerance10000}
 \def\raggedspaces
-   {\spaceskip=0.3333em\relax 
+   {\spaceskip=0.3333em\relax
     \xspaceskip=0.5em\relax}
 \def\raggedright
    {\raggedstretch=6em
@@ -168,7 +168,7 @@ on some keyboards) or after hitting {\it Esc\/} key.
 \section{Running Emacs}
 
 To enter GNU Emacs, just type its name: \kbd{emacs}.
-Emacs divides the frame into several areas: 
+Emacs divides the frame into several areas:
   menu line,
   buffer area with the edited text,
   mode line describing the buffer in the window above it,
@@ -181,7 +181,7 @@ Emacs divides the frame into several areas:
 \key{C-x C-s} save the file
 \key{C-x k} kill a buffer
 \key{C-g} in most context: cancel, stop, abort partially typed or
-  executing command 
+  executing command
 \key{C-x u} undo
 
 \section{Moving About}
@@ -233,7 +233,7 @@ Use \kbd{C-s} or \kbd{C-r} again to repeat the search in either direction.
 
 Tags tables files record locations of function and
 procedure definitions, global variables, data types and anything
-else convenient. To create a tags table file, type 
+else convenient. To create a tags table file, type
 `{\tt etags} {\it input\_files}' as a shell command.
 \askip
 \key{M-.} find a definition
@@ -246,7 +246,7 @@ else convenient. To create a tags table file, type
 \section{Compiling}
 
 \key{M-x compile} compile code in active window
-\key{C-c C-c} go to the next compiler error, when in 
+\key{C-c C-c} go to the next compiler error, when in
   the compile window or
 \key{C-x `} when in the window with source code
 
@@ -272,7 +272,7 @@ else convenient. To create a tags table file, type
 
 \key{C-x m} begin composing a message
 \key{C-c C-c} send the message and switch to another buffer
-\key{C-c C-f C-c} move to the `CC' header field, creating one 
+\key{C-c C-f C-c} move to the `CC' header field, creating one
   if there is none
 
 \section{Miscellaneous}
@@ -309,9 +309,9 @@ Valid responses in query-replace mode are
 \key{[\^{}$\ldots$]} negates the class
 
 \key{\\{\it c}} quote characters otherwise having a special
-  meaning in regular expressions 
+  meaning in regular expressions
 
-\key{$\ldots$\\|$\ldots$\\|$\ldots$} matches one of 
+\key{$\ldots$\\|$\ldots$\\|$\ldots$} matches one of
   the alternatives (``or'')
 \key{\\( $\ldots$ \\)} groups a series of pattern elements to
   a single element
@@ -360,14 +360,14 @@ Valid responses in query-replace mode are
 
 \section{International Character Sets}
 
-\key{C-x RET C-\\} select and activate input method for 
+\key{C-x RET C-\\} select and activate input method for
   the current buffer
 \key{C-\\} enable or disable input method
 \mkey{M-x list-input-methods} show all input methods
 \mkey{M-x set-language-environment} specify principal language
 
 \key{C-x RET c} set coding system for next command
-\mkey{M-x find-file-literally} visit file with no conversion 
+\mkey{M-x find-file-literally} visit file with no conversion
   of any kind
 
 \mkey{M-x list-coding-systems} show all coding systems
@@ -387,7 +387,7 @@ Valid responses in query-replace mode are
 
 \section{Getting Help}
 
-Emacs does command completion for you. Typing \kbd{M-x} 
+Emacs does command completion for you. Typing \kbd{M-x}
 {\it tab\/} or {\it space\/} gives a list of Emacs commands.
 \askip
 \key{C-h} Emacs help
index 91b6953b1f1010cd3cf50a87f30bd84f08a31fb9..7984cac663ad3ed736810d1a6ce3f264dcb77594 100644 (file)
@@ -82,7 +82,7 @@ If you did not obtain this file directly from the GNU project and
 recently, please check for a newer version.  You can ftp the task list
 from any GNU FTP host in directory @file{/pub/gnu/tasks/}.  The task
 list is available there in several different formats: @file{tasks.text},
-@file{tasks.texi}, @file{tasks.info}, and @file{tasks.dvi}.  
+@file{tasks.texi}, @file{tasks.info}, and @file{tasks.dvi}.
 @c to fix an overfill, join the paragraphs -len
 The task list is also available on the GNU World Wide Web server:
 @uref{http://www.gnu.org/prep/tasks_toc.html}.
index c4d132ad669d2314bcf4a918d358a0f9a6d4e610..c982aececf3592abb926feb0f6a8b2c6278376a2 100644 (file)
@@ -10,7 +10,7 @@
 #
 #------------------------------------------------------------------------------
 #      Version 10.2.1
-#      $Date: 2002/01/12 17:31:53 $
+#      $Date: 2002/04/20 07:38:53 $
 #      terminfo syntax
 #
 #      Eric S. Raymond         (current maintainer)
@@ -44,7 +44,7 @@
 # This file assumes a US-ASCII character set. If you need to fix this, start
 # by global-replacing \E(B and \E)B with the appropriate ISO 6429 enablers
 # for your character set.  \E(A and \E)A enables the British character set
-# with the pound sign at position 2/3.  
+# with the pound sign at position 2/3.
 #
 # In a Japanese-processing environment using EUC/Japanese or Shift-JIS,
 # C1 characters are considered the first-byte set of the Japanese encodings,
@@ -70,7 +70,7 @@
 # string-table limit of archaic termcap libraries except where explicitly
 # noted below.  Note that the termcap translation assumes that your termcap
 # library can handle multiple tc capabilities in an entry. 4.4BSD has this
-# capability.  Older versions of GNU termcap, through 1.3, do not. 
+# capability.  Older versions of GNU termcap, through 1.3, do not.
 #
 # For details on these formats, see terminfo(5) in the ncurses distribution,
 # and termcap(5) in the 4.4BSD Unix Programmer's Manual.  Be aware that 4.4BSD
 # the master format).  Individual capabilities are commented out by
 # placing a period between the colon and the capability name.
 #
-# The file is divided up into major sections (headed by lines beginning with 
+# The file is divided up into major sections (headed by lines beginning with
 # the string "########") and minor sections (beginning with "####"); do
 #
 #      grep "^####" <file> | more
 # that important and frequently-encountered terminal types are near the
 # front (so that you'll get reasonable search efficiency from a linear
 # search of the termcap form even if you don't use reorder).  Minor sections
-# usually correspond to manufacturers or standard terminal classes. 
+# usually correspond to manufacturers or standard terminal classes.
 # Parenthesized words following manufacturer names are type prefixes or
 # product line names used by that manufacturers.
 #
 #      -s      Enable status line.
 #      -vb     Use visible bell (:vb:) rather than :bl:.
 #      -w      Wide - in 132 column mode.
-# If a name has multiple suffixes and one is a line height, that one should 
-# go first.  Thus `aaa-30-s-rv' is recommended over `aaa-s-rv-30'.  
-# 
+# If a name has multiple suffixes and one is a line height, that one should
+# go first.  Thus `aaa-30-s-rv' is recommended over `aaa-s-rv-30'.
+#
 # Entries with embedded plus signs are designed to be included through use/tc
-# capabilities, not used as standalone entries. 
+# capabilities, not used as standalone entries.
 #
 # To avoid search clashes, some older all-numeric names for terminals have
 # been removed (i.e., "33" for the Model 33 Teletype, "2621" for the HP2621).
 # All primary names of terminals now have alphanumeric prefixes.
 #
 # Comments marked "esr" are mostly results of applying the termcap-compiler
-# code packaged with ncurses and contemplating the resulting error messages. 
+# code packaged with ncurses and contemplating the resulting error messages.
 # In many cases, these indicated obvious fixes to syntax garbled by the
 # composers.  In a few cases, I was able to deduce corrected forms for garbled
 # capabilities by looking at context.  All the information in the original
 #      %c      Accept any character
 #      %[...]  Accept any number of characters in the given set
 #
-# The cursor position report (<u6>) string must contain two scanf(3)-style 
+# The cursor position report (<u6>) string must contain two scanf(3)-style
 # %d format elements.  The first of these must correspond to the Y coordinate
 # and the second to the %d.  If the string contains the sequence %i, it is
 # taken as an instruction to decrement each value after reading it (this is
 # All the entries in this file have been edited to assume that the tabset
 # files directory is /usr/share/tabset, in conformance with the File Hierarchy
 # Standard for Linux and open-source BSD systems.  Some vendors (notably Sun)
-# use /usr/lib/tabset or (more recently) /usr/share/lib/tabset.  
+# use /usr/lib/tabset or (more recently) /usr/share/lib/tabset.
 #
 # No curses package we know of actually uses these files.  If their location
 # is an issue, you will have to hand-patch the file locations before compiling
 # this file.
-# 
+#
 # REQUEST FOR CONTACT INFORMATION AND HISTORICAL MATERIAL
 #
 # As the ANSI/ECMA-48 standard and variants take firmer hold, and as
 # I'm especially interested in identifying the obscure entries listed under
 # `Miscellaneous obsolete terminals, manufacturers unknown' before the tribal
 # wisdom about them gets lost.  If you know a lot about obscure old terminals,
-# please go to the terminfo resource page, grab the UFO file (ufo.ti), and 
-# eyeball it for things you can identify and describe. 
+# please go to the terminfo resource page, grab the UFO file (ufo.ti), and
+# eyeball it for things you can identify and describe.
 #
 # If you have been around long enough to contribute, please read the file
 # with this in mind and send me your annotations.
 # California copyright with dates from 1980 to 1993.
 #
 # Some information has been merged in from a terminfo file SCO distributes.
-# It has an obnoxious boilerplate copyright which I'm ignoring because they 
+# It has an obnoxious boilerplate copyright which I'm ignoring because they
 # took so much of the content from the ancestral BSD versions of this file
 # and didn't attribute it, thereby violating the BSD Regents' copyright.
 #
 # graffiti -- it's legally dubious, ethically bogus, and patently ridiculous.
 #
 # This file deliberately has no copyright.  It belongs to no one and everyone.
-# If you claim you own it, you will merely succeed in looking like a fool. 
+# If you claim you own it, you will merely succeed in looking like a fool.
 # Use it as you like.  Use it at your own risk.  Copy and redistribute freely.
 # There are no guarantees anywhere.  Svaha!
 #
@@ -353,7 +353,7 @@ klone+acs|alternate character set for ansi.sys displays:\
        :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\
        :ae=\E[10m:as=\E[11m:
 
-# Highlight controls corresponding to the ANSI.SYS standard.  Most 
+# Highlight controls corresponding to the ANSI.SYS standard.  Most
 # console drivers for Intel boxes obey these.  Makes the same assumption
 # about \E[11m as klone+acs.  True ANSI/ECMA-48 would have :se=\E[27m:,
 # :ue=\E[24m:, but this isn't a documented feature of ANSI.SYS.
@@ -429,13 +429,13 @@ ansi-mr|mem rel cup ansi:\
        :am:xo:\
        :co#80:li#24:tc=vanilla:tc=ansi+erase:tc=ansi+local1:
 
-# ansi-mini is a bare minimum ANSI terminal. This should work on anything, but 
+# ansi-mini is a bare minimum ANSI terminal. This should work on anything, but
 # beware of screen size problems and memory relative cursor addressing.
 ansi-mini|any ansi terminal with pessimistic assumptions:\
        :am:xo:\
        :co#80:li#24:tc=vanilla:tc=ansi+cup:tc=ansi+erase:
 
-# ansi-mtabs adds relative addressing and minimal tab support 
+# ansi-mtabs adds relative addressing and minimal tab support
 ansi-mtabs|any ansi terminal with pessimistic assumptions:\
        :it#8:\
        :ta=^I:tc=ansi+local1:tc=ansi-mini:
@@ -478,12 +478,12 @@ ansi77|ansi 3.64 standard 1977 version:\
        :sr=\EM:ta=^I:ue=\E[m:up=\E[A:us=\E[4m:
 
 # Procomm and some other ANSI emulations don't recognize all of the ANSI-
-# standard capabilities.  This entry deletes :UP:, :RI:, :DO:, :LE:, and 
-# <vpa>/<hpa> capabilities, forcing curses to use repetitions of :up:, 
-# :nd:, :do: and :le:.  Also deleted :IC: and :ic:, as QModem up to 
+# standard capabilities.  This entry deletes :UP:, :RI:, :DO:, :LE:, and
+# <vpa>/<hpa> capabilities, forcing curses to use repetitions of :up:,
+# :nd:, :do: and :le:.  Also deleted :IC: and :ic:, as QModem up to
 # 5.03 doesn't recognize these.  Finally, we delete :rp: and :sr:, which seem
 # to confuse many emulators.  On the other hand, we can count on these programs
-# doing :ae:/:as:/:sa:. Older versions of this entry featured 
+# doing :ae:/:as:/:sa:. Older versions of this entry featured
 # <invis=\E[9m>, but <invis=\E[8m> now seems to be more common under
 # ANSI.SYS influence.
 # From: Eric S. Raymond <esr@snark.thyrsus.com> Oct 30 1995
@@ -531,12 +531,12 @@ ansi|ansi/pc-term compatible with color:\
        :u6=\E[%i%d;%dR:u7=\E[6n:..u8=\E[?%[;0123456789]c:\
        :u9=\E[c:tc=ecma+color:tc=klone+sgr:tc=ansi-m:
 
-# ansi-generic is a vanilla ANSI terminal. This is assumed to implement 
-# all the normal ANSI stuff with no extensions. It assumes 
-# insert/delete line/char is there, so it won't work with 
-# vt100 clones. It assumes video attributes for bold, blink, 
-# underline, and reverse, which won't matter much if the terminal 
-# can't do some of those. Padding is assumed to be zero, which 
+# ansi-generic is a vanilla ANSI terminal. This is assumed to implement
+# all the normal ANSI stuff with no extensions. It assumes
+# insert/delete line/char is there, so it won't work with
+# vt100 clones. It assumes video attributes for bold, blink,
+# underline, and reverse, which won't matter much if the terminal
+# can't do some of those. Padding is assumed to be zero, which
 # shouldn't hurt since xon/xoff is assumed.
 ansi-generic|generic ansi standard terminal:\
        :am:xo:\
@@ -853,14 +853,14 @@ pc6300plus|AT&T 6300 plus:\
 # Unfortunately, the UNIX PC terminfo entry that comes with ncurses
 # is broken. All the special key sequences are broken, making it unusable
 # with Emacs. The problem stems from the following:
-# 
+#
 # The UNIX PC has a plethora of keys (103 of them, and there's no numeric
 # keypad!), loadable fonts, and strange highlighting modes ("dithered"
 # half-intensity, "smeared" bold, and real strike-out, for example.) It also
 # uses resizable terminal windows, but the bundled terminal program always
 # uses an 80x24 window (and doesn't support seem to support a 132-column
-# mode.) 
-# 
+# mode.)
+#
 # HISTORY: The UNIX PC was one of the first machines with a GUI, and used a
 # library which was a superset of SVr3.5 curses (called tam, for "terminal
 # access method".) tam includes support for real, overlapping windows,
@@ -876,44 +876,44 @@ pc6300plus|AT&T 6300 plus:\
 # (If you're interested in adding some of the tam calls to ncurses, btw, I
 # have the full documentation and several programs which use tam. It also
 # used an extended terminfo format to describe key sequences, special
-# highlighting modes, etc.) 
-# 
+# highlighting modes, etc.)
+#
 # KEYS: This means that ncurses would quite painful on the UNIX PC, since
 # there are two sequences for every key-modifier combination (local keyboard
 # sequence and remote "VT100" sequence.) But I doubt many people are trying
 # to use ncurses on the UNIX PC, since ncurses doesn't properly handle the
-# GUI. Unfortunately, the terminfo entry (and the termcap, too, I presume) 
-# seem to have been built from the manual describing the VT100 sequences. 
-# This means it doesn't work for a real live UNIX PC. 
-# 
+# GUI. Unfortunately, the terminfo entry (and the termcap, too, I presume)
+# seem to have been built from the manual describing the VT100 sequences.
+# This means it doesn't work for a real live UNIX PC.
+#
 # FONTS: The UNIX PC also has a strange interpretation of "alternate
 # character set". Rather than the VT100 graphics you might expect, it allows
 # up to 8 custom fonts to be loaded at any given time. This means that
 # programs expecting VT100 graphics will usually be disappointed. For this
 # reason I have disabled the smacs/rmacs sequences, but they could easily be
-# re-enabled. Here are the relevant control sequences (from the ESCAPE(7) 
-# manpage), should you wish to do so: 
-# 
+# re-enabled. Here are the relevant control sequences (from the ESCAPE(7)
+# manpage), should you wish to do so:
+#
 # SGR10 - Select font 0 - ESC [ 10 m or SO
 # SGR11 - Select font 1 - ESC [ 11 m or SI
 # SGR12 - Select font 2 - ESC [ 12 m
 # ... (etc.)
 # SGR17 - Select font 7 - ESC [ 17 m
-# 
+#
 # Graphics for line drawing are not reliably found at *any* character
 # location because the UNIX PC has dynamically reloadable fonts. I use font
 # 0 for regular text and font 1 for italics, but this is by no means
 # universal. So ASCII line drawing is in order if smacs/rmacs are enabled.
-# 
+#
 # MISC: The cursor visible/cursor invisible sequences were swapped in the
 # distributed terminfo.
-# 
+#
 # To ameliorate these problems (and fix a few highlighting bugs) I rewrote
 # the UNIX PC terminfo entry. The modified version works great with Lynx,
 # Emacs, and XEmacs running on my Linux PC and displaying on the UNIX PC
 # attached by serial cable. In Emacs, even the Undo key works, and many
-# applications can now use the F1-F8 keys. 
-# 
+# applications can now use the F1-F8 keys.
+#
 # esr's notes:
 #      Terminfo entry for the AT&T Unix PC 7300
 #      from escape(7) in Unix PC 7300 Manual.
@@ -928,8 +928,8 @@ pc6300plus|AT&T 6300 plus:\
 #      *     into font memory slot #1.  Once the font has been loaded,
 #      *     it can be used as an alternative character set.
 #      *
-#      *     The call to ioctl with the argument WIOCLFONT is the key 
-#      *     to this routine.  For more information, see window(7) in 
+#      *     The call to ioctl with the argument WIOCLFONT is the key
+#      *     to this routine.  For more information, see window(7) in
 #      *     the PC 7300 documentation.
 #      ***************************************************************/
 #      #include <string.h>             /* needed for strcpy call */
@@ -944,7 +944,7 @@ pc6300plus|AT&T 6300 plus:\
 #      *     cfont <filename>.  For further information on fonts see
 #      *     cfont(1) in the PC 7300 documentation.
 #      */
-#      
+#
 #      struct altfdata         /* structure for alt font data */
 #      {
 #      short   altf_slot;              /* memory slot number */
@@ -1319,7 +1319,7 @@ wsvt25m|NetBSD wscons in 25 line DEC VT220 mode with Meta:\
        :km:\
        :co#80:li#25:tc=vt220:
 
-# `rasterconsole' provided by 4.4BSD, NetBSD and OpenBSD on SPARC, and 
+# `rasterconsole' provided by 4.4BSD, NetBSD and OpenBSD on SPARC, and
 # DECstation/pmax.
 rcons|BSD rasterconsole:\
        :tc=sun-il:
@@ -1442,7 +1442,7 @@ cons60l1-m|cons60-iso-m|freebsd console w/iso 8859-1 chars (60-line mono):\
 #### 386BSD and BSD/OS Consoles
 #
 
-# This was the original 386BSD console entry (I think).  
+# This was the original 386BSD console entry (I think).
 # Some places it's named oldpc3|oldibmpc3.
 # From: Alex R.N. Wetmore <aw2t@andrew.cmu.edu>
 origpc3|origibmpc3|IBM PC 386BSD Console:\
@@ -1469,7 +1469,7 @@ oldpc3|oldibmpc3|old IBM PC BSD/386 Console:\
 # are described here.  This entry really ought to be upgraded.
 # Also note, the console will also work with fewer lines after doing
 # "stty rows NN", e.g. to use 24 lines.
-# (Color support from Kevin Rosenberg <kevin@cyberport.com>, 2 May 1996) 
+# (Color support from Kevin Rosenberg <kevin@cyberport.com>, 2 May 1996)
 # Bug: The <op> capability resets attributes.
 bsdos-pc|IBM PC BSD/OS Console:\
        :..sa=\E[0;10%?%p1%t;7%;%?%p2%t;1%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m:\
@@ -1489,17 +1489,17 @@ bsdos-pc-m|bsdos-pc-mono|BSD/OS PC console mono:\
        :..sa=\E[0;10%?%p1%t;7%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m%?%p5%t\E[=8F%;:\
        :sc=\E7:sf=^J:ta=^I:up=\E[A:tc=klone+sgr:
 
-# Old names for BSD/OS PC console used in releases before 4.1. 
+# Old names for BSD/OS PC console used in releases before 4.1.
 pc3|BSD/OS on the PC Console:\
        :tc=bsdos-pc-nobold:
 ibmpc3|pc3-bold|BSD/OS on the PC Console with bold instead of underline:\
        :tc=bsdos-pc:
-# BSD/OS on the SPARC 
+
+# BSD/OS on the SPARC
 bsdos-sparc|Sun SPARC BSD/OS Console:\
        :tc=sun:
-        
-# BSD/OS on the PowerPC 
+
+# BSD/OS on the PowerPC
 bsdos-ppc|PowerPC BSD/OS Console:\
        :tc=bsdos-pc:
 
@@ -1522,7 +1522,7 @@ vt52|dec vt52:\
 #
 # Except where noted, these entries are DEC's official terminfos.
 # Contact Bill Hedberg <hedberg@hannah.enet.dec.com> of Terminal Support
-# Engineering for more information.  Updated terminfos and termcaps 
+# Engineering for more information.  Updated terminfos and termcaps
 # are kept available at ftp://gatekeeper.dec.com/pub/DEC/termcaps.
 #
 # In October 1995 DEC sold its terminals business, including the VT and Dorio
@@ -1543,18 +1543,18 @@ vt52|dec vt52:\
 # you output the char in column 80, immediately output CR LF
 # and then assume you are in column 1 of the next line. If :xn:
 # is on, am should be on too.
-# 
+#
 # I assume you have smooth scroll off or are at a slow enough baud
 # rate that it doesn't matter (1200? or less). Also this assumes
-# that you set auto-nl to "on", if you set it off use vt100-nam 
+# that you set auto-nl to "on", if you set it off use vt100-nam
 # below.
-# 
+#
 # The padding requirements listed here are guesses. It is strongly
 # recommended that xon/xoff be enabled, as this is assumed here.
-# 
-# The vt100 uses <rs2> and <rf> rather than :is:/:ct:/:st: because the 
-# tab settings are in non-volatile memory and don't need to be 
-# reset upon login. Also setting the number of columns glitches 
+#
+# The vt100 uses <rs2> and <rf> rather than :is:/:ct:/:st: because the
+# tab settings are in non-volatile memory and don't need to be
+# reset upon login. Also setting the number of columns glitches
 # the screen annoyingly. You can type "reset" to get them set.
 #
 # The VT100 series terminals have cursor ("arrows") keys which can operate
@@ -1578,7 +1578,7 @@ vt52|dec vt52:\
 # The Numeric Keypad which can operate in two different modes: Numeric Mode and
 # Application Mode.  Numeric Mode is the reset state, and is assumed to be
 # the normal state.  Application Mode is the "set" state.  In Numeric Mode,
-# the numeric and punctuation keys transmit ASCII 7-bit characters, and the 
+# the numeric and punctuation keys transmit ASCII 7-bit characters, and the
 # Enter key transmits the same as the Return key (Note: the Return key
 # can be configured to send either LF (\015) or CR LF).  In Application Mode,
 # all the keypad keys transmit "Esc O {code}" sequences.  The PF1 - PF4 keys
@@ -1622,7 +1622,7 @@ vt52|dec vt52:\
 #
 # And here, for those of you with orphaned VT100s lacking documentation, is
 # a description of the soft switches invoked when you do `Set Up'.
-# 
+#
 #  Scroll 0-Jump               Shifted 3   0-#
 #  |      1-Smooth             |           1-British pound sign
 #  | Autorepeat 0-Off          | Wrap Around 0-Off
@@ -1699,7 +1699,7 @@ vt100-s|vt100-s-top|vt100-top-s|vt100 for use with top sysline:\
        :ds=\E7\E[1;24r\E8:fs=\E8:ho=\E[2;1H:is=\E7\E[2;24r\E8:\
        :ts=\E7\E[1;%dH\E[1K:tc=vt100-am:
 
-# Status line at bottom. 
+# Status line at bottom.
 # Clearing the screen will clobber status line.
 vt100-s-bot|vt100-bot-s|vt100 for use with bottom sysline:\
        :es:hs:\
@@ -1709,7 +1709,7 @@ vt100-s-bot|vt100-bot-s|vt100 for use with bottom sysline:\
 
 # Most of the `vt100' emulators out there actually emulate a vt102
 # This entry (or vt102-nsgr) is probably the right thing to use for
-# these.  
+# these.
 vt102|dec vt102:\
        :mi:\
        :al=\E[L:dc=\E[P:dl=\E[M:ei=\E[4l:im=\E[4h:tc=vt100:
@@ -1722,7 +1722,7 @@ vt102-w|dec vt102 in wide mode:\
 # string in the canonical vt100 entry above leaves the screen littered
 # with little  snowflake or star characters (IBM PC ROM character \017 = ^O)
 # after highlight turnoffs.  This entry should fix that, and even leave
-# ACS support working, at the cost of making multiple-highlight changes 
+# ACS support working, at the cost of making multiple-highlight changes
 # slightly more expensive.
 # From: Eric S. Raymond <esr@snark.thyrsus.com> July 22 1995
 vt102-nsgr|vt102 no sgr (use if you see snowflakes after highlight changes):\
@@ -1749,8 +1749,8 @@ vt131|dec vt131:\
 
 # vt132 - like vt100 but slower and has ins/del line and such.
 # I'm told that :im:/:ei: are backwards in the terminal from the
-# manual and from the ANSI standard, this describes the actual 
-# terminal. I've never actually used a vt132 myself, so this 
+# manual and from the ANSI standard, this describes the actual
+# terminal. I've never actually used a vt132 myself, so this
 # is untested.
 #
 vt132|DEC vt132:\
@@ -1839,7 +1839,7 @@ vt220-8bit|vt220-8|vt200-8bit|vt200-8|dec vt220/200 in 8-bit mode:\
 # at the top of the keyboard.  This mapping follows the description given
 # in the VT220 Programmer Reference Manual and agrees with the labeling
 # on some terminals that emulate the vt220.  There is no support for an F5.
-# See vt220 for an alternate mapping. 
+# See vt220 for an alternate mapping.
 #
 vt220d|DEC VT220 in vt100 mode with DEC function key labeling:\
        :F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:F5=\E[28~:\
@@ -1878,8 +1878,8 @@ vt200-js|vt220-js|dec vt200 series with jump scroll:\
        :nw=^M\ED:r1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:rc=\E8:\
        :rf=/usr/lib/tabset/vt100:sc=\E7:se=5\E[27m:sf=\ED:\
        :so=5\E[7m:sr=\EM:ta=^I:ue=\E[24m:up=\E[A:us=\E[4m:
-# This was DEC's vt320.  Use the purpose-built one below instead 
+
+# This was DEC's vt320.  Use the purpose-built one below instead
 #vt320|DEC VT320 in vt100 emulation mode,
 #      use=vt220,
 
@@ -1890,9 +1890,9 @@ vt320nam|v320n|DEC VT320 in vt100 emul. mode with NO AUTO WRAP mode:\
        :am@:\
        :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7l\E[?8h:tc=vt220:
 
-# These entries are not DEC's official ones, they were purpose-built for the 
+# These entries are not DEC's official ones, they were purpose-built for the
 # VT320.  Here are the designer's notes:
-# <kel> is end on a PC kbd.  Actually 'select' on a VT.  Mapped to 
+# <kel> is end on a PC kbd.  Actually 'select' on a VT.  Mapped to
 # 'Erase to End of Field'... since nothing seems to use 'end' anyways...
 # khome is Home on a PC kbd.  Actually 'FIND' on a VT.
 # Things that use <knxt> usually use tab anyways... and things that don't use
@@ -1902,7 +1902,7 @@ vt320nam|v320n|DEC VT320 in vt100 emul. mode with NO AUTO WRAP mode:\
 # and the resulting fact that it causes the termcap translation of the entry
 # to SMASH the 1k-barrier...
 # From: Adam Thompson <athompso@pangea.ca> Sept 10 1995
-# (vt320: uncommented :fs: --esr) 
+# (vt320: uncommented :fs: --esr)
 # (untranslatable capabilities removed to fit entry within 1023 bytes)
 # (sgr removed to fit entry within 1023 bytes)
 # (acsc removed to fit entry within 1023 bytes)
@@ -1957,7 +1957,7 @@ vt320-w-nam|vt300-w-nam|dec vt320 wide 7 bit terminal with no am:\
 # Emacs v18 terminal modes to deal with the cursor keys in that the arrow
 # keys were switched into application mode at the same time the numeric pad
 # is switched into application mode.  This changes the definitions of the
-# arrow keys.  Emacs v19 is smarter and mines its keys directly out of 
+# arrow keys.  Emacs v19 is smarter and mines its keys directly out of
 # your termcap or terminfo entry,
 #
 # From: Daniel Glasser <dag@persoft.persoft.com>, 13 Oct 1993
@@ -1985,8 +1985,8 @@ vt340|dec-vt340|vt330|dec-vt330|dec vt340 graphics terminal with 24 line page:\
 
 # DEC doesn't supply a vt400 description, so we add Daniel Glasser's
 # (originally written with vt420 as its primary name, and usable for it).
-# 
-# VT400/420 -- This terminal is a superset of the vt320.  It adds the multiple 
+#
+# VT400/420 -- This terminal is a superset of the vt320.  It adds the multiple
 #    text pages and long text pages with selectable length of the vt340, along
 #    with left and right margins, rectangular area text copy, fill, and erase
 #    operations, selected region character attribute change operations,
@@ -1998,7 +1998,7 @@ vt340|dec-vt340|vt330|dec-vt330|dec vt340 graphics terminal with 24 line page:\
 # Emacs v18 terminal modes to deal with the cursor keys in that the arrow
 # keys were switched into application mode at the same time the numeric pad
 # is switched into application mode.  This changes the definitions of the
-# arrow keys.  Emacs v19 is smarter and mines its keys directly out of 
+# arrow keys.  Emacs v19 is smarter and mines its keys directly out of
 # your termcap entry,
 #
 # From: Daniel Glasser <dag@persoft.persoft.com>, 13 Oct 1993
@@ -2055,13 +2055,13 @@ vt420|DEC VT420:\
 # emulators define these):
 #
 #               if (key < 16) then  value = key;
-#               else if (key < 21) then value = key + 1; 
+#               else if (key < 21) then value = key + 1;
 #               else if (key < 25) then value = key + 2;
 #               else if (key < 27) then value = key + 3;
 #               else if (key < 30) then value = key + 4;
 #               else value = key + 5;
 #
-# The string must be the hexadecimal equivalent, e.g., "5052494E" for "PRINT". 
+# The string must be the hexadecimal equivalent, e.g., "5052494E" for "PRINT".
 # There's no provision in terminfo for emitting a string in this format, so the
 # application has to know it.
 #
@@ -2352,7 +2352,7 @@ x10term|vs100-x10|xterm terminal emulator (X10 window system):\
        :kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:md=\E[1m:me=\E[m:\
        :mr=\E[7m:nd=\E[C:se=\E[m:sf=^J:so=\E[7m:sr=\EM:ta=^I:\
        :ue=\E[m:up=\E[A:us=\E[4m:
-# Compatible with the R5 xterm 
+# Compatible with the R5 xterm
 # (from the XFree86 3.2 distribution, <blink=@> removed)
 # added khome/kend, rmir/smir, rmul/smul, hts based on the R5 xterm code - TD
 # corrected typos in rs2 string - TD
@@ -2581,7 +2581,7 @@ xterm-sco|XFree86 xterm with SCO function keys:\
 #        12-fkey keyboard can support vt220's 20-fkeys.
 #      + maps numeric keypad "+" to ",".
 #      + uses DEC-style control sequences for the application keypad.
-#        
+#
 xterm-vt220|XFree86 xterm emulating vt220:\
        :@1=\EOu:@7=\E[4~:@8=\EOM:F1=\E[23~:F2=\E[24~:F3=\E[25~:\
        :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\
@@ -2608,10 +2608,10 @@ xterm-24|vs100|xterms|xterm terminal emulator (X Window System):\
 # This is xterm for ncurses.
 xterm|xterm terminal emulator (X Window System):\
        :tc=xterm-r6:
-#      use=xterm-xfree86, 
+#      use=xterm-xfree86,
 
-# These entries allow access to the X titlebar and icon name as a status line. 
-# Note that twm (and possibly window managers descended from it such as tvtwm, 
+# These entries allow access to the X titlebar and icon name as a status line.
+# Note that twm (and possibly window managers descended from it such as tvtwm,
 # ctwm, and vtwm) track windows by icon-name; thus, you don't want to mess
 # with it.
 xterm+sl|access X title line and icon name:\
@@ -2646,7 +2646,7 @@ kterm-color|kterm-co|kterm with ANSI colors:\
 # See the note on ICH/ICH1 VERSUS RMIR/SMIR near the end of file
 xterm-nic|xterm with ich/ich1 suppressed for non-curses programs:\
        :IC@:ei=:ic@:im=:tc=xterm:
-# From: Mark Sheppard <kimble@mistral.co.uk>, 4 May 1996 
+# From: Mark Sheppard <kimble@mistral.co.uk>, 4 May 1996
 xterm1|xterm terminal emulator ignoring the alternate screen buffer:\
        :te@:ti@:tc=xterm:
 
@@ -2809,7 +2809,7 @@ konsole|KDE console window:\
 #
 # rxvt is normally configured to look for "xterm" or "xterm-color" as $TERM.
 # Since rxvt is not really compatible with xterm, it should be configured as
-# "rxvt" (monochrome) and "rxvt-color". 
+# "rxvt" (monochrome) and "rxvt-color".
 # (untranslatable capabilities removed to fit entry within 1023 bytes)
 # (sgr removed to fit entry within 1023 bytes)
 # (acsc removed to fit entry within 1023 bytes)
@@ -2927,7 +2927,7 @@ hpterm|X-hpterm|hp X11 terminal emulator:\
 # via the X resource setting "xterm*sunFunctionKeys:true"
 # To understand <kf11>/<kf12> note that L1,L2 and F11,F12 are the same.
 # The <kf13>...<kf20> keys are L3-L10.  We don't set <kf16=\E[197z>
-# because we want it to be seen as <kcpy>. 
+# because we want it to be seen as <kcpy>.
 # The <kf31>...<kf45> keys are R1-R15.  We treat some of these in accordance
 # with their Sun keyboard labels instead.
 # From: Simon J. Gerraty <sjg@zen.void.oz.au> 10 Jan 1996
@@ -2967,8 +2967,8 @@ emu|emu native mode:\
 #### MGR
 #
 # MGR is a Bell Labs window system lighter-weight than X.
-# These entries describe MGR's xterm-equivalent. 
-# They are courtesy of Vincent Broman <broman@nosc.mil> 14 Jan 1997 
+# These entries describe MGR's xterm-equivalent.
+# They are courtesy of Vincent Broman <broman@nosc.mil> 14 Jan 1997
 #
 
 mgr|Bellcore MGR (non X) window system terminal emulation:\
@@ -2997,8 +2997,8 @@ mgr-linux|Mgr window with Linux keyboard:\
 ######## UNIX VIRTUAL TERMINALS, VIRTUAL CONSOLES, AND TELNET CLIENTS
 #
 
-# Columbus UNIX virtual terminal. This terminal also appears in 
-# UNIX 4.0 and successors as line discipline 1 (?), but is 
+# Columbus UNIX virtual terminal. This terminal also appears in
+# UNIX 4.0 and successors as line discipline 1 (?), but is
 # undocumented and does not really work quite right.
 cbunix|cb unix virtual terminal:\
        :am:bs:da:db:\
@@ -3015,7 +3015,7 @@ vremote|virtual remote terminal:\
 pty|4bsd pseudo teletype:\
        :cm=\EG%+ %+ :se=\Eb$:so=\Ea$:ue=\Eb!:us=\Ea!:tc=cbunix:
 
-# The codes supported by the term.el terminal emulation in GNU Emacs 19.30 
+# The codes supported by the term.el terminal emulation in GNU Emacs 19.30
 eterm|gnu emacs term.el terminal emulation:\
        :am:mi:xn:\
        :co#80:li#24:\
@@ -3027,7 +3027,7 @@ eterm|gnu emacs term.el terminal emulation:\
        :sf=^J:so=\E[7m:ta=^I:te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:\
        :ue=\E[m:up=\E[A:us=\E[4m:
 
-# Entries for use by the `screen' program by Juergen Weigert, 
+# Entries for use by the `screen' program by Juergen Weigert,
 # Michael Schroeder, Oliver Laumann.  The screen and
 # screen-w entries came with version 3.7.1.  The screen2 and screen3 entries
 # come from University of Wisconsin and may be older.
@@ -3338,8 +3338,8 @@ sun-c|sun-cmd|Sun Microsystems Workstation console with scrollable history:\
 # (wsiris: this had extension capabilities
 #      :HS=\E7F2:HE=\E7F7:\
 #      :CT#2:CZ=*Bblack,red,green,yellow,blue,magenta,cyan,*Fwhite:
-# See the note on Iris extensions near the end of this file.  
-# Finally, removed suboptimal :cl:=\EH\EJ and added :do: & 
+# See the note on Iris extensions near the end of this file.
+# Finally, removed suboptimal :cl:=\EH\EJ and added :do: &
 # :vb: from BRL -- esr)
 wsiris|iris40|iris emulating a 40 line visual 50 (approximately):\
        :am:bs:nc:pt:\
@@ -3453,7 +3453,7 @@ news-42-euc:\
 news-42-sjis:\
        :tc=news-42:
 #
-#      NEWS-OS old termcap entry 
+#      NEWS-OS old termcap entry
 #
 # (news-old-unk: this had :KB=news:TY=sjis: --esr)
 news-old-unk|SONY NEWS vt100 emulator common entry:\
@@ -3684,7 +3684,7 @@ cygwin|ansi emulation for Cygwin:\
 # but the termcap entry is actually broken and unusable as given; the :do:
 # capability is misspelled "d".
 #
-# To use this, you need to a bunch of environment variables: 
+# To use this, you need to a bunch of environment variables:
 #
 # SET _POSIX_TERM=on
 # SET TERM=ansi
@@ -3696,7 +3696,7 @@ cygwin|ansi emulation for Cygwin:\
 # Important note: setting the TMP environment variable in POSIX style renders
 # it incompatible with a lot of other applications, including Visual C++. So
 # you should have a separate command window just for vi. All the other
-# variables may be permanently set in the Control Panel\System applet. 
+# variables may be permanently set in the Control Panel\System applet.
 #
 # You can find out more about the restrictions of this facility at
 # <http://www.nentug.org/unix-to-nt/ntposix.htm>.
@@ -3813,14 +3813,14 @@ altos7pc|alt7pc|altos PC VII:\
 #### Hewlett-Packard (hp)
 #
 #      Hewlett-Packard
-#      8000 Foothills Blvd 
+#      8000 Foothills Blvd
 #      Roseville, CA 95747
 #      Vox: 1-(916)-785-4363   (Technical response line for VDTs)
 #           1-(800)-633-3600   (General customer support)
 #
 #
 # As of March 1998, HP no longer has any terminals in production.
-# The 700 series (22, 32, 41, 44, 92, 94, 96, 98) is still being 
+# The 700 series (22, 32, 41, 44, 92, 94, 96, 98) is still being
 # supported (they still have parts). So are the 2392a and 2394a.
 # See the WORKSTATION CONSOLES section for the 700s.
 #
@@ -3845,9 +3845,9 @@ hp+pfk+cr|hp function keys with CR:\
 hp+pfk-cr|hp function keys w/o CR:\
        :k1=\Ep:k2=\Eq:k3=\Er:k4=\Es:k5=\Et:k6=\Eu:k7=\Ev:k8=\Ew:
 
-# The hp2621s use the same keys for the arrows and function keys, 
-# but not separate escape sequences. These definitions allow the 
-# user to use those keys as arrow keys rather than as function 
+# The hp2621s use the same keys for the arrows and function keys,
+# but not separate escape sequences. These definitions allow the
+# user to use those keys as arrow keys rather than as function
 # keys.
 hp+pfk+arrows|hp alternate arrow definitions:\
        :k1@:k2@:k3@:k4@:k5@:k6@:k7@:k8@:kF=\Er\r:kH=\Eq\r:kR=\Es\r:\
@@ -3871,16 +3871,16 @@ hp262x|HP 262x terminals:\
 # Due to severe 2621 braindamage, the only way to get the arrow keys to
 # transmit anything at all is to turn on the function key labels
 # with :ks:, and even then the user has to hold down shift!
-# The default 2621 turns off the labels except when it has to to 
-# enable the function keys. If your installation prefers labels 
-# on all the time, or off all the time (at the "expense" of the 
+# The default 2621 turns off the labels except when it has to to
+# enable the function keys. If your installation prefers labels
+# on all the time, or off all the time (at the "expense" of the
 # function keys), use 2621-nl or 2621-wl.
-# 
-# Note: there are newer ROMs for 2621's that allow you to set 
-# strap A so the regular arrow keys xmit \EA, etc, as with the 
-# 2645. However, even with this strap set, the terminal stops 
+#
+# Note: there are newer ROMs for 2621's that allow you to set
+# strap A so the regular arrow keys xmit \EA, etc, as with the
+# 2645. However, even with this strap set, the terminal stops
 # xmitting if you reset it, until you unset and reset the strap!
-# Since there is no way to set/unset the strap with an escape 
+# Since there is no way to set/unset the strap with an escape
 # sequence, we don't use it in the default.
 # If you like, you can use 2621-ba (brain-damaged arrow keys).
 hp2621-ba|2621 w/new rom and strap A set:\
@@ -3910,7 +3910,7 @@ hp2621-k45|hp2621k45|k45|hp 2621 with 45 keyboard:\
        :kb=^H:kd=\EB:ke=\E&s0A:kh=\Eh:kl=\ED:kr=\EC:ks=\E&s1A:\
        :ku=\EA:tc=hp2621:
 
-# 2621 using all 48 lines of memory, only 24 visible at any time.  
+# 2621 using all 48 lines of memory, only 24 visible at any time.
 hp2621-48|48 line 2621:\
        :li#48:\
        :cm=\E&a%r%dc%dR:cv=\E&a%dR:ho=\EH:tc=hp2621:
@@ -3919,38 +3919,38 @@ hp2621-48|48 line 2621:\
 hp2621-nl|hp 2621 with no labels:\
        :kd@:ke@:kh@:kl@:kr@:ks@:ku@:tc=hp2621-fl:
 
-# Needed for UCB ARPAVAX console, since lsi-11 expands tabs 
+# Needed for UCB ARPAVAX console, since lsi-11 expands tabs
 # (wrong).
 #
 hp2621-nt|hp 2621 w/no tabs:\
        :ta@:tc=hp2621:
 
 # Hp 2624 B with 4 or 10 pages of memory.
-# 
-# Some assumptions are made with this entry. These settings are 
+#
+# Some assumptions are made with this entry. These settings are
 # NOT set up by the initialization strings.
-# 
+#
 # Port Configuration
 #      RecvPace=Xon/Xoff
 #      XmitPace=Xon/Xoff
 #      StripNulDel=Yes
-# 
+#
 # Terminal Configuration
 #      InhHndShk=Yes
 #      InhDC2=Yes
 #      XmitFnctn(A)=No
 #      InhEolWrp=No
-# 
+#
 # Note: the 2624 DOES have a true :ho:, believe it or not!
-# 
-# The 2624 has an "error line" to which messages can be sent. 
+#
+# The 2624 has an "error line" to which messages can be sent.
 # This is CLOSE to what is expected for a "status line". However,
-# after a message is sent to the "error line", the next carriage 
-# return is EATEN and the "error line" is turned back off again! 
+# after a message is sent to the "error line", the next carriage
+# return is EATEN and the "error line" is turned back off again!
 # So I guess we can't define :hs:, :es:, :ws:, :ds:, :fs:, :ts:.
-# 
-# This entry supports emacs (and any other program that uses raw 
-# mode) at 4800 baud and less. I couldn't get the padding right 
+#
+# This entry supports emacs (and any other program that uses raw
+# mode) at 4800 baud and less. I couldn't get the padding right
 # for 9600.
 #
 # (hp2624: replaced NUL sequences in flash with mandatory pauses -- esr)
@@ -3959,21 +3959,21 @@ hp2624|hp2624a|hp2624b|hp2624b-4p|Hewlett Packard 2624 B:\
        :lm#96:\
        :vb=\E&w13F\E&w12F\E&w13F\E&w12F:tc=hp+labels:tc=scrhp:
 
-# This hp2626 entry does not use any of the fancy windowing stuff 
+# This hp2626 entry does not use any of the fancy windowing stuff
 # of the 2626.
-# 
-# Indeed, terminfo does not yet handle such stuff. Since changing 
-# any window clears memory, it is probably not possible to use 
+#
+# Indeed, terminfo does not yet handle such stuff. Since changing
+# any window clears memory, it is probably not possible to use
 # this for screen opt.
-# 
-# ed is incredibly slow most of the time - I am guessing at the 
-# exact padding. Since the terminal uses xoff/xon this is intended 
-# only for cost computation, so that the terminal will prefer el 
+#
+# ed is incredibly slow most of the time - I am guessing at the
+# exact padding. Since the terminal uses xoff/xon this is intended
+# only for cost computation, so that the terminal will prefer el
 # or even dl1 which is probably faster!
-# 
-# \ED\EJ\EC hack for ed from Ed Bradford - apparently ed is only 
-# extra slow on the last line of the window. 
-# 
+#
+# \ED\EJ\EC hack for ed from Ed Bradford - apparently ed is only
+# extra slow on the last line of the window.
+#
 # The padding probably should be changed.
 #
 hp2626|hp2626a|hp2626p|hp 2626:\
@@ -3982,10 +3982,10 @@ hp2626|hp2626a|hp2626p|hp 2626:\
        :SF=\E&r%dD:SR=\E&r%dU:cd=\ED\EJ\EC:ip=:is=\E&j@\r:\
        :tc=hp+pfk+cr:tc=hp+labels:tc=scrhp:
 
-# This entry is for sysline. It allocates a 23 line window with 
-# a 115 line workspace for regular use, and a 1 line window for 
+# This entry is for sysline. It allocates a 23 line window with
+# a 115 line workspace for regular use, and a 1 line window for
 # the status line.
-# 
+#
 # This assumes port 2 is being used.
 # Turn off horizontal line, Create ws #1 with 115 lines,
 # Create ws #2 with 1 line, Create window #1 lines 1-23,
@@ -4031,7 +4031,7 @@ hp2627c|hp 2627 color (cyan) terminal with no labels:\
        :is=\E&v0m1a0b0c2i1a1b0c1i0a1b1c0i0S\E&j@\r\E3\r:\
        :kb=^H:kd=^J:kl=^H:nw=^M^J:sf=^J:ta=^I:tc=hp2627a:
 
-# hp2640a doesn't have the Y cursor addressing feature, and C is 
+# hp2640a doesn't have the Y cursor addressing feature, and C is
 # memory relative instead of screen relative, as we need.
 #
 hp2640a|hp 2640a:\
@@ -4066,14 +4066,14 @@ hp2645|hp45|HP 2645 series:\
 hp2648|hp2648a|HP 2648a graphics terminal:\
        :cl=\EH\EJ:cm=\E&a%r%dc%dY:dc=\EP:ip=:tc=hp2645:
 
-# The HP 150 terminal is a fairly vanilla HP terminal, with the 
-# clreol standout problem. It also has graphics capabilities and 
+# The HP 150 terminal is a fairly vanilla HP terminal, with the
+# clreol standout problem. It also has graphics capabilities and
 # a touch screen, which we don't describe here.
 hp150|hewlett packard Model 150:\
        :bs:tc=hp2622:
 
-# HP 2382a terminals, "the little ones." They don't have any 
-# alternate character set support and sending out ^N/^O will 
+# HP 2382a terminals, "the little ones." They don't have any
+# alternate character set support and sending out ^N/^O will
 # leave the screen blank.
 hp2382a|hp2382|hewlett packard 2382a:\
        :da:db:\
@@ -4132,8 +4132,8 @@ hp+printer|"standard" printer info for HP ttys:\
 
 
 # The new hp2621b is kind of a cross between the old 2621 and the
-# new 262x series of machines. It has dip-switched options. 
-# The firmware has a bug in it such that if you give it a null 
+# new 262x series of machines. It has dip-switched options.
+# The firmware has a bug in it such that if you give it a null
 # length label, the following character is eaten!
 hp2621b|hp 2621b with old style keyboard:\
        :Nl#8:lh#1:lm#48:lw#8:\
@@ -4155,15 +4155,15 @@ hp2621b-kx-p|hp 2621b with new keyboard & printer:\
 
 # Some assumptions are made in the following entries.
 # These settings are NOT set up by the initialization strings.
-# 
+#
 #    Port Configuration
 # RecvPace=Xon/Xoff    XmitPace=Xon/Xoff       StripNulDel=Yes
-# 
+#
 #    Terminal Configuration
 # InhHndShk(G)=Yes     InhDC2(H)=Yes
 # XmitFnctn(A)=No              InhEolWrp=No
 #
-# 
+#
 # Hp 2622a & hp2623a display and graphics terminals
 #
 hp2622|hp2622a|hp 2622:\
@@ -4197,7 +4197,7 @@ hp+color|hp with colors:\
 hp2397a|hp2397|hewlett packard 2397A color terminal:\
        :is=\E&w6f80X:tc=memhp:tc=hp+labels:tc=hp+color:
 
-#  HP 700/44 Setup parameters:  
+#  HP 700/44 Setup parameters:
 # Terminal Mode                HP-PCterm
 # Inhibit Auto Wrap    NO
 # Status Line          Host Writable
@@ -4207,7 +4207,7 @@ hp2397a|hp2397|hewlett packard 2397A color terminal:\
 # Keycode Mode                 NO   or YES (sc)
 # Backspace Key                BS or BS/DEL
 #
-# :is:         sets pcterm; autowrap; 25 lines; pc char set; prog DEL key; 
+# :is:         sets pcterm; autowrap; 25 lines; pc char set; prog DEL key;
 # \E\\? does not turn off keycode mode
 # <smsc>       sets alternate start/stop; keycode on
 hpansi|hp700|hewlett packard 700/44 in HP-PCterm mode:\
@@ -4246,10 +4246,10 @@ hpsub|hp terminals -- capability subset:\
 
 # hpex:
 #      May be used for most 24 x 80 hp terminals,
-# but has no padding added, so may allow runover in some terminals at high 
-# baud rates.  Will not work for hp2640a or hp2640b terminals, hp98x6 and 
-# hp98x5 terminal emulators or hp98x6 consoles.  
-#      Adds xy-cursor addressing, vertical cursor addressing, home, 
+# but has no padding added, so may allow runover in some terminals at high
+# baud rates.  Will not work for hp2640a or hp2640b terminals, hp98x6 and
+# hp98x5 terminal emulators or hp98x6 consoles.
+#      Adds xy-cursor addressing, vertical cursor addressing, home,
 # last line, and underline capabilities.
 #
 # (hpex: removed memory-lock capabilities ":ml=\El:mu=\Em:",
@@ -4410,7 +4410,7 @@ dku7003|Honeywell Bull DKU 7003 all features described:\
 # emulations (usually their stupidest, and usually labeled adm3, though
 # these `adm3' emulations normally have adm3a+ capabilities).
 #
-# WARNING: Some early ADM terminals (including the ADM3 and ADM5) had a 
+# WARNING: Some early ADM terminals (including the ADM3 and ADM5) had a
 # `diagnostic feature' that sending them a ^G while pin 22 (`Ring Indicator')
 # was being held to ground would trigger a send of the top line on the screen.
 # A quick fix might be to drop back to a cheesy 4-wire cable with pin 22
@@ -4483,15 +4483,15 @@ adm11|LSI ADM-11:\
 # Supervisor mode info by Ari Wuolle, <awuolle@delta.hut.fi>, 27 Aug 1996
 # (adm12: removed obsolete ":kn:ma=j^Jk^P^K^Pl ^R^L^L :".  This formerly had
 # :is:=\Eq but that looked wrong; this :is: is from Dave Yost <esquire!yost>
-# via BRL.  That entry asserted :sg#1:, but I've left that out because 
+# via BRL.  That entry asserted :sg#1:, but I've left that out because
 # neither earlier nor later ADMSs have it -- esr)
 #
 # You will need to get into the supervisor setup before you can set
 # baudrate etc. for your ADM-12+. Press Shift-Ctrl-Setup and you should
 # see a lot more setup options.
-# 
+#
 # While in supervisor setup you can also use following codes:
-# 
+#
 # Ctrl-P Personality character selections (configure for example what
 #        arrow keys send, if I recall correctly)
 # Ctrl-T tabs 1-80   use left&right to move and up to set and
@@ -4504,15 +4504,15 @@ adm11|LSI ADM-11:\
 # Ctrl-S Save both setup and functions keys. Takes from 6 to 10 seconds.
 # Ctrl-R Reads both setup and functions keys from NVM.
 # Shift-Ctrl-X Unlock keyboard and cancel received X-OFF status
-# 
+#
 # ADM-12+ supports hardware handshaking, but it is DTR/CTS as opposed to
 # RTS/CTS used nowadays with virtually every modem and computer. 19200
 # bps works fine with hardware flow control.
-# 
+#
 # The following null-modem cable should fix this and enable you to use
 # RTS/CTS handshaking (which Linux supports, use CRTSCTS setting). Also
 # set ADM-12+ for DTR handshaking from supervisor setup.
-# 
+#
 # PC Serial   ADM-12+
 #  --------   -------
 #         2 - 3
@@ -4578,7 +4578,7 @@ adm22|lsi adm22:\
 #   +                                          +
 # +-+                                          +-+
 # +                                              +
-# +                               S5 S6 S7       +   
+# +                               S5 S6 S7       +
 # +                               == == ==       +
 # +----------------------------------------------+
 #            front of case (keyboard)
@@ -4726,8 +4726,8 @@ adm42|lsi adm42:\
        :cr=^M:dc=\EW:dl=\ER:do=^J:ei=\Er:im=\Eq:ip=:kd=^J:kh=^^:\
        :kl=^H:kr=^L:ku=^K:le=^H:mk@:nd=^L:pc=\177:sf=^J:ta=^I:ue@:\
        :up=^K:us@:vs=\EC\E3 \E3(:tc=adm+sgr:
-# The following termcap for the Lear Siegler ADM-42 leaves the 
-# "system line" at the bottom of the screen blank (for those who 
+# The following termcap for the Lear Siegler ADM-42 leaves the
+# "system line" at the bottom of the screen blank (for those who
 # find it distracting otherwise)
 adm42-ns|lsi adm-42 with no system line:\
        :al=\EE\EF \011:bt=\EI\EF \011:cd=\EY\EF \011:\
@@ -4816,11 +4816,11 @@ qvt101|qvt108|qume qvt 101 and QVT 108:\
        :sg#1:tc=qvt101+:
 
 # This used to have :vs=\E.2: but no :ve: or :vi:.  The BSD termcap
-# file had :vs=\EM4 \200\200\200:.  I've done the safe thing and yanked 
+# file had :vs=\EM4 \200\200\200:.  I've done the safe thing and yanked
 # both. The :mr: is from BSD, which also claimed bold=\E( and dim=\E).
 # What seems to be going on here is that this entry was designed so that
 # the normal highlight is bold and standout is dim plus something else
-# (reverse-video maybe?  But then, are there two :mr: sequences?)  
+# (reverse-video maybe?  But then, are there two :mr: sequences?)
 qvt101+|qvt101p|qume qvt 101 PLUS product:\
        :am:bw:hs:ul:\
        :co#80:li#24:sg#0:\
@@ -4911,7 +4911,7 @@ tvi803|televideo 803:\
 
 # Vanilla tvi910 -- W. Gish <cswarren@violet> 10/29/86
 # Switch settings are:
-# 
+#
 # S1  1 2 3 4
 #     D D D D  9600
 #     D D D U    50
@@ -4929,7 +4929,7 @@ tvi803|televideo 803:\
 #     U U D U  7200
 #     U U U D  9600
 #     U U U U 19200
-# 
+#
 # S1  5 6 7 8
 #     U D X D  7N1 (data bits, parity, stop bits) (X means ignored)
 #     U D X U  7N2
@@ -4941,51 +4941,51 @@ tvi803|televideo 803:\
 #     D D X U  8N2
 #     D U D D  8O1
 #     D U U U  8E2
-# 
+#
 # S1  9  Autowrap
 #     U  on
 #     D  off
-# 
+#
 # S1 10  CR/LF
 #     U  do CR/LF when CR received
 #     D  do CR when CR received
-# 
+#
 # S2  1  Mode
 #     U  block
 #     D  conversational
-# 
+#
 # S2  2  Duplex
 #     U  half
 #     D  full
-# 
+#
 # S2  3  Hertz
 #     U  50
 #     D  60
-# 
+#
 # S2  4  Edit mode
 #     U  local
 #     D  duplex
-# 
+#
 # S2  5  Cursor type
 #     U  underline
 #     D  block
-# 
+#
 # S2  6  Cursor down key
 #     U  send ^J
 #     D  send ^V
-# 
+#
 # S2  7  Screen colour
 #     U  green on black
 #     D  black on green
-# 
+#
 # S2  8  DSR status (pin 6)
 #     U  disconnected
 #     D  connected
-# 
+#
 # S2  9  DCD status (pin 8)
 #     U  disconnected
 #     D  duplex
-# 
+#
 # S2 10  DTR status (pin 20)
 #     U  disconnected
 #     D  duplex
@@ -5016,7 +5016,7 @@ tvi910|televideo model 910:\
 #     U D X D  7N1     U D X U  7N2     U U D D  7O1     U U D U  7O2
 #     U U U D  7E1     U U U U  7E2     D D X D  8N1     D D X U  8N2
 #     D U D D  8O1     D U U U  8E2
-# 
+#
 # S1  9  Autowrap            (U = on, D = off)
 # S1 10  CR/LF               (U = CR/LF on CR received, D = CR on CR received)
 # S2  1  Mode                (U = block, D = conversational)
@@ -5056,8 +5056,8 @@ tvi912c|tvi912b|new televideo 912:\
 # reset to page 0 when exiting curses application (\E-07 )
 tvi912-2p|tvi920-2p|tvi-2p|televideo w/2 pages:\
        :te=\E-07\s:ti=\E-17\s:tc=tvi912:
-# We got some new tvi912c terminals that act really weird on the regular 
-# termcap, so one of our gurus worked this up. Seems that cursor 
+# We got some new tvi912c terminals that act really weird on the regular
+# termcap, so one of our gurus worked this up. Seems that cursor
 # addressing is broken.
 tvi912cc|tvi912 at cowell college:\
        :cm@:tc=tvi912c:
@@ -5082,7 +5082,7 @@ tvi912cc|tvi912 at cowell college:\
 # 9:        Even parity             Odd parity
 # 10:      Steady cursor           Blinking cursor
 #      (On Rev E or lower, use W25 instead of switch 10.)
-# 
+#
 # S5 UART/Terminal options:
 #              Open                    Closed
 # 1:   P3-6 Not connected      DSR received on P3-6
@@ -5108,10 +5108,10 @@ tvi912cc|tvi912 at cowell college:\
 #
 # S4/W31:      Enables automatic LF upon receipt of CR from
 #              remote or keyboard.
-# S4/W32:      Enables transmission of EOT at the end of Send.  If not 
+# S4/W32:      Enables transmission of EOT at the end of Send.  If not
 #              installed, a carriage return is sent.
 # S4/W33:      Disables automatic carriage return in column 80.
-# S4/W34:      Selects Page Print Mode as initial condition.  If not 
+# S4/W34:      Selects Page Print Mode as initial condition.  If not
 #              installed, Extension Mode is selected.
 #
 tvi920b|tvi920c|new televideo 920:\
@@ -5195,19 +5195,19 @@ tvi924|televideo tvi924:\
 # U    U       D       U       7200
 # U    U       U       D       9600
 # U    U       U       U       19200
-# 
-# 
+#
+#
 # Settings for word length and stop-bits (S1)
 #
 #  Position    Description
-# 5    6       
+# 5    6
 # ---------------------------
 # U    -       7-bit word
 # D    -       8-bit word
 # -    U       2 stop bits
 # -    D       1 stop bit
-# 
-# 
+#
+#
 # S2 (external) settings
 #
 # Position     Up      Dn      Description
@@ -5220,19 +5220,19 @@ tvi924|televideo tvi924:\
 # --------------------------------------------
 # 3                    X
 # 4                    X       No parity
-# 5                    X       
+# 5                    X
 # --------------------------------------------
 # 3                    X
 # 4                    X       Odd parity
-# 5            X       
+# 5            X
 # --------------------------------------------
 # 3                    X
 # 4            X               Even parity
-# 5            X       
+# 5            X
 # --------------------------------------------
-# 3            X       
+# 3            X
 # 4                    X       Mark parity
-# 5            X               
+# 5            X
 # --------------------------------------------
 # 3            X
 # 4            X               Space parity
@@ -5245,47 +5245,47 @@ tvi924|televideo tvi924:\
 # 8                    X
 # --------------------------------------------
 # 7            X               Full Duplex
-# 8                    X       
+# 8                    X
 # --------------------------------------------
 # 7                    X       Block mode
-# 8            X       
+# 8            X
 # --------------------------------------------
 # 9                    X       50 Hz
 #              X               60 Hz
 # --------------------------------------------
 # 10           X               CR/LF (Auto LF)
 #                      X       CR only
-# 
+#
 # S3 (internal switch) settings:
-# 
+#
 # Position     Up      Dn      Description
 # --------------------------------------------
-# 1            X               Keyclick off 
+# 1            X               Keyclick off
 #                      X       Keyclick on
 # --------------------------------------------
 # 2                    X       English
-# 3                    X       
+# 3                    X
 # --------------------------------------------
 # 2                    X       German
-# 3            X               
+# 3            X
 # --------------------------------------------
 # 2            X               French
-# 3                    X       
+# 3                    X
 # --------------------------------------------
 # 2            X               Spanish
-# 3            X       
+# 3            X
 # --------------------------------------------
 # 4                    X       Blinking block cursor
-# 5                    X       
+# 5                    X
 # --------------------------------------------
 # 4                    X       Blinking underline cursor
-# 5            X               
+# 5            X
 # --------------------------------------------
 # 4            X               Steady block cursor
-# 5                    X       
+# 5                    X
 # --------------------------------------------
 # 4            X               Steady underline cursor
-# 5            X       
+# 5            X
 # --------------------------------------------
 # 6            X               Screen blanking timer (ON)
 #                      X       Screen blanking timer (OFF)
@@ -5323,7 +5323,7 @@ tvi925-hi|TeleVideo Model 925 with half intensity standout mode:\
 
 # From: Todd Litwin <litwin@litwin.jpl.nasa.gov> 28 May 1993
 # Originally Tim Curry, Univ. of Central Fla., <duke!ucf-cs!tim> 5/21/82
-# for additional capabilities, 
+# for additional capabilities,
 # The following tvi descriptions from B:pjphar and virus!mike
 # is for all 950s.  It sets the following attributes:
 # full duplex (\EDF)           write protect off (\E()
@@ -5342,11 +5342,11 @@ tvi925-hi|TeleVideo Model 925 with half intensity standout mode:\
 #      start-protected field delimiter (\Ex2\200\200)
 #      end-protected field delimiter (\Ex3\200\200)
 # set end of text delimiter to carriage return/null (\Ex4\r\200)
-# 
+#
 #                     TVI 950 Switch Setting Reference Charts
-# 
+#
 #                                     TABLE 1:
-# 
+#
 #      S1     1     2     3     4     5     6     7     8     9    10
 #          +-----------------------+-----+-----+-----------------------+
 #          | Computer Baud Rate    |Data |Stop | Printer Baud Rate     |
@@ -5356,8 +5356,8 @@ tvi925-hi|TeleVideo Model 925 with half intensity standout mode:\
 #   +------+-----------------------+-----+-----+-----------------------+
 #   | Down |      TABLE 2          |  8  |  1  |      TABLE 2          |
 #   +------+-----------------------+-----+-----+-----------------------+
-# 
-# 
+#
+#
 #      S2     1     2     3     4     5     6     7     8     9    10
 #          +-----+-----+-----------------+-----+-----------+-----+-----+
 #          |Edit |Cursr|    Parity       |Video|Transmiss'n| Hz  |Click|
@@ -5366,9 +5366,9 @@ tvi925-hi|TeleVideo Model 925 with half intensity standout mode:\
 #   +------+-----+-----+-----------------+-----+-----------+-----+-----+
 #   | Down |Local|St'dy|    TABLE 3      |BkonG|  CHART    | 50  | On  |
 #   +------+-----+-----+-----------------+-----+-----------+-----+-----+
-#  
+#
 #                                    TABLE 2:
-# 
+#
 #             +-----------+-----+-----+-----+-----+-----------+
 #             | Display   |  1  |  2  |  3  |  4  |   Baud    |
 #             +-----------+-----+-----+-----+-----+           |
@@ -5391,7 +5391,7 @@ tvi925-hi|TeleVideo Model 925 with half intensity standout mode:\
 #                         |  D  |  U  |  U  |  U  |   9600    |
 #                         |  U  |  U  |  U  |  U  |  19200    |
 #                         +-----+-----+-----+-----+-----------+
-# 
+#
 #                                    TABLE 3:
 #                         +-----+-----+-----+-----------+
 #                         |  3  |  4  |  5  |   Parity  |
@@ -5403,7 +5403,7 @@ tvi925-hi|TeleVideo Model 925 with half intensity standout mode:\
 #                         |  U  |  U  |  U  |   Space   |
 #                         +-----+-----+-----+-----------+
 #                                 X = don't care
-# 
+#
 #                                     CHART:
 #                         +-----+-----+-----------------+
 #                         |  7  |  8  | Communication   |
@@ -5413,11 +5413,11 @@ tvi925-hi|TeleVideo Model 925 with half intensity standout mode:\
 #                         |  U  |  D  |     Block       |
 #                         |  U  |  U  |     Local       |
 #                         +-----+-----+-----------------+
-# 
-# (tvi950: early versions had obsolete ":ma=^Vj^Kk^Hh^Ll^^H:". 
-# I also inserted :ic: and :kI:; the :ko: string indicated that :IC: 
+#
+# (tvi950: early versions had obsolete ":ma=^Vj^Kk^Hh^Ll^^H:".
+# I also inserted :ic: and :kI:; the :ko: string indicated that :IC:
 # should be present and all tvi native modes use the same string for this.
-# Finally, note that BSD has cud1=^V. -- esr) 
+# Finally, note that BSD has cud1=^V. -- esr)
 tvi950|televideo 950:\
        :am:bs:hs:mi:ms:xn:xo:\
        :co#80:it#8:li#24:sg#1:\
@@ -5532,11 +5532,11 @@ tvi970-2p|televideo 970 with using 2 pages of memory:\
        :te=\E[H\E[J\E[V:ti=\E[U\E[?20l\E[?7h\E[1Q:tc=tvi970:
 # Works with vi and rogue.  NOTE: Esc v sets autowrap on, Esc u sets 80 chars
 # per line (rather than 40), Esc K chooses the normal character set.  Not sure
-# padding is needed, but adapted from the tvi920c termcap.  The :so: and 
+# padding is needed, but adapted from the tvi920c termcap.  The :so: and
 # :us: strings are klutzy, but at least use no screen space.
 # (tvipt: removed obsolete ":ma=^Kk^Ll^R^L:".  I wish we knew <rmam>,
 # its absence means <smam>=\Ev isn't safe to use. -- esr)
-# From: Gene Rochlin <armsis@amber.berkeley.edu> 9/19/84. 
+# From: Gene Rochlin <armsis@amber.berkeley.edu> 9/19/84.
 # The :cd:/:k0:/:k1:/:kh:/<mc4>, and <mc5> caps are from BRL, which says:
 # F1 and F2 should be programmed as ^A and ^B; required for UNIFY.
 tvipt|televideo personal terminal:\
@@ -5582,7 +5582,7 @@ tvi9065|televideo 9065:\
 # Visual 50 from Beau Shekita, BTL-Whippany <whuxlb!ejs>
 # Recently I hacked together the following termcap for Visual
 # Technology's Visual 50 terminal. It's a slight modification of
-# the vt52 termcap. 
+# the vt52 termcap.
 # It's intended to run when the Visual 50 is in vt52 emulation mode
 # (I know what you're thinking; if it's emulating a vt52, then why
 # another termcap? Well, it turns out that the Visual 50 can handle
@@ -5840,7 +5840,7 @@ wy50-wvb|wyse50-wvb|wyse 50 132-column visible bell:\
 #          To further complicate things one of the attributes must be
 #      black (either the foreground or the background).  In reverse video
 #      the background changes color with black letters.  In normal video
-#      the foreground changes colors on a black background.  
+#      the foreground changes colors on a black background.
 #          This terminfo uses some of the more advanced features of curses
 #      to display both color and blink.  In the final analysis I am not
 #      sure that the wy350 runs better with this terminfo than it does
@@ -6322,7 +6322,7 @@ wy85-wvb|wyse85-wvb|wyse 85 with visible bell 132-columns:\
 # (instead of application), and change \E[ to \233 for all the keys in
 # terminfo. At one point, I found some reference indicating that this
 # terminal bug (not sending \E[) was acknowledged by Wyse (so it's not just
-# me), but I can't find that and the server under my bookmark to "Wyse 
+# me), but I can't find that and the server under my bookmark to "Wyse
 # Technical" isn't responding.  So there's the question of wether the wy85
 # terminfo should reflect the manufactuer's intended behaviour of the terminal
 # or the actual."
@@ -6433,7 +6433,7 @@ wy325|wyse325|Wyse epc:\
        :up=^K:vb=\E`8\E`9:ve=\E`1:vi=\E`0:tc=adm+sgr:
 
 #
-# lines 24  columns 80  vb 
+# lines 24  columns 80  vb
 #
 wy325-vb|wyse325-vb|wyse-325 with visual bell:\
        :bl@:tc=wy325:
@@ -6457,7 +6457,7 @@ wy325-25w|wyse325-25w|wy325 132 columns:\
        :Nl@:lh@:li#25:lw@:\
        :pn@:r3=\EwG\Ee):tc=wy325-w:
 #
-# lines 25  columns 132  vb 
+# lines 25  columns 132  vb
 #
 wy325-w-vb|wy325-wvb|wyse325-wvb|wyse-325 wide mode reverse video:\
        :bl@:tc=wy325-w:
@@ -6475,7 +6475,7 @@ wy325-42w|wyse325-42w|wyse-325 42 lines wide mode:\
        :Nl@:lh@:li#42:lw@:\
        :pn@:r3=\EwG\Ee):tc=wy325-w:
 #
-# lines 42  columns 132  vb 
+# lines 42  columns 132  vb
 #
 wy325-42w-vb|wy325-42wvb|wyse-325 42 lines wide mode visual bell:\
        :bl@:tc=wy325-w:
@@ -6492,7 +6492,7 @@ wy325-43w|wyse325-43w|wyse-325 43 lines wide mode:\
        :Nl@:lh@:li#43:lw@:\
        :pn@:r3=\EwG\Ee):tc=wy325-w:
 #
-# lines 43  columns 132  vb 
+# lines 43  columns 132  vb
 #
 wy325-43w-vb|wy325-43wvb|wyse-325 43 lines wide mode visual bell:\
        :bl@:tc=wy325-w:
@@ -6621,7 +6621,7 @@ wy370-tek|Wyse 370 Tektronix 4010/4014 emulator:\
 #
 #TITLE:  TERMINFO ENTRY WY520
 #DATE:   8/5/93
-# The WY520 terminfo is based on the WY285 entry published on the WYSE 
+# The WY520 terminfo is based on the WY285 entry published on the WYSE
 # BBS with the addition of more function keys and special keys.
 #
 #               rs1 -> set personality
@@ -6951,7 +6951,7 @@ vt320-k311|dec vt320 series as defined by kermit 3.11:\
 #                              level 0:
 # ^L           -- clear window/reset current attribute to default
 # ^V^A%p1%c    -- set current color attribute, parameter decodes as follows:
-# 
+#
 #      bit:         6   5   4   3   2   1   0
 #                   |       |   |   |       |
 #                   +---+---+   |   +---+---+
@@ -6962,8 +6962,8 @@ vt320-k311|dec vt320 series as defined by kermit 3.11:\
 #                              level 0+:
 # ^V^J%p1%c%p2%c%p3%c%p4%c%p5%c        -- scroll (p2,p3) to (p4,p5) up by p1 lines
 # ^V^K%p1%c%p2%c%p3%c%p4%c%p5%c        -- scroll (p2,p3) to (p4,p5) down by p1 lines
-# ^V^L%p1%c%p2%c%p3%c          -- clear p2 lines and p3 cols w/attr %p1 
-# ^V^M%p1%c%p2%c%p3%c%p4%c     -- fill p3 lines & p4 cols w/char p2+attr %p1 
+# ^V^L%p1%c%p2%c%p3%c          -- clear p2 lines and p3 cols w/attr %p1
+# ^V^M%p1%c%p2%c%p3%c%p4%c     -- fill p3 lines & p4 cols w/char p2+attr %p1
 # (^V^L and ^V^M set the current attribute as a side-effect.)
 # ^V ^Y <a> [...] <c>  -- repeat pattern. <a> specifies the number of bytes
 #                         in the pattern, <c> the number of times the pattern
@@ -6980,7 +6980,7 @@ vt320-k311|dec vt320 series as defined by kermit 3.11:\
 # ^V^T                 -- change highlight at current cursor poition to %c
 # ^V^U%p1%c%p2%c       -- highlight window <a> with attribute <b>
 # ^V^V%p1%c%p2%c%p3%c%p4%c%p5%c
-#                      -- define window 
+#                      -- define window
 #
 # From: Eric S. Raymond <esr@snark.thyrsus.com> 1 Nov 1995
 # (The :mb:/:md:/:mr:/:as:/:us:/:so: capabilities exist only to
@@ -7041,14 +7041,14 @@ rbcomm-w|IBM PC with RBcomm in 132 column mode:\
 # Command Character is 0xFE (decimal 254, octal 376)
 #
 # On this device, cursor addressability isn't possible.  The LCD expects:
-#      0xfe G <col> <row> 
+#      0xfe G <col> <row>
 #      for cup: %p1 == row and %p2 is column
 #
 # This line:
 #      cup=\376G%p2%c%p1%c
-# LOOKS like it will work, but sometimes only one of the two numbers is sent. 
+# LOOKS like it will work, but sometimes only one of the two numbers is sent.
 # See the terminfo (5) manpage commented regarding 'Terminals which use "%c"'.
-# 
+#
 # Alas, there is no cursor upline capability on this display.
 #
 # These entries add some 'sanity stuff' to the clear function.  That is, it
@@ -7109,7 +7109,7 @@ att2350|AT&T 2350 Video Information Terminal 80 column mode:\
 #      bold= reverse + underline = 2 | 3.
 # note that half-bright blinking doesn't look different from normal blinking.
 # NOTE:you must program the function keys first, label second!
-# (att4410: a BSD entry has been seen with the following capabilities: 
+# (att4410: a BSD entry has been seen with the following capabilities:
 # :is=\E[?6l:, :k1=\EOc:, :k2=\EOd:, :k3=\EOe:, :k4=\EOg:,
 # :k6=\EOh:, :k7=\EOi:, :k8=\EOj:, -- esr)
 # (untranslatable capabilities removed to fit entry within 1023 bytes)
@@ -7162,7 +7162,7 @@ v5410|att5410 in terms of a vt100:\
        :sc=\E7:se=\E[m:sf=^J:so=\E[1;7m:sr=\EM:st=\EH:ta=^I:\
        :ue=\E[m:up=\E[A:us=\E[4m:
 
-# 
+#
 # Teletype Model 5420 -- A souped up 5410, with multiple windows,
 # even! the 5420 has three modes: scroll, window or page mode
 # this terminfo should work in scroll or window mode, but doesn't
@@ -7190,7 +7190,7 @@ v5410|att5410 in terms of a vt100:\
 # :i3: set screen color to black,
 # No representation in terminfo for the delete word key: kdw1=\Ed
 # Key capabilities assume the power-up send sequence...
-# This :te: is not strictly necessary, but it helps maximize 
+# This :te: is not strictly necessary, but it helps maximize
 # memory usefulness: :te=\Ez:,
 # Alternate sgr0:      :me=\E[m\EW^O:,
 # Alternate sgr:       :sa=\E[%?%p1%t2;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p7%t;8%;m%?%p8%t\EV%;%?%p9%t^N%e^O%;:,
@@ -7232,7 +7232,7 @@ att4415-w-rv|tty5420-w-rv|att5420-w-rv|AT&T 4415/5420 132 cols/rv:\
 
 # Note that this mode permits programming USER PF KEYS and labels
 # However, when you program user pf labels you have to reselect
-# user pf keys to make them appear! 
+# user pf keys to make them appear!
 att4415+nl|tty5420+nl|att5420+nl|generic AT&T 4415/5420 changes for not changing labels:\
        :k1@:k2@:k3@:k4@:k5@:k6@:k7@:k8@:\
        :..pn=\E[%p1%d;0;0;1q%p2%\:-16.16s:\
@@ -7309,13 +7309,13 @@ att4420|tty4420|teletype 4420:\
 #  The following is a terminfo entry for the Teletype 4424
 #  asynchronous keyboard-display terminal.  It supports
 #  the vi editor.  The terminal must be set up as follows,
-#      
+#
 #      HIGHLIGHT DEFINITION    3-TONE
 #      DISPLAY FUNCTION        GROUP III
-#      
+#
 #  The second entry below provides limited (a la adm3a)
 #  operation under GROUP II.
-#      
+#
 #  This must be used with DISPLAY FUNCTION GROUP I or III
 #      and HIGHLIGHT DEFINITION 3-TONE
 # The terminal has either bold or blink, depending on options
@@ -7356,12 +7356,12 @@ att4424m|tty4424m|teletype 4424M:\
        :nd=\E[C:nw=^M^J:se=\E[m:sf=^J:so=\E[7m:sr=\ET:ta=^I:\
        :ue=\E[m:up=\E[A:us=\E[4m:
 
-# The Teletype 5425 is really version 2 of the Teletype 5420. It 
-# is quite similar, except for some minor differences. No page 
-# mode, for example, so all of the :cm: sequences used above have 
-# to change back to what's being used for the 5410. Many of the 
+# The Teletype 5425 is really version 2 of the Teletype 5420. It
+# is quite similar, except for some minor differences. No page
+# mode, for example, so all of the :cm: sequences used above have
+# to change back to what's being used for the 5410. Many of the
 # option settings have changed their numbering as well.
-# 
+#
 # This has been tested on a preliminary model.
 #
 # (att5425: added <rmam>/<smam> based on the init string -- esr)
@@ -7396,7 +7396,7 @@ att5425-w|att4425-w|tty5425-w|teletype 4425/5425 in 132 column mode:\
        :co#132:lm#54:ws#97:\
        :i1=\E[?3h:tc=tty5425:
 
-# (att4426: his had bogus capabilities: :ri=\EM:, :ri=\E[1U:. 
+# (att4426: his had bogus capabilities: :ri=\EM:, :ri=\E[1U:.
 # I also added <rmam>/<smam> -- esr)
 att4426|tty4426|teletype 4426S:\
        :am:da:db:xo:\
@@ -7417,7 +7417,7 @@ att4426|tty4426|teletype 4426S:\
        :us=\E[4m:
 
 # Terminfo entry for the AT&T 510 A Personal Terminal
-# Function keys 9 - 16 are available only after the 
+# Function keys 9 - 16 are available only after the
 # screen labeled (soft keys/action blocks) are labeled.  Function key
 # 9 corresponds to the leftmost touch target on the screen,
 # function key 16 corresponds to the rightmost.
@@ -7450,9 +7450,9 @@ att510a|bct510a|AT&T 510A Personal Terminal:\
 # Function key 9 corresponds to the leftmost touch target on the screen,
 # function key 16 corresponds to the rightmost.
 #
-# There are problems with soft key labeling.  These are due to 
+# There are problems with soft key labeling.  These are due to
 # strangenesses in the native terminal that are impossible to
-# describe in a terminfo.  
+# describe in a terminfo.
 # (untranslatable capabilities removed to fit entry within 1023 bytes)
 # (sgr removed to fit entry within 1023 bytes)
 # (acsc removed to fit entry within 1023 bytes)
@@ -7742,9 +7742,9 @@ att630-24|5630-24|5630DMD-24|630MTG-24|AT&T 630 windowing terminal 24 lines:\
 #      ESC [ 50;4|     set 700 native mode (really is 605)
 # x    ESC [ 56;ps|    set lines to 24: ps=0; 40: ps=1 (plus status line)
 #      ESC [ 53;0|     set GenFlow to Xon/Xoff
-#      ESC [ 8 ;0|     set CR on NL 
+#      ESC [ 8 ;0|     set CR on NL
 # x    ESC [ ? 3 l/h   set workspace: 80 col(l); 132 col(h)
-#      ESC [ ? 4 l     jump scroll 
+#      ESC [ ? 4 l     jump scroll
 #      ESC [ ? 5 l/h   video: normal (l); reverse (h)
 #      ESC [ ?13 l     Labels on
 #      ESC [ ?15 l     parity check = no
@@ -7766,7 +7766,7 @@ att630-24|5630-24|5630DMD-24|630MTG-24|AT&T 630 windowing terminal 24 lines:\
 # and the rmso/smso settings from the 730.
 #
 # Note: For the same reason as above in rmso I changed exit under-score mode
-# to specifically turn off underscore, rather than return to all normal 
+# to specifically turn off underscore, rather than return to all normal
 # attributes
 #
 # Note: The following pkey_xmit is taken from the 605V2 which contained the
@@ -7838,7 +7838,7 @@ att700|AT&T 700 24x80 column display w/102key keyboard:\
 # att730 has status line of 80 chars
 # These were commented out: :SF=\E[%p1%dS:, :SR=\E[%p1%dT:,
 # the <kf25> and up keys are used for shifted system Fkeys
-# NOTE: JWE 3/13/90 The 98 key keyboard translation for shift/HOME is 
+# NOTE: JWE 3/13/90 The 98 key keyboard translation for shift/HOME is
 # currently the same as :kh: (unshifted HOME or \E[H).  On the 102, 102+1
 # and 122 key keyboards, the 730's translation is \E[2J.  For consistency
 # <kHOM> has been commented out.  The user can uncomment <kHOM> if using the
@@ -7921,7 +7921,7 @@ att730r-24|730MTGr-24|AT&T 730r-24 rev video windowing terminal Version:\
 #
 #                                                          MAIL
 #
-# version 1 note: 
+# version 1 note:
 #      The character string sent by key 'kf26' may be user programmable
 #       to send either \E[16s, or \E[26s.
 #       The character string sent by key 'krfr' may be user programmable
@@ -8136,7 +8136,7 @@ ampex219w|ampex-219w|amp219w|Ampex 132 cols:\
        :co#132:li#24:\
        :bl=^G:cr=^M:do=^J:is=\E>\E[?3h\E[?4l\E[?5l\E[?7h\E[?8h:\
        :sf=^J:tc=ampex219:
-# (ampex232: removed :if=/usr/share/tabset/ampex:, no file and no :st: --esr) 
+# (ampex232: removed :if=/usr/share/tabset/ampex:, no file and no :st: --esr)
 ampex232|ampex-232|Ampex Model 232:\
        :am:\
        :co#80:li#24:sg#1:\
@@ -8145,7 +8145,7 @@ ampex232|ampex-232|Ampex Model 232:\
        :k2=^AB\r:k3=^AC\r:k4=^AD\r:k5=^AE\r:k6=^AF\r:k7=^AG\r:\
        :k8=^AH\r:k9=^AI\r:kb=^H:kd=^V:kh=^^:kl=^H:kr=^L:ku=^K:le=^H:\
        :mk@:nd=^L:ta=^I:up=^K:vb=\Eb\Ed:ve=\E.4:vi=\E.0:tc=adm+sgr:
-# (ampex: removed :if=/usr/share/tabset/amp-132:, no file and no :st: -- esr) 
+# (ampex: removed :if=/usr/share/tabset/amp-132:, no file and no :st: -- esr)
 ampex232w|Ampex Model 232 / 132 columns:\
        :co#132:li#24:\
        :is=\E\034Eg\El:tc=ampex232:
@@ -8505,8 +8505,8 @@ aaa-rv-unk|ann arbor unknown type:\
 #      Fax: (516)-342-7378
 #      Web: http://boundless.com
 #
-# Their voice mail used to describe the place as "SunRiver (formerly ADDS)". 
-# In 1995 Boundless acquired DEC's terminals business.  
+# Their voice mail used to describe the place as "SunRiver (formerly ADDS)".
+# In 1995 Boundless acquired DEC's terminals business.
 #
 
 # Regent: lowest common denominator, works on all regents.
@@ -8553,7 +8553,7 @@ screwpoint|adds viewpoint with ^O bug:\
        :se@:so@:ue@:us@:vs@:tc=viewpoint:
 
 # From: Jay S. Rouman <jsr@dexter.mi.org> 5 Jul 92
-# The :vi:/:ve:/:sa:/:me: strings were added by ESR from specs.  
+# The :vi:/:ve:/:sa:/:me: strings were added by ESR from specs.
 # Theory; the vp3a+ wants \E0%c to set highlights, where normal=01000000,
 # underline=01100000, rev=01010000, blink=01000010,dim=01000001,
 # invis=01000100 and %c is the logical or of desired attributes.
@@ -8657,7 +8657,7 @@ cit101e|C. Itoh CIT-101e:\
 # terminal.  Then change any options you want (provided that they are
 # compatible with the termcap).  For my terminal I set: Screen
 # Background: light; Keyclicks: silent; Auto wraparound: on; CRT saver:
-# on.  I also set up mine for parity (but you may not need it).  Then 
+# on.  I also set up mine for parity (but you may not need it).  Then
 # save the setup with ^S.
 # (cit101e-rv: added empty :te: to suppress a tic warning. --esr)
 cit101e-rv|Citoh CIT-101e (sets reverse video):\
@@ -8791,7 +8791,7 @@ cdc756|CDC 756:\
 # CDC 721 from Robert Viduya, Ga. Tech. <ihnp4!gatech!gitpyr!robert> via BRL.
 #
 # Part of the long initialization string defines the "DOWN" key to the left
-# of the tab key to send an ESC.  The real ESC key is positioned way out 
+# of the tab key to send an ESC.  The real ESC key is positioned way out
 # in right field.
 #
 # The termcap won't work in 132 column mode due to the way it it moves the
@@ -8814,7 +8814,7 @@ cdc721-esc|Control Data 721:\
 
 #### Getronics
 #
-# Getronics is a Dutch electronics company that at one time was called 
+# Getronics is a Dutch electronics company that at one time was called
 # `Geveke' and made async terminals; but (according to the company itself!)
 # they've lost all their documentation on the command set.  The hardware
 # documentation suggests the terminals were actually manufactured by a
@@ -8866,7 +8866,7 @@ visa50|geveke visa 50 terminal in ansi 80 character mode:\
 #      Vox: (610)-277-8300
 #      Fax: (610)-275-5739
 #      Net: support@hds.com
-# 
+#
 # John Martin <john@hds.com> is their termcap expert.  They're mostly out of
 # the character-terminal business now (1995) and making X terminals.  In
 # particular, the whole `Concept' line described here was discontinued long
@@ -8879,29 +8879,29 @@ visa50|geveke visa 50 terminal in ansi 80 character mode:\
 #
 # There seem to be a number of different versions of the C108 PROMS
 # (with bug fixes in its Z-80 program).
-# 
+#
 # The first one that we had would lock out the keyboard of you
 # sent lots of short lines (like /usr/dict/words) at 9600 baud.
 # Try that on your C108 and see if it sends a ^S when you type it.
 # If so, you have an old version of the PROMs.
-# 
+#
 # You should configure the C108 to send ^S/^Q before running this.
 # It is much faster (at 9600 baud) than the c100 because the delays
 # are not fixed.
 # new status line display entries for c108-8p:
-# :i3: - init str #3 - setup term for status display - 
-# set programmer mode, select window 2, define window at last 
+# :i3: - init str #3 - setup term for status display -
+# set programmer mode, select window 2, define window at last
 # line of memory, set bkgnd stat mesg there, select window 0.
-# 
-# :ts: - to status line - select window 2, home cursor, erase to 
+#
+# :ts: - to status line - select window 2, home cursor, erase to
 # end-of-window, 1/2 bright on, goto(line#0, col#?)
-# 
+#
 # :fs: - from status line - 1/2 bright off, select window 0
-# 
-# :ds: - disable status display - set bkgnd status mesg with 
+#
+# :ds: - disable status display - set bkgnd status mesg with
 # illegal window #
-# 
-# There are probably more function keys that should be added but 
+#
+# There are probably more function keys that should be added but
 # I don't know what they are.
 #
 # No delays needed on c108 because of ^S/^Q handshaking
@@ -8929,42 +8929,42 @@ c108-w|c108-w-8p|concept108-w-8|concept108-w8p|concept 108 w/8 pages in wide mod
        :ti=\EU\Ev  8\001D\Ep\r:tc=c108-8p:
 
 # Concept 100:
-# These have only window relative cursor addressing, not screen 
-# relative. To get it to work right here, smcup/rmcup (which 
-# were invented for the concept) lock you into a one page 
+# These have only window relative cursor addressing, not screen
+# relative. To get it to work right here, smcup/rmcup (which
+# were invented for the concept) lock you into a one page
 # window for screen style programs.
-# 
+#
 # To get out of the one page window, we use a clever trick:
-# we set the window size to zero ("\Ev    " in rmcup) which the 
-# terminal recognizes as an error and resets the window to all 
+# we set the window size to zero ("\Ev    " in rmcup) which the
+# terminal recognizes as an error and resets the window to all
 # of memory.
-# 
+#
 # This trick works on c100 but does not on c108, sigh.
-# 
-# Some tty drivers use cr3 for concept, others use nl3, hence 
-# the delays on cr and ind below. This padding is only needed at 
-# 9600 baud and up.  One or the other is commented out depending on 
+#
+# Some tty drivers use cr3 for concept, others use nl3, hence
+# the delays on cr and ind below. This padding is only needed at
+# 9600 baud and up.  One or the other is commented out depending on
 # local conventions.
-# 
-# 2 ms padding on :te: isn't always enough. 6 works fine. Maybe 
+#
+# 2 ms padding on :te: isn't always enough. 6 works fine. Maybe
 # less than 6 but more than 2 will work.
-# 
-# Note: can't use function keys f7-f10 because they are 
-# indistinguishable from arrow keys (!), also, del char and 
+#
+# Note: can't use function keys f7-f10 because they are
+# indistinguishable from arrow keys (!), also, del char and
 # clear eol use xon/xoff so they probably won't work very well.
-# 
-# Also note that we don't define insrt/del char/delline/eop/send 
-# because they don't transmit unless we reset them - I figured 
+#
+# Also note that we don't define insrt/del char/delline/eop/send
+# because they don't transmit unless we reset them - I figured
 # it was a bad idea to clobber their definitions.
-# 
-# The <mc5> sequence changes the escape character to ^^ so that 
-# escapes will be passed through to the printer. Only trouble 
-# is that ^^ won't be - ^^ was chosen to be unlikely. 
-# Unfortunately, if you're sending raster bits through to be 
+#
+# The <mc5> sequence changes the escape character to ^^ so that
+# escapes will be passed through to the printer. Only trouble
+# is that ^^ won't be - ^^ was chosen to be unlikely.
+# Unfortunately, if you're sending raster bits through to be
 # plotted, any character you choose will be likely, so we lose.
 #
-# \EQ"\EY(^W (send anything from printer to host, for xon/xoff) 
-# cannot be # in is2 because it will hang a c100 with no printer 
+# \EQ"\EY(^W (send anything from printer to host, for xon/xoff)
+# cannot be # in is2 because it will hang a c100 with no printer
 # if sent twice.
 c100|concept100|concept|c104|c100-4p|hds concept 100:\
        :am:bs:eo:mi:ul:xn:\
@@ -9140,7 +9140,7 @@ oc100|oconcept|c100-1p|old 1 page concept 100:\
 #
 #------- flash=\E[8;3!}^G\E[3;3!}
 #------- flash=\E[?5h$<100>\E[?5l
-# There are two ways to flash the screen, both of which have their drawbacks. 
+# There are two ways to flash the screen, both of which have their drawbacks.
 # The first is to set the bell mode to video, transmit a bell character, and
 # set the bell mode back - but to what?  There is no way of knowing what the
 # user's old bell setting was before we messed with it.  Worse, the command to
@@ -9164,7 +9164,7 @@ oc100|oconcept|c100-1p|old 1 page concept 100:\
 #
 #-------   dim=                        Not available in power on mode.
 # You have a choice of defining low intensity characters as "half bright" and
-# high intensity as "normal", or defining low as "normal" and high as "bold". 
+# high intensity as "normal", or defining low as "normal" and high as "bold".
 # No matter which you choose, only one of either "half bright" or "bold" is
 # available at any time, so taking the time to override the default is
 # pointless.
@@ -9193,7 +9193,7 @@ oc100|oconcept|c100-1p|old 1 page concept 100:\
 #       [DEL chosen as delimiter, but could be any character]
 #       [implied:              ELSE    do nothing]
 #              %;              ENDIF
-#      
+#
 #-------   rs2=
 # Not defined since anything it might do could be done faster and easier with
 # either Meta-Shift-Reset or the main power switch.
@@ -9307,10 +9307,10 @@ avt-w-rv|avt-w-rv-s|avt wide+status+rv:\
        :i1=\E[=103h\E[=205h:ti=\E[H\E[1;24;1;132w:\
        :vb=\E[=205l\E[=205h:tc=avt+s:tc=avt-ns:
 
-#### Contel Business Systems. 
+#### Contel Business Systems.
 #
 
-# Contel c300 and c320 terminals. 
+# Contel c300 and c320 terminals.
 contel300|contel320|c300|Contel Business Systems C-300 or C-320:\
        :am:in:xo:\
        :co#80:li#24:sg#1:\
@@ -9332,7 +9332,7 @@ contel301|contel321|c301|c321|Contel Business Systems C-301 or C-321:\
 #
 # DG terminals have function keys that respond to the SHIFT and CTRL keys,
 # e.g., SHIFT-F1 generates a different code from F1.  To number the keys
-# sequentially, first the unmodified key codes are listed as F1 through F15. 
+# sequentially, first the unmodified key codes are listed as F1 through F15.
 # Then their SHIFT versions are listed as F16 through F30, their CTRL versions
 # are listed as F31 through F45, and their CTRL-SHIFT versions are listed as
 # F46 through F60.  This is done in the private "includes" below whose names
@@ -9425,7 +9425,7 @@ dg+fixed|Fixed color info for DG D430C terminals in DG mode:\
        :tc=dgunix+fixed:
 
 # Video attributes are coordinated using static variables set by "sgr", then
-# checked by "op", "seta[bf]", and "set[bf]" to refresh the attribute settings. 
+# checked by "op", "seta[bf]", and "set[bf]" to refresh the attribute settings.
 # (D=dim, U=underline, B=blink, R=reverse.)
 dg+color8|Color info for Data General D220 and D230C terminals in ANSI mode:\
        :ut:\
@@ -9540,12 +9540,12 @@ dg460-ansi|Data General Dasher 460 in ANSI-mode:\
        :mh=\E[2m:mr=\E[7m:nd=\E[C:nl=\ED:se=\E[m:sf=\E[S:so=\E[7m:\
        :sr=\E[T:ta=^I:ue=\E[05:up=\E[A:us=\E[4m:
 # From: Wayne Throop <mcnc!rti-sel!rtp47!throopw> (not official)
-# Data General 605x     
+# Data General 605x
 # Ought to work for a Model 6242, Type D210 as well as a 605x.
 # Note that the cursor-down key transmits ^Z.  Job control users, beware!
 # This also matches a posted description of something called a `Dasher 100'
-# so there's a dg100 alias here. 
-# (dg6053: the 4.4BSD file had :le=^H:, :do=^J:, :nd=^S:. -- esr) 
+# so there's a dg100 alias here.
+# (dg6053: the 4.4BSD file had :le=^H:, :do=^J:, :nd=^S:. -- esr)
 dg6053-old|dg100|data general 6053:\
        :am:bs:bw:ul:\
        :co#80:li#24:\
@@ -10020,7 +10020,7 @@ d578-7b|Data General DASHER D578 in 7-bit mode:\
 
 #### Datamedia (dm)
 #
-# Datamedia was headquartered in Nashua, New Hampshire until it went 
+# Datamedia was headquartered in Nashua, New Hampshire until it went
 # out of business in 1993, but the ID plates on the terminals referred
 # to the factory in Pennsauken, NJ.  The factory was sold to a PCB board
 # manufacturer which threw out all information about the terminals.
@@ -10043,7 +10043,7 @@ dm1520|dm1521|datamedia 1520:\
        :co#80:it#8:li#24:\
        :bl=^G:cd=^K:ce=^]:cl=^L:cm=\036%r%+ %+ :cr=^M:do=^J:ho=^Y:\
        :kd=^J:kh=^Y:kl=^H:kr=^\:ku=^_:le=^H:nd=^\:sf=^J:ta=^I:up=^_:
-# dm2500: this terminal has both :IC: and :im:. Applications using 
+# dm2500: this terminal has both :IC: and :im:. Applications using
 # termcap/terminfo directly (rather than through ncurses) might be confused.
 dm2500|datamedia2500|datamedia 2500:\
        :bs:nc:\
@@ -10080,27 +10080,27 @@ dm3045|datamedia 3045a:\
 #      Autorepeat      0=off  1=on
 #      Screen          0=Dark 1=light
 #      Cursor          0=u/l  1=block
-# 
+#
 # 2    Margin Bell     0=off  1=on
 #      Keyclick        0=off  1=on
 #      Ansi/VT52       0=VT52 1=Ansi
 #      Xon/Xoff        0=Off  1=On
-# 
+#
 # 3    Shift3          0=Hash 1=UK Pound
 #      Wrap            0=Off  1=On
 #      Newline         0=Off  1=On
 #      Interlace       0=Off  1=On
-#      
+#
 # 4    Parity          0=Odd  1=Even
 #      Parity          0=Off  1=On
 #      Bits/Char       0=7    1=8
 #      Power           0=60Hz 1=50Hz
-# 
+#
 # 5    Line Interface  0=EIA  1=Loop
 #      Aux Interface   0=EIA  1=Loop
-#      Local Copy      0=Off  1=On     
+#      Local Copy      0=Off  1=On
 #      Spare
-# 
+#
 # 6    Aux Parity      0=Odd  1=Even
 #      Aux Parity      0=Off  1=On
 #      Aux Bits/Char   0=7    1=8
@@ -10227,7 +10227,7 @@ beacon|FCG Beacon System:\
 #### Fluke
 #
 
-# The f1720a differences from ANSI: no auto margin, destructive 
+# The f1720a differences from ANSI: no auto margin, destructive
 # tabs, # of lines, funny highlighting and underlining
 f1720|f1720a|fluke 1720A:\
        :xt:\
@@ -10266,7 +10266,7 @@ f100-rv|freedom-rv|freedom 100 in reverse video:\
 # as ^V, the Control Character Quoting capability (^V in insert mode)
 # is lost! It cannot be remapped in vi because it is necessary to enter
 # a ^V to to quote the ^V that is being remapped!!!
-# 
+#
 # f110/f200 users will have to decide whether
 # to lose the down cursor key or the quoting capability. We will opt
 # initially for leaving the quoting capability out, since use of VI
@@ -10369,58 +10369,58 @@ go225|go-225|Graphon 225:\
 # so we must have early Superbee2 (Model 600, according to phone conversation
 # with mfr.). It has proved reliable except for some missing padding
 # (notably after \EK and <nl> at bottom of screen).
-# 
-# The key idea is that AEP mode is poison for :cm: & that US's in 
-# the local memory should be avoided like the plague. That means 
-# that the 2048 character local buffer is used as 25 lines of 80 
-# characters, period. No scrolling local memory, folks. It also 
+#
+# The key idea is that AEP mode is poison for :cm: & that US's in
+# the local memory should be avoided like the plague. That means
+# that the 2048 character local buffer is used as 25 lines of 80
+# characters, period. No scrolling local memory, folks. It also
 # appears that we cannot use naked INS LINE feature since it uses
-# US. The sbi fakes :al: with an 80-space insert that may be too 
-# slow at low speeds; also spaces get converted to \040 which is 
+# US. The sbi fakes :al: with an 80-space insert that may be too
+# slow at low speeds; also spaces get converted to \040 which is
 # too long for some programs (not vi).  DEL LINE is ok but slow.
-# 
-# The <nl> string is designed for last line of screen ONLY; cup to 
+#
+# The <nl> string is designed for last line of screen ONLY; cup to
 # 25th line corrects the motion inherent in scrolling to Page 1.
-# 
+#
 # There is one understood bug. It is that the screen appears to
-# pop to a new (blank) page after a :nw:, or leave a half-line 
-# ellipsis to a quad that is the extra 48 memory locations. The 
-# data received is dumped into memory but not displayed.  Not to 
-# worry if :cm: is being used; the lines not displayed will be, 
-# whenever the cursor is moved up there. Since :cm: is addressed 
-# relative to MEMORY of window, nothing is lost; but beware of 
+# pop to a new (blank) page after a :nw:, or leave a half-line
+# ellipsis to a quad that is the extra 48 memory locations. The
+# data received is dumped into memory but not displayed.  Not to
+# worry if :cm: is being used; the lines not displayed will be,
+# whenever the cursor is moved up there. Since :cm: is addressed
+# relative to MEMORY of window, nothing is lost; but beware of
 # relative cursor motion (:up:,:do:,:nd:,:le:). Recommended,
 # therefore, is setenv MORE -c .
-# 
+#
 # WARNING: Not all features tested.
-# 
-# Timings are assembled from 3 sources. Some timings may reflect 
+#
+# Timings are assembled from 3 sources. Some timings may reflect
 # SB2/Model 300 that were used if more conservative.
 # Tested on a Model 600 at 1200 and 9600 bd.
-# 
-# The BACKSPACEkb option is cute. The NEWLINE key, so cleverly 
-# placed on the keyboard and useless because of AEP, is made 
+#
+# The BACKSPACEkb option is cute. The NEWLINE key, so cleverly
+# placed on the keyboard and useless because of AEP, is made
 # into a backspace key. In use ESC must be pressed twice (to send)
-# and sending ^C must be prefixed by ESC to avoid that weird 
+# and sending ^C must be prefixed by ESC to avoid that weird
 # transmit mode associated with ENTER key.
-# 
-# IF TERMINAL EVER GOES CATATONIC with the cursor buzzing across 
-# the screen, then it has dropped into ENTER mode; hit 
+#
+# IF TERMINAL EVER GOES CATATONIC with the cursor buzzing across
+# the screen, then it has dropped into ENTER mode; hit
 # RESET--ONLINE--!tset.
-# 
-# As delivered this machine has a FATAL feature that will throw 
-# it into that strange transmit state (SPOW) if the space bar is 
-# hit after a CR is received, but before receiving a LF (or a 
+#
+# As delivered this machine has a FATAL feature that will throw
+# it into that strange transmit state (SPOW) if the space bar is
+# hit after a CR is received, but before receiving a LF (or a
 # few others).
-# 
-# The circuits MUST be modified to eliminate the SPOW latch. 
-# This is done by strapping on chip A46 of the I/O board; cut 
-# the p.c. connection to Pin 5 and strap Pin 5 to Pin 8 of that 
+#
+# The circuits MUST be modified to eliminate the SPOW latch.
+# This is done by strapping on chip A46 of the I/O board; cut
+# the p.c. connection to Pin 5 and strap Pin 5 to Pin 8 of that
 # chip. This mod has been checked out on a Mod 600 of Superbee II.
-# With this modification absurdly high timings on cr are 
+# With this modification absurdly high timings on cr are
 # unnecessary.
-# 
-# NOTE WELL that the rear panel switch should be set to CR/LF, 
+#
+# NOTE WELL that the rear panel switch should be set to CR/LF,
 # not AEP!
 #
 sb1|beehive superbee:\
@@ -10578,7 +10578,7 @@ hz1500|hazeltine 1500:\
        :kh=~^R:kl=^H:kr=^P:ku=~^L:le=^H:nd=^P:se=~^Y:sf=^J:so=~^_:\
        :up=~^L:
 # h1510 assumed to be in sane escape mode.  Else use h1500.
-# (h1510: early versions of this entry apparently had ":se=\E^_:, 
+# (h1510: early versions of this entry apparently had ":se=\E^_:,
 # :so=\E^Y:, but these caps were commented out in 8.3; also,
 # removed incorrect and overridden ":do=^J:" -- esr)
 hz1510|hazeltine 1510:\
@@ -10628,7 +10628,7 @@ hz2000|hazeltine 2000:\
 # characters very fast vi seems not able to keep up and hangs while trying
 # to insert. That's in insert mode while trying to insert in the middle of
 # a line. It might be because the Esprit doesn't have insert char and delete
-# char as a built in function. Vi has to delete to end of line and then 
+# char as a built in function. Vi has to delete to end of line and then
 # redraw the rest of the line.
 esprit|Hazeltine Esprit I:\
        :am:bs:bw:\
@@ -10685,7 +10685,7 @@ ibm3151|IBM 3151 display:\
        :ae=\E>B:as=\E>A:is=\E S:me=\E4@\E>B:rs=\E S:s0=\E>B:\
        :..sa=\E4%{64}%?%p1%t%{65}%|%;%?%p2%t%{66}%|%;%?%p3%t%{65}%|%;%?%p4%t%{68}%|%;%?%p5%t%{64}%|%;%?%p6%t%{72}%|%;%?%p7%t%{80}%|%;%c%?%p9%t\E>A%e\E>B%;:\
        :te=\E>B:ti=\E>B:tc=ibm3162:
-# From: Mark Easter <marke@fsi-ssd.csg.ssd.fsi.com> 29 Oct 1992 
+# From: Mark Easter <marke@fsi-ssd.csg.ssd.fsi.com> 29 Oct 1992
 # removed kend, knp, kpp -TD
 ibm3161|ibm3163|wy60-316X|wyse60-316X|IBM 3161/3163 display:\
        :am:bs:mi:ms:\
@@ -10747,7 +10747,7 @@ ibmaed|IBM Experimental display:\
        :vb=\EG:
 ibm-apl|apl|IBM apl terminal simulator:\
        :li#25:tc=dm1520:
-# (ibmmono: this had an unknown `sb' boolean, I changed it to `bs'.  
+# (ibmmono: this had an unknown `sb' boolean, I changed it to `bs'.
 # Also it had ":I0=f10:" which pretty obviously should be "l0=f10" -- esr)
 ibmmono|IBM workstation monochrome:\
        :es:hs:\
@@ -10882,7 +10882,7 @@ ibm8514-c|IBM 8514 color display with standout and underline:\
        :nw=^M^J:sf=^J:ta=^I:..ts=\Ej\EYI%+ \Eo:tc=ibmega-c:
 
 #
-# AIX entries.  IBM ships these with AIX 3.2.5. 
+# AIX entries.  IBM ships these with AIX 3.2.5.
 # -- added rc, sc based on manpage -TD
 aixterm|IBM Aixterm Terminal Emulator:\
        :es:hs:\
@@ -10937,7 +10937,7 @@ infoton:\
 
 # The ICL6402 was actually the Kokusai Display System 6402.
 # The 6404 was the KDS7372 (color version of the 6402).
-# 
+#
 # ICL6404 control codes follow:
 #
 #code            function
@@ -11246,13 +11246,13 @@ intext2|intextii|INTERACTIVE modified owl 1251:\
 
 #### Kimtron (abm, kt)
 #
-# Kimtron seems to be history, but as March 1998 these people are still 
+# Kimtron seems to be history, but as March 1998 these people are still
 # offering repair services for Kimtron equipment:
 #
 #    Com/Pair Monitor Service
 #    1105 N. Cliff Ave.
 #    Sioux Falls, South Dakota 57103
-#     
+#
 #    WATS voice:  1-800/398-4946
 #    POTS   fax: +1 605/338-8709
 #    POTS voice: +1 605/338-9650
@@ -11346,7 +11346,7 @@ kt7ix|kimtron model kt-7 or 70 in IX mode:\
 # This was a line of terminals made by McDonnell-Douglas Information Systems.
 # These entries come direct from MDIS documentation.  I have edited them only
 # to move primary names of the form p[0-9] * to aliases, and to comment out
-# :ae:/:as: in a couple of entries without <acsc> strings.  I have 
+# :ae:/:as: in a couple of entries without <acsc> strings.  I have
 # also removed the change history; the last version indicates this is
 # version 4.3 by A.Barkus, September 1990 (earliest entry is October 1989).
 #
@@ -11706,7 +11706,7 @@ mime3ax|mime-3ax|mime1 emulating enhanced 3a:\
        :al=\001:cd=^_:ce=^X:dl=\027:ta=\011:tc=mime3a:
 # Wed Mar  9 18:53:21 1983
 # We run our terminals at 2400 baud, so there might be some timing problems at
-# higher speeds. The major improvements in this model are the terminal now 
+# higher speeds. The major improvements in this model are the terminal now
 # scrolls down and insert mode works without redrawing the rest of the line
 # to the right of the cursor. This is done with a bit of a kludge using the
 # exit graphics mode to get out of insert, but it does not appear to hurt
@@ -11748,9 +11748,9 @@ mt4520-rv|micro-term 4520 reverse video:\
 # This entry works for the ergo 4000 with the following setups:
 # ansi,wraparound,newline disabled, xon/xoff disabled in both
 # setup a & c.
-#      
+#
 # WARNING!!! There are multiple versions of ERGO 4000 microcode
-# Be advised that very early versions DO NOT WORK RIGHT !!  
+# Be advised that very early versions DO NOT WORK RIGHT !!
 # Microterm does have a ROM exchange program- use it or lose big
 # (ergo400: added <rmam>/<smam> based on the init string -- esr)
 ergo4000|microterm ergo 4000:\
@@ -11764,7 +11764,7 @@ ergo4000|microterm ergo 4000:\
        :ks=\E=:ku=\E[A:l1=pf1:l2=pf2:l3=pf3:l4=pf4:le=^H:me=\E[m:\
        :nd=\E[C:se=\E[m:sf=\ED:so=\E[7m:sr=\EM:ta=^I:up=\E[A:
 
-#### NCR 
+#### NCR
 #
 # NCR's terminal group was merged with AT&T's when AT&T bought the company.
 # For what happened to that group, see the ADDS section.
@@ -11800,10 +11800,10 @@ ncr260intwpp|NCR Intecolor emulation of the 2900_260C with a PC+ keyboard in 132
 # This definition for ViewPoint supports several attributes.  This means
 # that it has magic cookies (extra spaces where the attributes begin).
 # Some applications do not function well with magic cookies.  The System
-# Administrator's Shell in NCR Unix SVR4 1.03 is one such application. 
+# Administrator's Shell in NCR Unix SVR4 1.03 is one such application.
 # If supporting various attributes is not vital, 'xmc#1' and the extra
-# attributes can be removed. 
-# Mapping to ASCII character set ('acsc' capability) can also be 
+# attributes can be removed.
+# Mapping to ASCII character set ('acsc' capability) can also be
 # restored if needed.
 # (untranslatable capabilities removed to fit entry within 1023 bytes)
 # (sgr removed to fit entry within 1023 bytes)
@@ -11955,19 +11955,19 @@ NCR260VT300WPP|ncr260vt300wpp|NCR 2900_260 vt300 wide mode pc+  kybd:\
        :is=\E[!p\E[?3;7;19;67h\E[?1;4l\E[1;0%w\E(B\E)0\017\E[2J\E[1;1H\E>:\
        :rs=\E[!p\E[?3;7;19;67h\E[?1;4l\E[1;0%w\E(B\E)0\017\E[2J\E[1;1H\E>:\
        :tc=ncr260vt300pp:
-# This terminfo file contains color capabilities for the Wyse325 emulation of 
+# This terminfo file contains color capabilities for the Wyse325 emulation of
 # the NCR 2900/260C color terminal.  Because of the structure of the command
 # (escape sequence) used to set color attributes, one of the fore/background
 # colors must be preset to a given value. I have set the background color to
 # black.  The user can change this setup by altering the last section of the
-# 'setf' definition.  The escape sequence to set color attributes is 
-#              ESC d y <foreground_color> <background_color> 1  
+# 'setf' definition.  The escape sequence to set color attributes is
+#              ESC d y <foreground_color> <background_color> 1
 # In addition, the background color can be changed through the desk accessories.
-# The capablitiy 'op' sets colors to green on black (default combination).  
+# The capablitiy 'op' sets colors to green on black (default combination).
 #
 # NOTE:  The NCR Unix System Administrator's Shell will not function properly
 #          if the 'pairs' capability is defined. Un-Comment the 'pairs'
-#          capability and recompile if you wish to have it included. 
+#          capability and recompile if you wish to have it included.
 #
 # (untranslatable capabilities removed to fit entry within 1023 bytes)
 # (sgr removed to fit entry within 1023 bytes)
@@ -11997,18 +11997,18 @@ ncr260wy325wpp|NCR 2900_260 wyse 325 wide mode:\
 # This definition for Wyse 350 supports several attributes.  This means
 # that it has magic cookies (extra spaces where the attributes begin).
 # Some applications do not function well with magic cookies.  The System
-# Administrator's Shell in NCR Unix SVR4 1.03 is one such application. 
+# Administrator's Shell in NCR Unix SVR4 1.03 is one such application.
 # If supporting various attributes is not vital, 'xmc#1' and the extra
-# attributes can be removed. 
-# Mapping to ASCII character set ('acsc' capability) can also be 
+# attributes can be removed.
+# Mapping to ASCII character set ('acsc' capability) can also be
 # restored if needed.
 # In addition, color capabilities have been added to this file.  The drawback,
 # however, is that the background color has to be black.  The foreground colors
-# are numbered 0 through 15.  
+# are numbered 0 through 15.
 #
 # NOTE:  The NCR Unix System Administrator's Shell does not function properly
 #          with the 'pairs' capability defined as below.  If you wish to
-#          have it included, Un-comment it and recompile (using 'tic'). 
+#          have it included, Un-comment it and recompile (using 'tic').
 #
 # (untranslatable capabilities removed to fit entry within 1023 bytes)
 # (sgr removed to fit entry within 1023 bytes)
@@ -12038,12 +12038,12 @@ ncr260wy350wpp|NCR 2900_260 wyse 350 wide mode:\
 # This definition for Wyse 50+ supports several attributes.  This means
 # that it has magic cookies (extra spaces where the attributes begin).
 # Some applications do not function well with magic cookies.  The System
-# Administrator's Shell in NCR Unix SVR4 1.03 is one such application. 
+# Administrator's Shell in NCR Unix SVR4 1.03 is one such application.
 # If supporting various attributes is not vital, 'xmc#1' and the extra
-# attributes can be removed. 
-# Mapping to ASCII character set ('acsc' capability) can also be 
+# attributes can be removed.
+# Mapping to ASCII character set ('acsc' capability) can also be
 # restored if needed.
-# (ncr260wy50+pp: originally contained commented-out 
+# (ncr260wy50+pp: originally contained commented-out
 # <acsc=j5k3l2m1n8q:t4u9v=w0x6>, as well as the commented-out one there -- esr)
 # (untranslatable capabilities removed to fit entry within 1023 bytes)
 # (sgr removed to fit entry within 1023 bytes)
@@ -12163,7 +12163,7 @@ ncrvt100wan|NCRVT100WPP|ncrvt100wpp|NCR VT100 emulation of the 2900 terminal:\
 # 6   - Don't Send or Do Send Spaces
 # 7   - Parity Enable
 # 8   - Stop Bits (One/Two)
-# 
+#
 # Switch B:
 # 1   - Upper/Lower Shift
 # 2   - Typewriter Shift
@@ -12172,7 +12172,7 @@ ncrvt100wan|NCRVT100WPP|ncrvt100wpp|NCR VT100 emulation of the 2900 terminal:\
 # 5-6 - Carriage Return Without / With Line Feed
 # 7   - Extended Mode
 # 8   - Suppress Keyboard Display
-# 
+#
 # Switch C:
 # 1   - End of line entry disabled/enabled
 # 2   - Conversational mode / (Local?) Mode
@@ -12182,7 +12182,7 @@ ncrvt100wan|NCRVT100WPP|ncrvt100wpp|NCR VT100 emulation of the 2900 terminal:\
 # 6   - (50Hz?) / 60 Hz
 # 7   - Exit after level zero diagnostics
 # 8   - RS-232 interface
-# 
+#
 # Switch D:
 # 1   - Reverse Channel (yes / no)
 # 2   - Manual answer (no / yes)
@@ -12272,7 +12272,7 @@ pe1251|pe6300|pe6312|perkin elmer 1251:\
        :k5=\ERF:k6=\ERG:k7=\ERH:k8=\ERI:k9=\ERJ:k;=\ERK:le=\ED:\
        :nd=\EC:sf=^J:st=\E1:up=\EA:
 # (pe7000m: this had
-#      rmul=\E!\0, smul=\E!\040, 
+#      rmul=\E!\0, smul=\E!\040,
 # which is probably wrong, it collides with kf0
 pe7000m|perkin elmer 7000 series monochrome monitor:\
        :am:\
@@ -12292,8 +12292,8 @@ pe7000c|perkin elmer 7000 series colour monitor:\
 # Sperry Univac has merged with Burroughs to form Unisys.
 #
 
-# This entry is for the Sperry UTS30 terminal running the TTY 
-# utility under control of CP/M Plus 1R1. The functionality 
+# This entry is for the Sperry UTS30 terminal running the TTY
+# utility under control of CP/M Plus 1R1. The functionality
 # provided is comparable to the DEC vt100.
 # (uts30: I added <rmam>/<smam> based on the init string -- esr)
 uts30|sperry uts30 with cp/m@1R1:\
@@ -12384,7 +12384,7 @@ pt210|TRS-80 PT-210 printing terminal:\
 
 #### Tektronix (tek)
 #
-# Tektronix tubes are graphics terminals.  Most of them use modified 
+# Tektronix tubes are graphics terminals.  Most of them use modified
 # oscilloscope technology incorporating a long-persistence green phosphor,
 # and support vector graphics on a main screen with an attached "dialogue
 # area" for interactive text.
@@ -12428,14 +12428,14 @@ tek4023|tektronix 4023:\
 # bottom of memory (try "cat /usr/dict/words"); ^S and ^Q typed
 # on keyboard don't work.  You have to hit BREAK twice to get
 # one break at any speed - this is a documented feature.
-# Can't use cursor motion because it's memory relative, and 
-# because it only works in the workspace, not the monitor.  
+# Can't use cursor motion because it's memory relative, and
+# because it only works in the workspace, not the monitor.
 # Same for home. Likewise, standout only works in the workspace.
-# 
-# :ce: was commented out since vi and rogue seem to work better 
+#
+# :ce: was commented out since vi and rogue seem to work better
 # simulating it with lots of spaces!
-# 
-# :al: and :AL: had 145ms of padding, but that slowed down vi's ^U 
+#
+# :al: and :AL: had 145ms of padding, but that slowed down vi's ^U
 # and didn't seem necessary.
 #
 tek4024|tek4025|tek4027|tektronix 4024/4025/4027:\
@@ -12645,14 +12645,14 @@ tek4207-s|Tektronix 4207 with sysline but no memory:\
 # look good for screen editing.  In the dialog area, you can't move the cursor
 # off the bottom line.  Out of the dialog area, ^K moves it up, but there
 # is no way to scroll.
-# 
-# Note that there is a floppy for free from Tek that makes the 
+#
+# Note that there is a floppy for free from Tek that makes the
 # 4112 emulate the vt52 (use the vt52 termcap). There is also
 # an expected enhancement that will use ANSI standard sequences.
-# 
-# 4112 in non-dialog area pretending to scroll. It really wraps 
+#
+# 4112 in non-dialog area pretending to scroll. It really wraps
 # but vi is said to work (more or less) in this mode.
-# 
+#
 # 'vi' works reasonably well with this entry.
 #
 otek4112|o4112-nd|otek4113|otek4114|old tektronix 4110 series:\
@@ -12687,7 +12687,7 @@ tek4113|tektronix 4113 color graphics with 5 line dialog area:\
 tek4113-34|tektronix 4113 color graphics with 34 line dialog area:\
        :li#34:\
        :is=\EKA1\ELLB2\ELV0\ELV1:tc=tek4113:
-# :ns: left off to allow vi visual mode. APL font (:as=\E^N:/:ae=\E^O:) not 
+# :ns: left off to allow vi visual mode. APL font (:as=\E^N:/:ae=\E^O:) not
 # supported here. :uc: is slow, but looks nice. Suggest setenv MORE -up .
 # :vb: needs enough delay to let you see the background color being toggled.
 tek4113-nd|tektronix 4113 color graphics with no dialog area:\
@@ -12770,9 +12770,9 @@ tek4404|tektronix 4404:\
        :te=\E[1;1H\E[0J\E[?6h\E[?1l:\
        :ti=\E%\E!1\E[1;32r\E[?6l\E>:ue=\E[m:up=\E[A:us=\E[4m:
 # Some unknown person wrote:
-# I added the is string - straight Unix has ESC ; in the login 
-# string which sets a ct8500 into monitor mode (aka 4025 snoopy 
-# mode). The is string here cleans up a few things (but not 
+# I added the is string - straight Unix has ESC ; in the login
+# string which sets a ct8500 into monitor mode (aka 4025 snoopy
+# mode). The is string here cleans up a few things (but not
 # everything).
 ct8500|tektronix ct8500:\
        :am:bw:da:db:\
@@ -12792,7 +12792,7 @@ ct8500|tektronix ct8500:\
 # Bold, dim, and standout are simulated by colors and thus not allowed
 # with colors.  The tektronix color table is mapped into the RGB color
 # table by setf/setb. All colors are reset to factory specifications by oc.
-# The <initc> cap uses RGB notation to define colors.  for arguments 1-3 the 
+# The <initc> cap uses RGB notation to define colors.  for arguments 1-3 the
 # interval (0-1000) is broken into 8 smaller sub-intervals (125).  Each sub-
 # interval then maps into pre-defined value.
 # (untranslatable capabilities removed to fit entry within 1023 bytes)
@@ -12963,7 +12963,7 @@ ibmpc|wy60-PC|wyse60-PC|IBM PC/XT running PC/IX:\
 
 #### Apple II
 #
-# Apple II firmware console first, then various 80-column cards and 
+# Apple II firmware console first, then various 80-column cards and
 # terminal emulators.  For two cents I'd toss all these in the UFO file
 # along with the 40-column apple entries.
 #
@@ -12971,7 +12971,7 @@ ibmpc|wy60-PC|wyse60-PC|IBM PC/XT running PC/IX:\
 # From: brsmith@umn-cs.cs.umn.edu (Brian R. Smith) via BRL
 #      'it#8' tells UNIX that you have tabs every 8 columns.  This is a
 #              function of TIC, not the firmware.
-#      The clear key on a IIgs will do something like clear-screen, 
+#      The clear key on a IIgs will do something like clear-screen,
 #              depending on what you're in.
 appleIIgs|appleIIe|appleIIc|Apple 80 column firmware interface:\
        :am:bs:bw:eo:ms:\
@@ -13173,20 +13173,20 @@ mac-w|macterminal-w|Apple Macintosh with Macterminal in 132 column mode:\
 # line. Please note that non-ASCII characters don't work right in the
 # status line, since Terminal.app incorrectly interprets their Unicode
 # codepoints as MacRoman codepoints.
-# 
+#
 # * Renamed the AppKit Terminal.app entry from "Apple_Terminal" to
 #   "nsterm" to comply with the name length and case conventions and
 #   limitations of various software packages [notably Solaris terminfo
 #   and UNIX.] A single Apple_Terminal alias is retained for
 #   backwards-compatbility.
-# 
+#
 # * Added function key support (F1-F4). These only work in Terminal.app
 #   version 51, hopefully the capabilities won't cause problems for people
 #   using version 41.
-# 
+#
 # * Added "full color" (-c) entries which support the 16-color mode in
 #   version 51.
-# 
+#
 # * By default, version 51 uses UTF-8 encoding with broken altcharset
 #   support, so "ASCII" (-7) entries without altcharset support were
 #   added.
@@ -13719,7 +13719,7 @@ st52|Atari ST with VT52 emulation:\
        :l0=f10:le=\ED:me=\Eq:nd=\EC:nw=^M^J:r1=\Ez_\Eb@\EcA:\
        :rc=\Ek:sc=\Ej:se=\Eq:sf=^J:so=\Ep:sr=\EI:ta=^I:te=:ti=\Ee:\
        :up=\EA:ve=\Ee:vi=\Ef:
+
 #### Commodore Business Machines
 #
 # Formerly located in West Chester, PA; went spectacularly bust in 1994
@@ -13840,16 +13840,16 @@ northstar|North Star Advantage:\
 #### Osborne
 #
 # Thu Jul  7 03:55:16 1983
-#      
-# As an aside, be careful; it may sound like an anomaly on the 
-# Osborne, but with the 80-column upgrade, it's too easy to 
+#
+# As an aside, be careful; it may sound like an anomaly on the
+# Osborne, but with the 80-column upgrade, it's too easy to
 # enter lines >80 columns!
-#      
+#
 # I've already had several comments...
-# The Osborne-1 with the 80-col option is capable of being 
-# 52, 80, or 104 characters wide; default to 80 for compatibility 
+# The Osborne-1 with the 80-col option is capable of being
+# 52, 80, or 104 characters wide; default to 80 for compatibility
 # with most systems.
-#      
+#
 # The tab is destructive on the Ozzie; make sure to 'stty -tabs'.
 osborne-w|osborne1-w|osborne I in 104-column mode:\
        :ms:ul:xt:\
@@ -13886,7 +13886,7 @@ osexec|Osborne executive:\
 # Memory-segmentation limits and a strong tendency to look like V7 long after
 # it was obsolete made all three pretty lame.  Venix croaked early.  Coherent
 # and Minix were ported to 32-bit Intel boxes, only to be run over by a
-# steamroller named `Linux' (which, to be fair, traces some lineage to Minix). 
+# steamroller named `Linux' (which, to be fair, traces some lineage to Minix).
 # Coherent's vendor, the Mark Williams Company, went belly-up in 1994.  There
 # are also, I'm told, Minix ports that ran on Amiga and Atari machines and
 # even as single processes under SunOS and the Macintosh OS.
@@ -13938,7 +13938,7 @@ pc-coherent|pcz19|coherent|IBM PC console running Coherent:\
        :sr=\EI:ta=^I:up=\EA:
 
 # According to the Venix 1.1 manual, the PC console is similar
-# to a DEC vt52.  Differences seem to be (1) arrow keys send 
+# to a DEC vt52.  Differences seem to be (1) arrow keys send
 # different strings, (2) enhanced standout, (3) added insert/delete line.
 # Note in particular that it doesn't have automatic margins.
 # There are other keys (f1-f10, kpp, knp, kcbt, kich1, kdch1) but they
@@ -13955,11 +13955,11 @@ pc-venix|venix|IBM PC console running Venix:\
 #
 
 # The MAI Basic Four computer was obsolete at the end of the 1980s.
-# It may be used as a terminal by putting it in "line" mode as seen on 
+# It may be used as a terminal by putting it in "line" mode as seen on
 # one of the status lines.
-# Initialization is similar to CIT80. :is: will set ANSI mode for you.  
+# Initialization is similar to CIT80. :is: will set ANSI mode for you.
 # Hardware tabs set by :if: at 8-spacing.  Auto line wrap causes glitches so
-# wrap mode is reset by :vs:.  Using :sf:=\E[S caused errors so I 
+# wrap mode is reset by :vs:.  Using :sf:=\E[S caused errors so I
 # used \ED instead.
 # From: bf347@lafn.org (David Lawyer), 28 Jun 1997
 mai|basic4|MAI Basic Four in ansi mode:\
@@ -13979,7 +13979,7 @@ mai|basic4|MAI Basic Four in ansi mode:\
 #
 # On Sat, 7 Aug 1999, Torsten Jerzembeck <toje@nightingale.ms.sub.org> wrote:
 # The Basis 108 was a Apple II clone, manufactured by the "Basis
-# Mikrocomputer GmbH" in Munster, Germany (the company still exists today,  
+# Mikrocomputer GmbH" in Munster, Germany (the company still exists today,
 # about 1,5 km from where I live, but doesn't build own computers any
 # more). A Basis 108 featured a really heavy (cast aluminium?) case, was
 # equipped with one or two 5.25" disk drives, had a monochrome and colour
@@ -13999,7 +13999,7 @@ luna|luna68k|LUNA68K Bitmap console:\
 megatek|pegasus workstation terminal emulator:\
        :am:os:\
        :co#83:li#60:
-# The Xerox 820 was a Z80 micro with a snazzy XEROX PARC-derived 
+# The Xerox 820 was a Z80 micro with a snazzy XEROX PARC-derived
 # interface (pre-Macintosh by several years) that went nowhere.
 xerox820|x820|Xerox 820:\
        :am:\
@@ -14090,7 +14090,7 @@ abm80|amtek business machines 80:\
 
 #### Bell Labs blit terminals
 #
-# These were AT&T's official entries.  The 5620 FAQ maintained by 
+# These were AT&T's official entries.  The 5620 FAQ maintained by
 # David Breneman <daveb@dgtl.com> has this to say:
 #
 #  Actually, in the beginning was the Jerq, and the Jerq was white with a
@@ -14149,17 +14149,17 @@ oblit|ojerq|first version of blit rom:\
 # small screen (it had a 17" crisp beauty) and a real OS. They (Bolt
 # Beranek and Neuman) sold at most a few hundred of them to the real
 # world.  DOD may have bought more...
-# 
+#
 
-# Entries for the BitGraph terminals.  The problem 
-# with scrolling in vi can only be fixed by getting BBN to put 
-# smarter scroll logic in the terminal or changing vi or padding 
+# Entries for the BitGraph terminals.  The problem
+# with scrolling in vi can only be fixed by getting BBN to put
+# smarter scroll logic in the terminal or changing vi or padding
 # scrolls with about 500 ms delay.
-#      
-# I always thought the problem was related to the terminal 
-# counting newlines in its input buffer before scrolling and 
-# then moving the screen that much. Then vi comes along and 
-# paints lines in on the bottom line of the screen, so you get 
+#
+# I always thought the problem was related to the terminal
+# counting newlines in its input buffer before scrolling and
+# then moving the screen that much. Then vi comes along and
+# paints lines in on the bottom line of the screen, so you get
 # this big white gap.
 
 bitgraph|bg2.0nv|bg3.10nv|bbn bitgraph 2.0 or later (normal video):\
@@ -14302,17 +14302,17 @@ dku7202|BULL Questar 200 DKU7202 (colour/character attributes):\
 #       Copyright (c) 1989 BULL SA
 #---------------------------------------------------------------------------
 #  This entry is used for terminals with vt320 emulation mode
-#  and following set-up : 
+#  and following set-up :
 #    8 bit ISO Latin Character Set (ISO 8859-1),
-#    7 bit Control Characters, 
-#    80 columns screen.    
+#    7 bit Control Characters,
+#    80 columns screen.
 #  Hereafter are some DEC vt terminals' commands. (valid on vt200 and 300)
 #  They are used in string capabilities with vt220-320 emulation mode.
 #  In the following DEC definitions, two kinds of terminfo databases are
 #    provided :
-#    1. the first with Command Sequence Introducer starting with escape 
+#    1. the first with Command Sequence Introducer starting with escape
 #       sequence in 7 bits characters ex. ESC [ : 2 chars. in 7-bit mode.
-#    2. the second with Command Sequence Introducer starting with escape 
+#    2. the second with Command Sequence Introducer starting with escape
 #       sequence in 8 bits characters ex. ESC [ : 1 char. 'CSI' =x9B.
 #      Soft Terminal Reset             esc [ ! p
 #      RIS (erases screen):            esc c
@@ -14347,11 +14347,11 @@ dku7202|BULL Questar 200 DKU7202 (colour/character attributes):\
 #      RM DECAWM auto right margin:    esc [ ? 7 l
 #      SM DECARM auto repeat:          esc [ ? 8 h
 #      RM DECARM auto repeat:          esc [ ? 8 l
-#      DECSASD Select active main:     esc [ 0 $ } 
-#      DECSASD Select active status:   esc [ 1 $ } 
-#      DECSSDT Select status none:     esc [ 0 $ ~ 
-#      DECSSDT Select status indic.:   esc [ 1 $ ~ 
-#      DECSSDT Select status host-wr:  esc [ 2 $ ~ 
+#      DECSASD Select active main:     esc [ 0 $ }
+#      DECSASD Select active status:   esc [ 1 $ }
+#      DECSSDT Select status none:     esc [ 0 $ ~
+#      DECSSDT Select status indic.:   esc [ 1 $ ~
+#      DECSSDT Select status host-wr:  esc [ 2 $ ~
 #      SM DECTCEM Visible cursor:      esc [ ? 2 5 h
 #      RM DECTCEM Invisible cursor:    esc [ ? 2 5 l
 #      SM DECNCRM 7 bits NCR set:      esc [ ? 4 2 h
@@ -14407,10 +14407,10 @@ bq300-w-rv|Bull vt320 reverse mode 132 columns:\
        :rs=\E[?3h:vb=\E[?5l\E[?5h:tc=bq300:
 
 #  This entry is used for terminals with vt320 emulation mode
-#  and following set-up : 
+#  and following set-up :
 #    8 bit ISO Latin Character Set (ISO 8859-1),
 #    8 bit Control Characters, (CSI coded as x9B for ESC [)
-#    80 columns screen.    
+#    80 columns screen.
 #      Soft Terminal Reset             csi ! p
 #      RIS (erases screen):            esc c
 #      DECKPNM numeric keypad mode:    esc >
@@ -14444,11 +14444,11 @@ bq300-w-rv|Bull vt320 reverse mode 132 columns:\
 #      RM DECAWM auto right margin:    csi ? 7 l
 #      SM DECARM auto repeat:          csi ? 8 h
 #      RM DECARM auto repeat:          csi ? 8 l
-#      DECSASD Select active main:     csi 0 $ } 
-#      DECSASD Select active status:   csi 1 $ } 
-#      DECSSDT Select status none:     csi 0 $ ~ 
-#      DECSSDT Select status indic.:   csi 1 $ ~ 
-#      DECSSDT Select status host-wr:  csi 2 $ ~ 
+#      DECSASD Select active main:     csi 0 $ }
+#      DECSASD Select active status:   csi 1 $ }
+#      DECSSDT Select status none:     csi 0 $ ~
+#      DECSSDT Select status indic.:   csi 1 $ ~
+#      DECSSDT Select status host-wr:  csi 2 $ ~
 #      SM DECTCEM Visible cursor:      csi ? 2 5 h
 #      RM DECTCEM Invisible cursor:    csi ? 2 5 l
 #      SM DECNCRM 7 bits NCR set:      csi ? 4 2 h
@@ -14498,10 +14498,10 @@ bq300-w-8rv|Bull vt320 8-bit reverse mode 132 columns:\
        :rs=\233?3h:vb=\233?5l\233?5h:tc=bq300-8:
 
 #  This entry is used for terminals with vt320 emulation mode
-#  a 102 keys keyboard (PC scancode !) and following set-up : 
+#  a 102 keys keyboard (PC scancode !) and following set-up :
 #    8 bit ISO Latin Character Set (ISO 8859-1),
-#    7 bit Control Characters, 
-#    80 columns screen.    
+#    7 bit Control Characters,
+#    80 columns screen.
 bq300-pc|Questar 303 with PC keyboard ISO Latin 1 80 columns:\
        :%0@:%1@:*6@:@0@:@7=\E[4~:F1=\E[29~:F2=\E[31~:F3@:F4@:F5@:F6@:\
        :F7@:F8@:F9@:FA@:k1=\E[17~:k2=\E[18~:k3=\E[19~:k4=\E[20~:\
@@ -14520,8 +14520,8 @@ bq300-pc-w-rv|Questar 303 with PC keyboard reverse mode 132 columns:\
        :is=\E[?2h\E[?3h\E[?5h\E[?7h\E[?8h\E>\E[?1l\E F\E[?42l\E[?4l:\
        :rs=\E[?3h:vb=\E[?5l\E[?5h:tc=bq300-pc:
 #    8 bit ISO Latin Character Set (ISO 8859-1),
-#    8 bit Control Characters, 
-#    80 columns screen.    
+#    8 bit Control Characters,
+#    80 columns screen.
 bq300-8-pc|Q306-8-pc|Questar 303 with PC keyboard in full 8 bits 80 columns:\
        :%0@:%1@:*6@:@0@:@7=\2334~:F1=\23329~:F2=\23331~:F3@:F4@:F5@:\
        :F6@:F7@:F8@:F9@:FA@:k1=\23317~:k2=\23318~:k3=\23319~:\
@@ -14629,13 +14629,13 @@ vip-Hw|vip7800-Hw|Q310-vip-Hw|Questar 3155-vip7800 wide 72 lines:\
 #### Chromatics
 #
 
-# I have put the long strings in :ti:/:te:. Ti sets up a window 
-# that is smaller than the screen, and puts up a warning message 
-# outside the window. Te erases the warning message, puts the 
+# I have put the long strings in :ti:/:te:. Ti sets up a window
+# that is smaller than the screen, and puts up a warning message
+# outside the window. Te erases the warning message, puts the
 # window back to be the whole screen, and puts the cursor at just
-# below the small window. I defined :ve: and :vi: to really turn 
-# the cursor on and off, but I have taken this out since I don't 
-# like the cursor being turned off when vi exits.   
+# below the small window. I defined :ve: and :vi: to really turn
+# the cursor on and off, but I have taken this out since I don't
+# like the cursor being turned off when vi exits.
 cg7900|chromatics|chromatics 7900:\
        :am:\
        :co#80:li#40:\
@@ -14688,17 +14688,17 @@ dp3360|datapoint|datapoint 3360:\
        :sf=^J:up=^Z:
 
 # From: Jan Willem Stumpel <jw.stumpel@inter.nl.net>, 11 May 1997
-# The Datapoint 8242 Workstation was sold at least between 1985 
-# and 1989. To make the terminal work with this entry, press 
-# CONTROL-INT-INT to take the terminal off-line, and type (opt). 
-# Set the options AUTO ROLL, ROLL DN, and ESC KBD on, and AUTO 
-# CR/LF off. Use control-shift-[] as escape key, control-I as tab, 
+# The Datapoint 8242 Workstation was sold at least between 1985
+# and 1989. To make the terminal work with this entry, press
+# CONTROL-INT-INT to take the terminal off-line, and type (opt).
+# Set the options AUTO ROLL, ROLL DN, and ESC KBD on, and AUTO
+# CR/LF off. Use control-shift-[] as escape key, control-I as tab,
 # shift-F1 to shift-F5 as F6 to F10 (unshifted F1 to F5 are in
 # fact unusable because the strings sent by the terminal conflict
 # with other keys).
 # The terminal is capable of displaying "box draw" characters.
-# For each graphic character you must send 2 ESC's (\E\E) followed 
-# by a control character as follows: 
+# For each graphic character you must send 2 ESC's (\E\E) followed
+# by a control character as follows:
 #         character        meaning
 #         =========        =======
 #         ctrl-E           top tee
@@ -14712,8 +14712,8 @@ dp3360|datapoint|datapoint 3360:\
 #         ctrl-M           bottom right corner
 #         ctrl-N           horizontal line
 #         ctrl-O           vertical line
-# Unfortunately this cannot be fitted into the termcap/terminfo 
-# description scheme. 
+# Unfortunately this cannot be fitted into the termcap/terminfo
+# description scheme.
 dp8242|datapoint 8242:\
        :ms:\
        :co#80:li#25:\
@@ -14732,7 +14732,7 @@ dp8242|datapoint 8242:\
 #
 # These entries are DEC's official terminfos for its older terminals.
 # Contact Bill Hedberg <hedberg@hannah.enet.dec.com> of Terminal Support
-# Engineering for more information.  Updated terminfos and termcaps 
+# Engineering for more information.  Updated terminfos and termcaps
 # are kept available at ftp://gatekeeper.dec.com/pub/DEC/termcaps.
 #
 
@@ -14808,7 +14808,7 @@ dw2|decwriter|dw|decwriter II:\
 # \E[4g                clear vertical tab stops
 # \E>          disable alternate keypad mode (so it transmits numbers!)
 # \E[%i%p1%du  set tab stop at column %d (origin == 1)
-#              (Full syntax is \E[n;n;n;n;n;...;nu where each 'n' is 
+#              (Full syntax is \E[n;n;n;n;n;...;nu where each 'n' is
 #              a tab stop)
 #
 #       The dw3 does standout with wide characters.
@@ -14900,22 +14900,22 @@ terminet1200|terminet300|tn1200|tn300|terminet|GE terminet 1200:\
 #
 # S401
 # 0-3 = baud rate as follows:
-# 
+#
 #         3       2       1       0
-#      ---     ---     ---     --- 
+#      ---     ---     ---     ---
 #         0       0       1       1       300 baud
 #         0       1       0       1       1200 baud
 #         1       0       0       0       2400 baud
 #         1       0       1       0       4800 baud
 #         1       1       0       0       9600 baud
 #         1       1       0       1       19.2K baud
-# 
+#
 # 4 = parity (0 = no parity)
 # 5 = even parity (0 = odd parity)
 # 6 = stick parity (0 = normal parity)
 # 7 = full duplex (0 = half duplex)
-# 
-# S402 
+#
+# S402
 # 0 = block cursor (0 = underscore cursor)
 # 1 = no key click (0 = keyclick)
 # 2 = wrap at end of line (0 = no wrap)
@@ -14924,7 +14924,7 @@ terminet1200|terminet300|tn1200|tn300|terminet|GE terminet 1200:\
 # 5 = ANSI mode (0 = VT52 mode)
 # 6 = keypad shifted (0 = keypad unshifted)
 # 7 = 50Hz refresh (1 = 60Hz refresh)
-# 
+#
 # Factory Default settings are as follows:
 #          7 6 5 4 3 2 1 0
 # S401     1 0 0 0 1 1 0 0
@@ -14948,14 +14948,14 @@ h19-us|h19us|h19-smul|heathkit w/keypad shifted/underscore cursor:\
        :ke=\Eu:ks=\Et:tc=h19-u:
 # (h19: merged in :ip: from BSDI hp19-e entry>;
 # also added empty <acsc> to suppress a tic warning --esr)
-# From: Tim Pierce <twp@skepsis.com>, 23 Feb 1998 
+# From: Tim Pierce <twp@skepsis.com>, 23 Feb 1998
 # Tim tells us that:
 # I have an old Zenith-19 terminal at home that still gets a lot of use.
 # This terminal suffers from the same famous insert-mode padding lossage
 # that has been acknowledged for the Z29 terminal.  Emacs is nearly
 # unusable on this box, since even a half-scroll up or down the window
 # causes flaming terminal death.
-#   
+#
 # On the Z19, the only way I have found around this problem is to remove
 # the :al: and :dl: entries entirely.  No amount of extra padding will
 # help (I have tried up to 20000).  Removing :al=\EL$: and :dl=\EM$:
@@ -14985,37 +14985,37 @@ alto-h19|altoh19|altoheath|alto-heath|alto emulating heathkit h19:\
 # it needs more padding. It especially loses if a program attempts
 # to put the Z29 into insert mode and insert text at 9600 baud. It
 # even loses worse if the program attempts to insert tabs at 9600
-# baud. Adding padding to text that is inserted loses because in 
+# baud. Adding padding to text that is inserted loses because in
 # order to make the Z29 not die, one must add so much padding that
-# whenever the program tries to use insert mode, the effective 
+# whenever the program tries to use insert mode, the effective
 # rate is about 110 baud.
-# 
-# What program would want to put the terminal into insert mode 
-# and shove stuff at it at 9600 baud you ask?  
-# 
-# Emacs. Emacs seems to want to do the mathematically optimal 
+#
+# What program would want to put the terminal into insert mode
+# and shove stuff at it at 9600 baud you ask?
+#
+# Emacs. Emacs seems to want to do the mathematically optimal
 # thing in doing a redisplay rather than the practical thing.
-# When it is about to output a line on top of a line that is 
-# already on the screen, instead of just killing to the end of 
-# the line and outputting the new line, it compares the old line 
-# and the new line and if there are any similarities, it 
-# constructs the new line by deleting the text on the old line 
+# When it is about to output a line on top of a line that is
+# already on the screen, instead of just killing to the end of
+# the line and outputting the new line, it compares the old line
+# and the new line and if there are any similarities, it
+# constructs the new line by deleting the text on the old line
 # on the terminal that is already there and then inserting new
-# text into the line to transform it into the new line that is 
+# text into the line to transform it into the new line that is
 # to be displayed. The Z29 does not react kindly to this.
-# 
+#
 # But don't cry for too long.... There is a solution. You can make
 # a termcap entry for the Z29 that says the Z29 has no insert mode.
-# Then Emacs cannot use it. "Oh, no, but now inserting into a 
+# Then Emacs cannot use it. "Oh, no, but now inserting into a
 # line will be really slow", you say. Well there is a sort of a
-# solution to that too. There is an insert character option on 
-# the Z29 that will insert one character. Unfortunately, it 
-# involves putting the terminal into ansi mode, inserting the 
-# character, and changing it back to H19 mode. All this takes 12 
-# characters. Pretty expensive to insert one character, but it 
-# works. Either Emacs doesn't try to use its inserting hack when 
-# it's only given an insert character ability or the Z29 doesn't 
-# require padding with this (the former is probably more likely, 
+# solution to that too. There is an insert character option on
+# the Z29 that will insert one character. Unfortunately, it
+# involves putting the terminal into ansi mode, inserting the
+# character, and changing it back to H19 mode. All this takes 12
+# characters. Pretty expensive to insert one character, but it
+# works. Either Emacs doesn't try to use its inserting hack when
+# it's only given an insert character ability or the Z29 doesn't
+# require padding with this (the former is probably more likely,
 # but I haven't checked it out).
 # (z29: added empty <acsc> to suppress a tic warning, merged in
 # status line capabilities from BRL entry --esr)
@@ -15113,9 +15113,9 @@ ztx|ztx11|zt-1|htx11|ztx-1-a|ztx-10 or 11:\
 
 #### IMS International (ims)
 #
-# There was a company called IMS International located in Carson City, 
+# There was a company called IMS International located in Carson City,
 # Nevada, that flourished from the mid-70s to mid-80s.  They made S-100
-# bus/Z80 hardware and a line of terminals called Ultimas.  
+# bus/Z80 hardware and a line of terminals called Ultimas.
 #
 
 # From: Erik Fair <fair@ucbarpa.berkeley.edu>  Sun Oct 27 07:21:05 1985
@@ -15153,7 +15153,7 @@ superbrain|intertec superbrain:\
        :bc=^U:bl=^G:cd=\E~k<10*>:ce=\E~K:cl=\014:cm=\EY%+ %+ :\
        :cr=^M:do=^J:kd=^J:kl=^U:kr=^F:ku=^K:le=^H:nd=^F:sf=^J:ta=^I:\
        :te=^L:ti=^L:up=^K:
-# (intertube: a Gould entry via BRL asserted smul=\E0@$<200/>, 
+# (intertube: a Gould entry via BRL asserted smul=\E0@$<200/>,
 # rmul=\E0A$<200/>; my guess is the highlight letter is bit-coded like an ADM,
 # and the reverse is actually true.  Try it. -- esr)
 intertube|intertec|Intertec InterTube:\
@@ -15182,12 +15182,12 @@ intertube2|intertec data systems intertube 2:\
 #
 
 # The Graphos III was a color graphics terminal from Ithaca Intersystems.
-# These entries were written (originally in termcap syntax) by Brian Yandell 
-# <yandell@stat.wisc.edu> and Mike Meyer <mikem@stat.wisc.edu> at the 
+# These entries were written (originally in termcap syntax) by Brian Yandell
+# <yandell@stat.wisc.edu> and Mike Meyer <mikem@stat.wisc.edu> at the
 # University of Wisconsin.
 
-# (graphos: removed obsolete and syntactically incorrect :kn=4:, 
-# removed :if=/usr/share/tabset/init.graphos: and 
+# (graphos: removed obsolete and syntactically incorrect :kn=4:,
+# removed :if=/usr/share/tabset/init.graphos: and
 # <rf=/usr/share/tabset/init.graphos> no such file & no :st: -- esr)
 graphos|graphos III:\
        :am:mi:\
@@ -15215,7 +15215,7 @@ graphos-30|graphos III with 30 lines:\
 #      Vox: (617)-890-5796.
 #
 # However, if you call that number today you'll get an insurance company.
-# I have mail from "Michael Berman, V.P. Sales, Modgraph" dated 
+# I have mail from "Michael Berman, V.P. Sales, Modgraph" dated
 # 26 Feb 1997 that says:
 #
 # Modgraph GX-1000, replaced by GX-2000.  Both are out of production, have been
@@ -15266,7 +15266,7 @@ modgraph48|mod|Modgraph w/48 lines:\
        :us=\E[4m:vb=\E[?5h\E[0q\E[1;2q\E[?5l\E[0q\E[4;3q:
 
 #### Morrow Designs
-# 
+#
 # This was George Morrow's company.  They started in the late 1970s making
 # S100-bus machines.  They used to be reachable at:
 #
@@ -15277,7 +15277,7 @@ modgraph48|mod|Modgraph w/48 lines:\
 # but they're long gone now (1995).
 #
 
-# The mt70 terminal was shipped with the Morrow MD-3 microcomputer. 
+# The mt70 terminal was shipped with the Morrow MD-3 microcomputer.
 # Jeff's specimen was dated June 1984.
 # From: Jeff Wieland <wieland@acn.purdue.edu> 24 Feb 1995
 mt70|mt-70|Morrow MD-70; native Morrow mode:\
@@ -15417,17 +15417,17 @@ vsc|Signetics Vsc Video driver by RMC:\
 # consisted of a circle with a slightly smaller 15 degree (approx.)
 # wedge with rounded corners inside it.   The color was sort of
 # a metallic gold/yellow.
-# 
+#
 # If I had been more of a beer drinker it might have been obvious
 # to me, but it took a clue from their service department to make
 # me exclaim, "Of course!"   The circular object was the top of
 # a beer can (the old removable pop-top style) and "Soroc" was an
 # anagram for "Coors".
-# 
+#
 # I can just imagine the founders of the company sitting around
 # one evening, tossing back a few and trying to decide what to
 # call their new company and what to use for a logo.
-# 
+#
 
 # (soroc120: removed obsolete ":ma=^K^P^R^L^L :" -- esr)
 soroc120|iq120|soroc|soroc iq120:\
@@ -15444,7 +15444,7 @@ soroc140|iq140|soroc iq140:\
 
 #### Southwest Technical Products
 #
-# These guys made an early personal micro called the M6800.  
+# These guys made an early personal micro called the M6800.
 # The ct82 was probably its console terminal.
 #
 
@@ -15483,7 +15483,7 @@ swtp|ct82|southwest technical products ct82:\
 # CRT). It wasn't much different from the KTM-2 hardware-wise, but the
 # control and escape sequences are very different. The KTM-3 was always
 # real broken, at least according to the folks I've talked to about it.
-# 
+#
 # The padding in the entry is probably off--these terminals were very
 # slow (it takes like 100ms for the KTM-2 to clear the screen...) And
 # anyone with any sanity replaced the ROMs with something that provided
@@ -15491,7 +15491,7 @@ swtp|ct82|southwest technical products ct82:\
 # obviously very primitive... oh, you could get an upgraded ROM from
 # Synertek for some incredible amount of money, but what hacker with an
 # EPROM burner would do that? :)
-# 
+#
 # Sorry I don't have any contact info; I believe they were located in
 # Sunnyvale, and I'm fairly sure they are still manufacturing ICs
 # (they've gone to ASICs and FPGAs), but I doubt they're in the computer
@@ -15725,7 +15725,7 @@ ti928-8|Texas Instruments 928 VDT 8859/1 8 bit CTRL:\
 #
 
 # (zen30: removed obsolete :ma=^L ^R^L^K^P:.  This entry originally
-# had just :so:=\EG6 which I think means standout was supposed to be 
+# had just :so:=\EG6 which I think means standout was supposed to be
 # dim-reverse using ADM12-style attributes. ADM12 :us:/:ue: and
 # <invis> might work-- esr)
 zen30|z30|zentec 30:\
@@ -15761,7 +15761,7 @@ cci|cci1|z8001|zen8001|CCI Custom Zentec 8001:\
 
 #### Apollo consoles
 #
-# Apollo got bought by Hewlett-Packard.  The Apollo workstations are 
+# Apollo got bought by Hewlett-Packard.  The Apollo workstations are
 # labeled HP700s now.
 #
 
@@ -15844,7 +15844,7 @@ qdss|qdcons|qdss glass tty:\
 # to force both magic cookie glitches off.  Once upon a time, I
 # used a Fortune myself, so I know the capabilities of the form ^A[a-z]\r are
 # function keys; thus the "Al" value for HM was certainly an error.  I renamed
-# EN/PD/PU/CO/CF/RT according to the XENIX/TC mappings, but not HM/DL/RF/RC.  
+# EN/PD/PU/CO/CF/RT according to the XENIX/TC mappings, but not HM/DL/RF/RC.
 # I think :rv: and :re: are start/end reverse video and :rg: is a nonexistent
 # "reverse-video-glitch" capability; I have put :rv: and :re: in with standard
 # names below.  I've removed obsolete ":nl=5^J:" as there is a :do: -- esr)
@@ -15890,7 +15890,7 @@ masscomp2|masscomp large screen version 2:\
 #
 
 # CTRM terminal emulator
-# 1. underlining is not allowed with colors: first, is is simulated by 
+# 1. underlining is not allowed with colors: first, is is simulated by
 # black on white, second, it disables background color manipulations.
 # 2. BLINKING, REVERSE and BOLD are allowed with colors,
 # so we have to save their status in the static registers A, B and H
@@ -15898,7 +15898,7 @@ masscomp2|masscomp large screen version 2:\
 # (because any color change turns off ALL attributes)
 # 3. :md: and :mr: sequences alternate modes,
 # rather then simply  entering them.  Thus we have to check the
-# static register B and H to determine the status, before sending the 
+# static register B and H to determine the status, before sending the
 # escape sequence.
 # 4. :me: now must set the status of all 3 register (A,B,H) to zero
 # and then reset colors
@@ -16022,7 +16022,7 @@ diablo1620-m8|diablo1640-m8|diablo 1620 w/8 column left margin:\
 # (diablo1640: removed :if=/usr/share/tabset/xerox1730:, no such file -- esr)
 diablo1640|diablo1730|diablo1740|diablo630|x1700|diablo|xerox|diablo 1640:\
        :bl=^G:se=\E&:so=\EW:ue=\ER:us=\EE:tc=diablo1620:
-# (diablo1640-lm: removed :if=/usr/share/tabset/xerox1730-lm:, no such 
+# (diablo1640-lm: removed :if=/usr/share/tabset/xerox1730-lm:, no such
 # file -- esr)
 diablo1640-lm|diablo-lm|xerox-lm|diablo 1640 with indented left margin:\
        :co#124:\
@@ -16031,7 +16031,7 @@ diablo1740-lm|630-lm|1730-lm|x1700-lm|diablo 1740 printer:\
        :tc=diablo1640-lm:
 # DTC 382 with VDU.  Has no :cd: so we fake it with :ce:.  Standout
 # :so=^P\s\002^PF: works but won't go away without dynamite :se=^P\s\0:.
-# The terminal has tabs, but I'm getting tired of fighting the braindamage. 
+# The terminal has tabs, but I'm getting tired of fighting the braindamage.
 # If no tab is set or the terminal's in a bad mood, it glitches the screen
 # around all of memory.  Note that return puts a blank ("a return character")
 # in the space the cursor was at, so we use ^P return (and thus ^P newline for
@@ -16089,7 +16089,7 @@ xerox1720|x1720|x1750|xerox 1720:\
 
 #### Miscellaneous obsolete terminals, manufacturers unknown
 #
-# If you have any information about these (like, a manufacturer's name, 
+# If you have any information about these (like, a manufacturer's name,
 # and a date on the serial-number plate) please send it!
 
 cad68-3|cgc3|cad68 basic monitor transparent mode size 3 chars:\
@@ -16206,7 +16206,7 @@ teletec|Teletec Datascreen:\
 #
 # Kenneth Randell <kenr@datametrics.com> writes on 31 Dec 1998:
 # I had a couple of scopes (3221) like this once where I used to work, around
-# the 1987 time frame if memory serves me correctly.  These scopes were made  
+# the 1987 time frame if memory serves me correctly.  These scopes were made
 # by an outfit called LANPAR Technologies, and were meant to me DEC VT 220
 # compatible.  The 3220 was a plain text terminal like the VT-220, the 3221
 # was a like the VT-240 (monochrome with Regis + Sixel graphics), and the 3222
@@ -16262,18 +16262,18 @@ v3220|LANPAR Vision II model 3220/3221/3222:\
 # receive the document in due course.  Don't expect an email acknowledgement.
 #
 # Related standards include "X3.4-1977: American National Standard Code for
-# Information Interchange" (the ASCII standard) and "X3.41.1974: 
+# Information Interchange" (the ASCII standard) and "X3.41.1974:
 # Code-Extension Techniques for Use with the 7-Bit Coded Character Set of
 # American National Standard for Information Interchange."  I believe (but
 # am not certain) that these are effectively identical to ECMA-6 and ECMA-35
-# respectively. 
+# respectively.
 #
 
 #### VT100/ANSI/ECMA-48
 #
 # ANSI Standard (X3.64) Control Sequences for Video Terminals and Peripherals
 # and ECMA-48 Control Functions for Coded Character Sets.
-# 
+#
 # Much of the content of this comment is adapted from a table prepared by
 # Richard Shuford, based on a 1984 Byte article.  Terminfo correspondences,
 # discussion of some terminfo-related issues, and updates to capture ECMA-48
@@ -16444,13 +16444,13 @@ v3220|LANPAR Vision II model 3220/3221/3222:\
 # VPR  Vert. Position Relative   \E [ Pn e           1         FE     -   (R)
 # VT   Vertical Tabulation *     ^K                  -         FE     -
 # VTS  Vertical Tabulation Set   \E J                -         FE     -
-# 
+#
 # ---------------------------------------------------------------------------
 #
 # Notes:
 #
-# Some control characters are listed in the ECMA-48 standard without 
-# being assigned functions relevant to terminal control there (they 
+# Some control characters are listed in the ECMA-48 standard without
+# being assigned functions relevant to terminal control there (they
 # referred to other standards such as ISO 1745 or ECMA-35).  They are listed
 # here anyway for completeness.
 #
@@ -16468,11 +16468,11 @@ v3220|LANPAR Vision II model 3220/3221/3222:\
 #
 # (D) terminfo (nel) is usually \r\n rather than ANSI \EE.
 #
-# (E) ECMA-48 calls this "Active Position Report" but preserves the CPR 
+# (E) ECMA-48 calls this "Active Position Report" but preserves the CPR
 # abbreviation.
-# 
+#
 # (F) CTC parameter values: 0 = set char tab, 1 = set line tab, 2 = clear
-# char tab, 3 = clear line tab, 4 = clear all char tabs on current line, 
+# char tab, 3 = clear line tab, 4 = clear all char tabs on current line,
 # 5 = clear all char tabs, 6 = clear all line tabs.
 #
 # (G) CUP and HVP are identical in effect.  Some ANSI.SYS versions accept
@@ -16488,7 +16488,7 @@ v3220|LANPAR Vision II model 3220/3221/3222:\
 #
 # (J) ECMA calls ED "Erase In Page". EA/ED/EL parameters: 0 = clear to end,
 # 1 = clear from beginning, 2 = clear.
-# 
+#
 # (K) ECMA calls this "End of Guarded Area" but preserves the EPA abbreviation.
 #
 # (L) The GSM parameters are vertical and horizontal parameters to scale by.
@@ -16525,7 +16525,7 @@ v3220|LANPAR Vision II model 3220/3221/3222:\
 #
 # (S) MC parameters: 0 = start xfer to primary aux device, 1 = start xfer from
 # primary aux device, 2 = start xfer to secondary aux device, 3 = start xfer
-# from secondary aux device, 4 = stop relay to primary aux device, 5 = 
+# from secondary aux device, 4 = stop relay to primary aux device, 5 =
 # start relay to primary aux device, 6 = stop relay to secondary aux device,
 # 7 = start relay to secondary aux device.
 #
@@ -16537,13 +16537,13 @@ v3220|LANPAR Vision II model 3220/3221/3222:\
 #
 # (V) ECMA-48 calls this "Reverse Line Feed" but retains the RI abbreviation.
 #
-# (W) RM/SM modes are as follows: 1 = Guarder Area Transfer Mode (GATM), 
-# 2 = Keyboard Action Mode (KAM), 3 = Control Representation Mode (CRM), 
+# (W) RM/SM modes are as follows: 1 = Guarder Area Transfer Mode (GATM),
+# 2 = Keyboard Action Mode (KAM), 3 = Control Representation Mode (CRM),
 # 4 = Insertion Replacement Mode, 5 = Status Report Transfer Mode (SRTM),
 # 6 = Erasure Mode (ERM), 7 = Line Editing Mode (LEM), 8 = Bi-Directional
-# Support Mode (BDSM), 9 = Device Component Select Mode (DCSM), 
+# Support Mode (BDSM), 9 = Device Component Select Mode (DCSM),
 # 10 = Character Editing Mode (HEM), 11 = Positioning Unit Mode (PUM),
-# 12 = Send/Receive Mode, 13 = Format Effector Action Mode (FEAM), 
+# 12 = Send/Receive Mode, 13 = Format Effector Action Mode (FEAM),
 # 14 = Format Effector Transfer Mode (FETM), 15 = Multiple Area Transfer
 # Mode (MATM), 16 = Transfer Termination Mode, 17 = Selected Area Transfer
 # Mode, 18 = Tabulation Stop Mode, 19 = Editing Boundary Mode, 20 = Line Feed
@@ -16560,68 +16560,68 @@ v3220|LANPAR Vision II model 3220/3221/3222:\
 # abbreviation.
 #
 # ---------------------------------------------------------------------------
-# 
+#
 # Abbreviations:
 #
 # Intro  an Introducer of some kind of defined sequence; the normal 7-bit
 #        X3.64 Control Sequence Introducer is the two characters "Escape ["
-# 
+#
 # Delim  a Delimiter
-# 
+#
 # x/y    identifies a character by position in the ASCII table (column/row)
-# 
+#
 # eF     editor function (see explanation)
-# 
+#
 # FE     format effector (see explanation)
 #
 # F      is a Final character in
 #             an Escape sequence (F from 3/0 to 7/14 in the ASCII table)
 #             a control sequence (F from 4/0 to 7/14)
-# 
+#
 # Gs     is a graphic character appearing in strings (Gs ranges from
 #        2/0 to 7/14) in the ASCII table
-# 
+#
 # Ce     is a control represented as a single bit combination in the C1 set
 #        of controls in an 8-bit character set
-# 
+#
 # C0     the familiar set of 7-bit ASCII control characters
-# 
+#
 # C1     roughly, the set of control chars available only in 8-bit systems.
 #        This is too complicated to explain fully here, so read Jim Fleming's
 #        article in the February 1983 BYTE, especially pages 214 through 224.
-# 
+#
 # Fe     is a Final character of a 2-character Escape sequence that has an
 #        equivalent representation in an 8-bit environment as a Ce-type
 #        (Fe ranges from 4/0 to 5/15)
-# 
+#
 # Fs     is a Final character of a 2-character Escape sequence that is
 #        standardized internationally with identical representation in 7-bit
 #        and 8-bit environments and is independent of the currently
 #        designated C0 and C1 control sets (Fs ranges from 6/0 to 7/14)
-# 
+#
 # I      is an Intermediate character from 2/0 to 2/15 (inclusive) in the
 #        ASCII table
-# 
+#
 # P      is a parameter character from 3/0 to 3/15 (inclusive) in the ASCII
 #        table
-# 
+#
 # Pn     is a numeric parameter in a control sequence, a string of zero or
 #        more characters ranging from 3/0 to 3/9 in the ASCII table
-# 
+#
 # Ps     is a variable number of selective parameters in a control sequence
 #        with each selective parameter separated from the other by the code
 #        3/11 (which usually represents a semicolon); Ps ranges from
 #        3/0 to 3/9 and includes 3/11
 #
 # *      Not relevant to terminal control, listed for completeness only.
-# 
+#
 # Format Effectors versus Editor Functions
-# 
+#
 # A format effector specifies how following output is to be displayed.
 # An editor function allows you to modify the display.  Informally
 # format effectors may be destructive; format effectors should not be.
-# 
-# For instance, a format effector that moves the "active position" (the 
+#
+# For instance, a format effector that moves the "active position" (the
 # cursor or equivalent) one space to the left would be useful when you want to
 # create an overstrike, a compound character made of two standard characters
 # overlaid. Control-H, the Backspace character, is actually supposed to be a
@@ -16635,16 +16635,16 @@ v3220|LANPAR Vision II model 3220/3221/3222:\
 # return, linefeed, formfeed, etc., are defined as format effectors.
 #
 # NOTES ON THE DEC VT100 IMPLEMENTATION
-# 
+#
 # Control sequences implemented in the VT100 are as follows:
-# 
+#
 #      CPR, CUB, CUD, CUF, CUP, CUU, DA, DSR, ED, EL, HTS, HVP, IND,
 #      LNM, NEL, RI, RIS, RM, SGR, SM, TBC
-# 
+#
 # plus several private DEC commands.
-# 
+#
 # Erasing parts of the display (EL and ED) in the VT100 is performed thus:
-# 
+#
 #      Erase from cursor to end of line           Esc [ 0 K    or Esc [ K
 #      Erase from beginning of line to cursor     Esc [ 1 K
 #      Erase line containing cursor               Esc [ 2 K
@@ -16654,32 +16654,32 @@ v3220|LANPAR Vision II model 3220/3221/3222:\
 #
 # Some brain-damaged terminal/emulators respond to Esc [ J as if it were
 # Esc [ 2 J, but this is wrong; the default is 0.
-# 
+#
 # The VT100 responds to receiving the DA (Device Attributes) control
-# 
+#
 #      Esc [ c    (or Esc [ 0 c)
-# 
+#
 # by transmitting the sequence
-# 
+#
 #      Esc [ ? l ; Ps c
-# 
+#
 # where Ps is a character that describes installed options.
-# 
+#
 # The VT100's cursor location can be read with the DSR (Device Status
 # Report) control
-# 
+#
 #      Esc [ 6 n
-# 
+#
 # The VT100 reports by transmitting the CPR sequence
-# 
+#
 #      Esc [ Pl ; Pc R
-# 
+#
 # where Pl is the line number and Pc is the column number (in decimal).
-# 
+#
 # The specification for the DEC VT100 is document EK-VT100-UG-003.
 
 #### ANSI.SYS
-# 
+#
 # Here is a description of the color and attribute controls supported in the
 # the ANSI.SYS driver under MS-DOS.  Most console drivers and ANSI
 # terminal emulators for Intel boxes obey these.  They are a proper subset
@@ -16716,7 +16716,7 @@ v3220|LANPAR Vision II model 3220/3221/3222:\
 
 #### Intel Binary Compatibility Standard
 #
-# For comparison, here are the capabilities implied by the Intel Binary 
+# For comparison, here are the capabilities implied by the Intel Binary
 # Compatibility Standard for UNIX systems (Intel order number 468366-001).
 # These recommendations are optional.  IBCS2 allows the leading escape to
 # be either the 7-bit \E[ or 8-bit \0233 introducer, in accordance with
@@ -16779,7 +16779,7 @@ v3220|LANPAR Vision II model 3220/3221/3222:\
 #      CSI c           (clear) clear screen
 #
 # The lack of any specification for attributes in SGR (among other things)
-# makes this a wretchedly weak standard. The table above is literally 
+# makes this a wretchedly weak standard. The table above is literally
 # everything iBSC2 has to say about terminal escape sequences; there is
 # no further discussion of their meaning or how to set the parameters
 # in these sequences at all.
@@ -16838,12 +16838,12 @@ v3220|LANPAR Vision II model 3220/3221/3222:\
 #
 # Finally, XENIX also used the following forms-drawing capabilities:
 #
-#      single  double  type             ASCII approximation 
+#      single  double  type             ASCII approximation
 #      ------  ------  -------------    -------------------
 #      GV      Gv      vertical line             |
 #      GH      Gv      horizontal line       -   _
 #      G1      G5      top right corner       _   |
-#      G2      G6      top left corner       | 
+#      G2      G6      top left corner       |
 #      G3      G7      bottom left corner         |_
 #      G4      G8      bottom right corner   _|
 #      GD      Gd      down-tick character        T
@@ -16892,7 +16892,7 @@ v3220|LANPAR Vision II model 3220/3221/3222:\
 # correspond to acsc chars, here is the mapping:
 #
 #      box1[0]  = ACS_ULCORNER
-#      box1[1]  = ACS_HLINE    
+#      box1[1]  = ACS_HLINE
 #      box1[2]  = ACS_URCORNER
 #      box1[3]  = ACS_VLINE
 #      box1[4]  = ACS_LRCORNER
@@ -16930,7 +16930,7 @@ v3220|LANPAR Vision II model 3220/3221/3222:\
 # project.
 #
 # This file contains all the capability information present in John Kunze's
-# last version of the termcap master file, except as noted in the change 
+# last version of the termcap master file, except as noted in the change
 # comments at end of file.  Some information about very ancient obsolete
 # capabilities has been moved to comments.  Some all-numeric names of older
 # terminals have been retired.
@@ -16998,7 +16998,7 @@ v3220|LANPAR Vision II model 3220/3221/3222:\
 #      * Replaced the translated BBN Bitgraph entries with purpose-built
 #        ones from AT&T's SVr3.
 #      * Replaced the AT&T entries with AT&T's official terminfos.
-#      * Added teleray 16, vc415, cops10. 
+#      * Added teleray 16, vc415, cops10.
 #      * Merged in many individual capabilities from SCO terminfo files.
 # 9.4.3 (Mon Mar 13 02:37:53 EST 1995):
 #      * Typo fixes.
@@ -17022,7 +17022,7 @@ v3220|LANPAR Vision II model 3220/3221/3222:\
 # 9.4.7 (Tue Apr  4 11:27:11 EDT 1995)
 #      * Added apple (Videx card), adm1a, oadm31.
 #      * Fixed malformed ampex csr.
-#      * Fixed act4, cyb110; they had old-style prefix padding left in. 
+#      * Fixed act4, cyb110; they had old-style prefix padding left in.
 #      * Changed mandatory to advisory padding in many entries.
 #      * Replaced HP entries up to hpsub with purpose-built ones.
 #      * Blank rmir/smir/rmdc/smdc capabilities removed.
@@ -17052,7 +17052,7 @@ v3220|LANPAR Vision II model 3220/3221/3222:\
 #      * Comment fixes from David MacKenzie.
 #      * Added the new BSDI pc3 entry.
 # 9.5.2 (Tue Apr 25 17:27:52 EDT 1995)
-#      * A change in the tic -C logic now ensures that all entries in 
+#      * A change in the tic -C logic now ensures that all entries in
 #        the termcap translation will fit in < 1024 bytes.
 #      * Added `bobcat' and `gator' HP consoles and the Nu machine entries
 #        from GNU termcap file.  This merges in all their local information.
@@ -17103,7 +17103,7 @@ v3220|LANPAR Vision II model 3220/3221/3222:\
 #      * Added csr capability to linux entry.
 #      * Peter Wemm says the at386 hpa should be \E[%i%p1%dG, not \E[%p1%dG.
 #      * Added vt102-nsgr to cope with stupid IBM PC `VT100' emulators.
-#      * Some commented-out caps in long entries come back in, my code 
+#      * Some commented-out caps in long entries come back in, my code
 #        for computing string-table lengths had a bug in it.
 #      * pcansi series modified to fit comm-program reality better.
 # 9.8.2 (Sat Sep  9 23:35:00 EDT 1995):
@@ -17140,7 +17140,7 @@ v3220|LANPAR Vision II model 3220/3221/3222:\
 #      * fixed cup in adm22 entry and parametrized strings in vt320-k3.
 #      * added it#8 to entries that used to have :pt: -- tvi912, vi200,
 #        ampex80,
-#      * Translate all home=\E[;H capabilities to home=\E[H, they're 
+#      * Translate all home=\E[;H capabilities to home=\E[H, they're
 #        equivalent.
 #      * Translate \E[0m -> \E[m in [rs]mso, [rs]mul, and init strings of
 #        vt100 and ANSI-like terminals.
@@ -17149,7 +17149,7 @@ v3220|LANPAR Vision II model 3220/3221/3222:\
 #        does this now, too.
 #      * fviewpoint is gone, it duplicated screwpoint.
 #      * Added hp2627, graphos, graphos-30, hpex, ibmega, ibm8514, ibm8514-c,
-#        ibmvga, ibmvga-c, minix, mm340, mt4520-rv, screen2, screen3, 
+#        ibmvga, ibmvga-c, minix, mm340, mt4520-rv, screen2, screen3,
 #        versaterm, vi500, vsc, vt131, vt340, vt400 entries from UW.
 #        The UW vi50 replaces the old one, which becomes vi50adm,
 #      * No more embedded commas in name fields.
@@ -17174,7 +17174,7 @@ v3220|LANPAR Vision II model 3220/3221/3222:\
 #      * Hand-translate more XENIX capabilities.
 #      * Added hpterm entry for HP's X terminal emulator.
 #      * Added aixterm entries.
-#      * Shortened four names so everything fits in 14 chars.  
+#      * Shortened four names so everything fits in 14 chars.
 #
 # 9.11.0 (Thu Nov  2 17:29:35 EST 1995):
 #      * Added ibcs2 entry and info on iBCS2 standard.
@@ -17198,23 +17198,23 @@ v3220|LANPAR Vision II model 3220/3221/3222:\
 #      * Exiled some utterly unidentifiable custom and homebrew types to the
 #        UFO file; also, obsolete small-screen hardware; also, entries which
 #        look flat-out incorrect, garbled, or redundant.  These include the
-#        following entries: carlock, cdc456tst, microkit, qdss, ramtek, tec, 
+#        following entries: carlock, cdc456tst, microkit, qdss, ramtek, tec,
 #        tec400, tec500, ubell, wind, wind16, wind40, wind50, plasma, agile,
 #        apple, bch, daleblit, nucterm, ttywilliams, nuterminal, nu24, bnu,
-#        fnu, nunix-30, nunix-61, exidy, ex3000, sexidy, pc52, sanyo55, 
-#        yterm10, yterm11, yterm10nat, aed, aed-ucb, compucolor, compucolor2, 
-#        vic20, dg1, act5s, netx, smartvid, smarterm, sol, sol2, dt200, 
-#        trs80, trs100, trs200, trs600, xitex, rsvidtx, vid, att2300-x40, 
-#        att2350-x40, att4410-nfk, att5410-ns, otty5410, att5425-nl-w, 
-#        tty5425-fk, tty5425-w-fk, cita, c108-na, c108-rv-na, c100-rv-na, 
-#        c108-na-acs, c108-rv-na-acs, ims950-ns, infotonKAS, ncr7900i-na, 
-#        regent60na, scanset-n, tvi921-g, tvi925n, tvi925vbn, tvi925vb, 
-#        vc404-na, vc404-s-na, vt420nam, vt420f-nam, vt420pc-nam, vt510nam, 
+#        fnu, nunix-30, nunix-61, exidy, ex3000, sexidy, pc52, sanyo55,
+#        yterm10, yterm11, yterm10nat, aed, aed-ucb, compucolor, compucolor2,
+#        vic20, dg1, act5s, netx, smartvid, smarterm, sol, sol2, dt200,
+#        trs80, trs100, trs200, trs600, xitex, rsvidtx, vid, att2300-x40,
+#        att2350-x40, att4410-nfk, att5410-ns, otty5410, att5425-nl-w,
+#        tty5425-fk, tty5425-w-fk, cita, c108-na, c108-rv-na, c100-rv-na,
+#        c108-na-acs, c108-rv-na-acs, ims950-ns, infotonKAS, ncr7900i-na,
+#        regent60na, scanset-n, tvi921-g, tvi925n, tvi925vbn, tvi925vb,
+#        vc404-na, vc404-s-na, vt420nam, vt420f-nam, vt420pc-nam, vt510nam,
 #        vt510pc-nam, vt520nam, vt525nam, xterm25, xterm50, xterm65, xterms.
 #      * Corrected pcvt25h as suggested by Brian C. Grayson
 #        <bgrayson@pine.ece.utexas.edu>.
 # 9.11.3 (Thu Nov  9 12:14:40 EST 1995):
-#      * Added kspd=\E[P, kcbt=\E[Z, to linux entry, changed kbs back to ^H. 
+#      * Added kspd=\E[P, kcbt=\E[Z, to linux entry, changed kbs back to ^H.
 #      * Added kent=\EOM to xterm entry.
 #
 # 9.11.4 (Fri Nov 10 08:31:35 EST 1995):
@@ -17234,13 +17234,13 @@ v3220|LANPAR Vision II model 3220/3221/3222:\
 #      * Improved iris-ansi and sun entries.
 #      * More flash string improvements.
 #      * Corrected wy160 & wy160 as suggested by Robert Dunn
-#      * Added dim to at386.  
+#      * Added dim to at386.
 #      * Reconciled pc3 and ibmpc3 with the BSDI termcap file.  Keith says
 #        he's ready to start using the termcap generated from this one.
 #      * Added vt102-w, vt220-w, xterm-bold, wyse-vp, wy75ap, att4424m,
 #        ln03, lno3-w, h19-g, z29a*, qdss.  Made vt200 an alias of vt220.
 #      * Improved hpterm, apollo consoles, fos, qvt101, tvi924. tvi925,
-#        att610, att620, att630, 
+#        att610, att620, att630,
 #      * Changed hazeltine name prefix from h to hz.
 #      * Sent t500 to the UFI file.
 #      * I think we've sucked all the juice out of BSDI's termcap file now.
@@ -17305,7 +17305,7 @@ v3220|LANPAR Vision II model 3220/3221/3222:\
 #      * Sun console entry correction from J.T. Conklin.
 #      * Changed all DEC VT300 and up terminals to use VT300 tab set
 # 9.13.7 (Mon Jul  8 20:14:32 EDT 1996):
-#      * Added smul to linux entry (we never noticed it was missing 
+#      * Added smul to linux entry (we never noticed it was missing
 #        because of sgr!).
 #      * Added rmln to hp+labels (deduced from other HP entries).
 #      * Added vt100 acsc capability to vt220, vt340, vt400, d800, dt80-sas,
@@ -17318,7 +17318,7 @@ v3220|LANPAR Vision II model 3220/3221/3222:\
 #        adm12, adm20, adm21, adm22, adm31, adm36, adm42, pt100, pt200,
 #        qvt101, tvi910, tvi921, tvi92B, tvi925, tvi950, tvi970, wy30-mc,
 #        wy50-mc, wy100, wyse-vp, ampex232, regent100, viewpoint, vp90,
-#        adds980, cit101, cit500, contel300, cs10, dm80, falco, falco-p, 
+#        adds980, cit101, cit500, contel300, cs10, dm80, falco, falco-p,
 #        f1720a, go140, sb1, superbeeic, microb, ibm8512, kt7, ergo4000,
 #        owl, uts30, dmterm, dt100, dt100, dt110, appleII, apple-videx,
 #        lisa, trsII, atari, st52, pc-coherent, basis, m2-man, bg2.0, bg1.25,
@@ -17335,7 +17335,7 @@ v3220|LANPAR Vision II model 3220/3221/3222:\
 #      * Aha! The BRL terminals file told us what the Iris extensions mean.
 #      * Added, from the BRL termcap file: rt6221, rt6221-w, northstar,
 #        commodore, cdc721-esc, excel62, osexec.  Replaced from the BRL file:
-#        cit500, adm11. 
+#        cit500, adm11.
 # 9.13.9 (Mon Jul 15 00:32:51 EDT 1996):
 #      * Added, from the BRL termcap file: cdc721, cdc721l, cdc752, cdc756,
 #        aws, awsc, zentec8001, modgraph48, rca vp3301/vp3501, ex155.
@@ -17362,7 +17362,7 @@ v3220|LANPAR Vision II model 3220/3221/3222:\
 #      * corrected pairs#8 typo in dtterm entry.
 #      * added tvi9065.
 # 9.13.15 (Sun Sep 15 02:47:05 EDT 1996):
-#      * updated xterm entry to cover 3.1.2E's new features.  
+#      * updated xterm entry to cover 3.1.2E's new features.
 # 9.13.16 (Tue Sep 24 12:47:43 EDT 1996):
 #      * Added new minix entry
 #      * Removed aliases of the form ^[0-9]* for obsolete terminals.
index 46c65dae9d8780cf9a2c0af851bc7f084d5226ff..33e87aefc5dcdd0aecaa1f3977d7e28d1ec8fd32 100644 (file)
@@ -87,7 +87,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
 \def\ncolumns{\the\columnsperpage}
 
-\message{[\ncolumns\space 
+\message{[\ncolumns\space
   column\if 1\ncolumns\else s\fi\space per page]}
 
 \def\scaledmag#1{ scaled \magstep #1}
@@ -172,7 +172,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
   \def\bye{\par\vfill\supereject
     \if a\abc \else\null\vfill\eject\fi
     \if a\abc \else\null\vfill\eject\fi
-    \end}  
+    \end}
 \fi
 
 % we won't be using math mode much, so redefine some of the characters
index 0865132096653ee9837112ea66490cfc868418c1..fa7fcc262cd5d7dabfda6dd7bf5975c640ee4503 100644 (file)
@@ -95,7 +95,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
 \def\ncolumns{\the\columnsperpage}
 
-\message{[\ncolumns\space 
+\message{[\ncolumns\space
   column\if 1\ncolumns\else s\fi\space per page]}
 
 \def\scaledmag#1{ scaled \magstep #1}
@@ -180,7 +180,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
   \def\bye{\par\vfill\supereject
     \if a\abc \else\null\vfill\eject\fi
     \if a\abc \else\null\vfill\eject\fi
-    \end}  
+    \end}
 \fi
 
 % we won't be using math mode much, so redefine some of the characters
@@ -279,7 +279,7 @@ in .emacs
 
 \section{Viper States}
 
-Viper has four states: {\it emacs state}, {\it vi state}, {\it insert state}, 
+Viper has four states: {\it emacs state}, {\it vi state}, {\it insert state},
 {\it replace state}.
 Mode line tells you which state you are in.
 In emacs state you can do all the normal GNU Emacs editing.
@@ -668,7 +668,7 @@ moves 11 lines below current line to the end of buffer.
 
 \section{Ex Commands}
 
-Avoid Ex text manipulation commands except substitute. 
+Avoid Ex text manipulation commands except substitute.
 There are better VI equivalents
 for all of them. Also note that all Ex commands expand \% to
 current file name. To include a \% in the command, escape it with a $\backslash$.
index ebc66913e94018bd82ce82789525e7f67ff340b8..058b26c82d24335834ad0472109d0cbc1c829084 100755 (executable)
@@ -115,7 +115,7 @@ fi
 if [ x"$dir_arg" != x ]; then
        dst=$src
        src=""
-       
+
        if [ -d $dst ]; then
                instcmd=:
        else
@@ -124,7 +124,7 @@ if [ x"$dir_arg" != x ]; then
 else
 
 # Waiting for this to be detected by the "$instcmd $src $dsttmp" command
-# might cause directories to be created, which would be especially bad 
+# might cause directories to be created, which would be especially bad
 # if $src (and thus $dsttmp) contains '*'.
 
        if [ -f $src -o -d $src ]
@@ -134,7 +134,7 @@ else
                echo "install:  $src does not exist"
                exit 1
        fi
-       
+
        if [ x"$dst" = x ]
        then
                echo "install:  no destination specified"
@@ -162,7 +162,7 @@ dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
 
 # Skip lots of stat calls in the usual case.
 if [ ! -d "$dstdir" ]; then
-defaultIFS='   
+defaultIFS='
 '
 IFS="${IFS-${defaultIFS}}"
 
@@ -201,17 +201,17 @@ else
 
 # If we're going to rename the final executable, determine the name now.
 
-       if [ x"$transformarg" = x ] 
+       if [ x"$transformarg" = x ]
        then
                dstfile=`basename $dst`
        else
-               dstfile=`basename $dst $transformbasename | 
+               dstfile=`basename $dst $transformbasename |
                        sed $transformarg`$transformbasename
        fi
 
 # don't allow the sed command to completely eliminate the filename
 
-       if [ x"$dstfile" = x ] 
+       if [ x"$dstfile" = x ]
        then
                dstfile=`basename $dst`
        else
@@ -242,7 +242,7 @@ else
 # Now rename the file to the real destination.
 
        $doit $rmcmd -f $dstdir/$dstfile &&
-       $doit $mvcmd $dsttmp $dstdir/$dstfile 
+       $doit $mvcmd $dsttmp $dstdir/$dstfile
 
 fi &&
 
index 0d294c34bd6b838a9c08496d8f1dd96d4d75c71e..71a966b583c5958ea57d756ebaec4552d800bad3 100644 (file)
@@ -75,7 +75,7 @@
 
        * quail/vntelex.el: Use proper charset.
 
-2002-04-22  Koaunghi Un <koaunghi@ling.cnu.ac.kr>
+2002-04-22  Koaunghi Un  <koaunghi@ling.cnu.ac.kr>
 
        * quail/hanja.el ("Od"): Remove rule.
 
 
        * makefile.nt (INDIAN): Likewise.
 
-2001-11-21  KAWABATA, Taichi <batta@beige.ocn.ne.jp>
+2001-11-21  KAWABATA, Taichi  <batta@beige.ocn.ne.jp>
 
        * quail/devanagari.el: Renamed to indian.el.
 
        * quail/tibetan.el: Change all tibetan-1-column characters to
        tibetan.  Quail map for "tibetan-wylie" fixed.
 
-2000-03-31  Wlodzimierz Bzyl <matwb@monika.univ.gda.pl>
+2000-03-31  Wlodzimierz Bzyl  <matwb@monika.univ.gda.pl>
 
        * quail/latin-pre.el ("polish-slash"): New input method.
 
 
        * makefile.nt: New file.
 
-1999-10-26  Gerd Moellmann <gerd@gnu.org>
+1999-10-26  Gerd Moellmann  <gerd@gnu.org>
 
        * Makefile.noleim: New.
 
        * Makefile.in (${TIT}): To byte-compile quail packages, use just
        built quail.
 
-1997-12-09  Koaunghi Un <koanughi.un@zdv.uni-tuebingen.de>
+1997-12-09  Koaunghi Un  <koanughi.un@zdv.uni-tuebingen.de>
 
        * quail/hanja3.el: New file.
 
index c70eaa6067a3854d529fb3fc5d31f8646c781e8b..9c297ea3c5baf51033f99dbcc57ff9479853cffb 100644 (file)
@@ -78,7 +78,7 @@ CHINESE-NON-TIT=${NON-TIT-GB} ${NON-TIT-BIG5}
 
 CHINESE-GB=${TIT-GB} ${NON-TIT-GB}
 
-CHINESE-BIG5=${TIT-BIG5} ${NON-TIT-BIG5} 
+CHINESE-BIG5=${TIT-BIG5} ${NON-TIT-BIG5}
 
 JAPANESE=${srcdir}/quail/japanese.elc ${srcdir}/ja-dic/ja-dic.elc
 
index b9b55d6c0c6584fcab76b7d1328261d61057444f..4785f31ca34aa627263094b268235592e461437a 100644 (file)
@@ -19,7 +19,7 @@
 # Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 # Boston, MA 02111-1307, USA.
 
-# 
+#
 # Sets up the system dependent macros.
 #
 !include ..\nt\makefile.def
@@ -74,7 +74,7 @@ CHINESE_NON_TIT=$(NON_TIT_GB) $(NON_TIT_BIG5)
 
 CHINESE_GB=$(TIT_GB) $(NON_TIT_GB)
 
-CHINESE_BIG5=$(TIT_BIG5) $(NON_TIT_BIG5) 
+CHINESE_BIG5=$(TIT_BIG5) $(NON_TIT_BIG5)
 
 JAPANESE=$(srcdir)/quail/japanese.elc $(srcdir)/ja-dic/ja-dic.elc
 
index 6fd06dd0959e27ee8a9f63630413fab242d00bc8..0c338d19c1bb38478a6b045a162c4bba60d7eaaa 100644 (file)
@@ -72,7 +72,7 @@ CHINESE_NON_TIT=$(NON_TIT_GB) $(NON_TIT_BIG5)
 
 CHINESE_GB=$(TIT_GB) $(NON_TIT_GB)
 
-CHINESE_BIG5=$(TIT_BIG5) $(NON_TIT_BIG5) 
+CHINESE_BIG5=$(TIT_BIG5) $(NON_TIT_BIG5)
 
 JAPANESE=$(srcdir)/quail/japanese.elc $(srcdir)/ja-dic/ja-dic.elc
 
index 4ba9b9d2822f513cabaf73664f29576f8a6482d2..56ddee6e2811dd8e5724b8deb2e8a2c43d2b6035 100644 (file)
@@ -88,7 +88,7 @@
  ("," ?\e$B'R\e(B)
  ("." ?\e$B'p\e(B)
  ("/" ?\e$B!?\e(B)
+
  ("!" ?\e$B!*\e(B)
  ("@" ?\e$B!w\e(B)
  ("#" ?\e$B!t\e(B)
index 6cdb7c6d7d76a4669fdef04db709e61ca9533539..7422c5ee7331e78243c3b165c10c1bdc4e989fcf 100644 (file)
  ("," ?\e,LQ\e(B)
  ("." ?\e,Ln\e(B)
  ("/" ?/)
+
  ("!" ?!)
  ("@" ?\")
  ("#" ?')
  (">" ?\e,LN\e(B)
  ("?" ?,))
 
-;; Mikhailian couldn't check the next two.  
+;; Mikhailian couldn't check the next two.
 
 ;; This seems to have the same layout for letters as mk in XKB, but at
 ;; least the top row is different.
  ("," ?,)
  ("." ?.)
  ("/" ?-)
+
  ("!" ?!)
  ("@" ?\")
  ("#" ?#)
  ("," ?,)
  ("." ?.)
  ("/" ?-)
+
  ("!" ?!)
  ("@" ?\")
  ("#" ?#)
 ;;  ("n" ?\e,L]\e(B)
 ;;  ("m" ?\e,L\\e(B)
 ;;  ("/" ?-)
+
 ;;  ("@" ?\")
 ;;  ("^" ?&)
 ;;  ("&" ?')
 ;; happily with this little change.  [See "ukrainian-computer" below.]
 
 ;; Fixme: add GHE_WITH_UPTURN.
-(quail-define-package 
+(quail-define-package
  "cyrillic-ukrainian" "Ukrainian" "\e,L6\e(BU" nil
  "\e,L$'5@B7\e(B-\e,L&.\e(B UKRAINIAN (ISO 8859-5 encoding)
 
@@ -665,7 +665,7 @@ Sorry, but 'ghe with upturn' is not included in ISO 8859-5."
  ("," ?,)
  ("." ?.)
  ("/" ?-)
+
  ("!" ?!)
  ("@" ?\")
  ("#" ?#)
@@ -826,7 +826,7 @@ Sorry, but 'ghe with upturn' is not included in ISO 8859-5."
 ;; Alexander Mikhailian says this is of limited use.  It has been
 ;; popular among emigrants or foreigners who have to type in Cyrillic
 ;; (mostly Russian) from time to time.
-(quail-define-package 
+(quail-define-package
  "cyrillic-yawerty" "Cyrillic" "\e,L6O\e(B" nil
  "\e,LO25@BK\e(B Roman transcription (ISO 8859-5 encoding)
 
@@ -897,7 +897,7 @@ as follows.
  ("," ?,)
  ("." ?.)
  ("/" ?/)
+
  ("!" ?!)
  ("@" ?\e,Lq\e(B)
  ("#" ?\e,Lj\e(B)
@@ -945,7 +945,7 @@ as follows.
  ("<" ?<)
  (">" ?>)
  ("?" ??)
+
  ("/q" ?\e,Lr\e(B)
  ("/w" ?\e,Ls\e(B)
  ("/e" ?\e,Lt\e(B)
@@ -959,7 +959,7 @@ as follows.
  ("/a" ?\e,L|\e(B)
  ("/s" ?\e,L~\e(B)
  ("/d" ?\e,L\7f\e(B)
+
  ("/Q" ?\e,L"\e(B)
  ("/W" ?\e,L#\e(B)
  ("/E" ?\e,L$\e(B)
@@ -1005,53 +1005,53 @@ Should handle most cases. However:
 Russian alphabet: a b v=w g d e yo=jo zh z i j=j' k l m n o p r s t
 u f h=kh=x c ch sh shch=sj=/s=/sht ~ y ' e' yu=ju ya=ja=q
 
-Also included are Ukrainian \e,Lt\e(B (YE) = \"/e\" and \e,Lw\e(B (YI) = \"yi\", 
+Also included are Ukrainian \e,Lt\e(B (YE) = \"/e\" and \e,Lw\e(B (YI) = \"yi\",
 Belarusian \e,L~\e(B (SHORT U) = \"u'\",
-Serbo-Croatian \e,Lr\e(B (DJE) = \"/d\", \e,L{\e(B (CHJE)= \"/ch\", 
+Serbo-Croatian \e,Lr\e(B (DJE) = \"/d\", \e,L{\e(B (CHJE)= \"/ch\",
 Macedonian \e,Ls\e(B (GJE) = \"/g\", \e,Lu\e(B (DZE) = \"/s\", \e,L|\e(B (KJE) = \"/k\",
-cyrillic \e,Lv\e(B (I DECIMAL) = \"/i\", \e,Lx\e(B (JE) = \"/j\", 
+cyrillic \e,Lv\e(B (I DECIMAL) = \"/i\", \e,Lx\e(B (JE) = \"/j\",
 \e,Ly\e(B (LJE) = \"/l\", \e,Lz\e(B (NJE) = \"/n\" and \e,L\7f\e(B (DZE) =\"/z\"."
  nil t t t t nil nil nil nil nil t)
 
 (quail-define-rules
- ("a" ?\e,LP\e(B)("b" ?\e,LQ\e(B) ("v" ?\e,LR\e(B) ("w" ?\e,LR\e(B) ("g" ?\e,LS\e(B) ("d" ?\e,LT\e(B) 
- ("e" ?\e,LU\e(B) ("je" ?\e,LU\e(B) 
+ ("a" ?\e,LP\e(B)("b" ?\e,LQ\e(B) ("v" ?\e,LR\e(B) ("w" ?\e,LR\e(B) ("g" ?\e,LS\e(B) ("d" ?\e,LT\e(B)
+ ("e" ?\e,LU\e(B) ("je" ?\e,LU\e(B)
  ("yo" ?\e,Lq\e(B) ("jo" ?\e,Lq\e(B)
- ("zh" ?\e,LV\e(B) ("z" ?\e,LW\e(B) ("i" ?\e,LX\e(B) 
+ ("zh" ?\e,LV\e(B) ("z" ?\e,LW\e(B) ("i" ?\e,LX\e(B)
  ("j" ?\e,LY\e(B) ("j'" ?\e,LY\e(B) ("j`" ?\e,LY\e(B) ("k" ?\e,LZ\e(B) ("l" ?\e,L[\e(B)
  ("m" ?\e,L\\e(B) ("n" ?\e,L]\e(B) ("o" ?\e,L^\e(B) ("p" ?\e,L_\e(B) ("r" ?\e,L`\e(B) ("s" ?\e,La\e(B) ("t" ?\e,Lb\e(B) ("u" ?\e,Lc\e(B)
  ("f" ?\e,Ld\e(B) ("x" ?\e,Le\e(B) ("h" ?\e,Le\e(B) ("kh" ?\e,Le\e(B)
  ("c" ?\e,Lf\e(B) ("ch" ?\e,Lg\e(B)
- ("sh" ?\e,Lh\e(B) 
- ("shch" ?\e,Li\e(B) ("sj" ?\e,Li\e(B) 
- ("/sht" ?\e,Li\e(B) ("/t" ?\e,Li\e(B) 
- ("~" ?\e,Lj\e(B) ("y" ?\e,Lk\e(B) ("'" ?\e,Ll\e(B) ("`" ?\e,Ll\e(B) 
- ("e'" ?\e,Lm\e(B) ("e`" ?\e,Lm\e(B) ("@" ?\e,Lm\e(B) 
- ("yu" ?\e,Ln\e(B) ("ju" ?\e,Ln\e(B) 
+ ("sh" ?\e,Lh\e(B)
+ ("shch" ?\e,Li\e(B) ("sj" ?\e,Li\e(B)
+ ("/sht" ?\e,Li\e(B) ("/t" ?\e,Li\e(B)
+ ("~" ?\e,Lj\e(B) ("y" ?\e,Lk\e(B) ("'" ?\e,Ll\e(B) ("`" ?\e,Ll\e(B)
+ ("e'" ?\e,Lm\e(B) ("e`" ?\e,Lm\e(B) ("@" ?\e,Lm\e(B)
+ ("yu" ?\e,Ln\e(B) ("ju" ?\e,Ln\e(B)
  ("ya" ?\e,Lo\e(B) ("ja" ?\e,Lo\e(B) ("q" ?\e,Lo\e(B)
 
- ("A" ?\e,L0\e(B) ("B" ?\e,L1\e(B) ("V" ?\e,L2\e(B) ("W" ?\e,L2\e(B) ("G" ?\e,L3\e(B) ("D" ?\e,L4\e(B) 
+ ("A" ?\e,L0\e(B) ("B" ?\e,L1\e(B) ("V" ?\e,L2\e(B) ("W" ?\e,L2\e(B) ("G" ?\e,L3\e(B) ("D" ?\e,L4\e(B)
  ("E" ?\e,L5\e(B) ("Je" ?\e,L5\e(B) ("JE" ?\e,L5\e(B)
- ("Yo" ?\e,L!\e(B) ("YO" ?\e,L!\e(B) ("Jo" ?\e,L!\e(B) ("JO" ?\e,L!\e(B) 
- ("Zh" ?\e,L6\e(B) ("ZH" ?\e,L6\e(B) ("Z" ?\e,L7\e(B) ("I" ?\e,L8\e(B) 
+ ("Yo" ?\e,L!\e(B) ("YO" ?\e,L!\e(B) ("Jo" ?\e,L!\e(B) ("JO" ?\e,L!\e(B)
+ ("Zh" ?\e,L6\e(B) ("ZH" ?\e,L6\e(B) ("Z" ?\e,L7\e(B) ("I" ?\e,L8\e(B)
  ("J" ?\e,L9\e(B) ("J'" ?\e,L9\e(B) ("J`" ?\e,L9\e(B) ("K" ?\e,L:\e(B) ("L" ?\e,L;\e(B)
  ("M" ?\e,L<\e(B) ("N" ?\e,L=\e(B) ("O" ?\e,L>\e(B) ("P" ?\e,L?\e(B) ("R" ?\e,L@\e(B) ("S" ?\e,LA\e(B) ("T" ?\e,LB\e(B) ("U" ?\e,LC\e(B)
  ("F" ?\e,LD\e(B) ("X" ?\e,LE\e(B) ("H" ?\e,LE\e(B) ("Kh" ?\e,LE\e(B) ("KH" ?\e,LE\e(B)
- ("C" ?\e,LF\e(B) ("Ch" ?\e,LG\e(B) ("CH" ?\e,LG\e(B) 
- ("Sh" ?\e,LH\e(B) ("SH" ?\e,LH\e(B) 
- ("Shch" ?\e,LI\e(B) ("SHCH" ?\e,LI\e(B) ("Sj" ?\e,LI\e(B) ("SJ" ?\e,LI\e(B) 
- ("/Sht" ?\e,LI\e(B) ("/SHT" ?\e,LI\e(B) ("/T" ?\e,LI\e(B) 
- ("~~" "\e,LJ\e(B") ("Y" ?\e,LK\e(B) ("''" "\e,LL\e(B") ("E'" ?\e,LM\e(B) ("E`" ?\e,LM\e(B) 
- ("Yu" ?\e,LN\e(B) ("YU" ?\e,LN\e(B) ("Ju" ?\e,LN\e(B) ("JU" ?\e,LN\e(B) 
+ ("C" ?\e,LF\e(B) ("Ch" ?\e,LG\e(B) ("CH" ?\e,LG\e(B)
+ ("Sh" ?\e,LH\e(B) ("SH" ?\e,LH\e(B)
+ ("Shch" ?\e,LI\e(B) ("SHCH" ?\e,LI\e(B) ("Sj" ?\e,LI\e(B) ("SJ" ?\e,LI\e(B)
+ ("/Sht" ?\e,LI\e(B) ("/SHT" ?\e,LI\e(B) ("/T" ?\e,LI\e(B)
+ ("~~" "\e,LJ\e(B") ("Y" ?\e,LK\e(B) ("''" "\e,LL\e(B") ("E'" ?\e,LM\e(B) ("E`" ?\e,LM\e(B)
+ ("Yu" ?\e,LN\e(B) ("YU" ?\e,LN\e(B) ("Ju" ?\e,LN\e(B) ("JU" ?\e,LN\e(B)
  ("Ya" ?\e,LO\e(B) ("YA" ?\e,LO\e(B) ("Ja" ?\e,LO\e(B) ("JA" ?\e,LO\e(B) ("Q" ?\e,LO\e(B)
 
  ("/e" ?\e,Lt\e(B) ("yi" ?\e,Lw\e(B) ("u'" ?\e,L~\e(B)
  ("/d" ?\e,Lr\e(B) ("/ch" ?\e,L{\e(B)
  ("/g" ?\e,Ls\e(B) ("/s" ?\e,Lu\e(B) ("/k" ?\e,L|\e(B)
  ("/i" ?\e,Lv\e(B) ("/j" ?\e,Lx\e(B) ("/l" ?\e,Ly\e(B) ("/n" ?\e,Lz\e(B) ("/z" ?\e,L\7f\e(B)
- ("/E" ?\e,L$\e(B) ("YE" ?\e,L$\e(B) ("Yi" ?\e,L'\e(B) ("YI" ?\e,L'\e(B) ("U'" ?\e,L.\e(B) 
+ ("/E" ?\e,L$\e(B) ("YE" ?\e,L$\e(B) ("Yi" ?\e,L'\e(B) ("YI" ?\e,L'\e(B) ("U'" ?\e,L.\e(B)
  ("/D" ?\e,L"\e(B) ("/Ch" ?\e,L+\e(B) ("/CH" ?\e,L+\e(B)
- ("/G" ?\e,L#\e(B) ("/S" ?\e,L%\e(B) ("/K" ?\e,L,\e(B) 
+ ("/G" ?\e,L#\e(B) ("/S" ?\e,L%\e(B) ("/K" ?\e,L,\e(B)
  ("/I" ?\e,L&\e(B) ("/J" ?\e,L(\e(B) ("/L" ?\e,L)\e(B) ("/N" ?\e,L*\e(B) ("/Z" ?\e,L/\e(B)
 )
 
index b8c10f26b9a8725ff85bead06c95612343183365..8cda85ea884d38e6ba05b17d8738e3930c1e165a 100644 (file)
@@ -30,7 +30,7 @@
 
 (require 'quail)
 (require 'ethio-util)
-               
+
 ;;
 ;; The package "ethiopic"
 ;;
@@ -342,7 +342,7 @@ C-' or `M-x ethio-gemination'
  ("qqee" ?\e$(3%-\e(B)
  ("qq" ?\e$(3%.\e(B)
  ("qqo" ?\e$(3%/\e(B)
+
  ("Qe" ?\e$(3!q\e(B)
  ("Qu" ?\e$(3!r\e(B)
  ("Qi" ?\e$(3!s\e(B)
@@ -1141,7 +1141,7 @@ C-' or `M-x ethio-gemination'
 
 (defun ethio-select-a-translation ()
   ;; The translation of `a' depends on the language
-  ;; (either Tigrigna or Amharic). 
+  ;; (either Tigrigna or Amharic).
   (quail-defrule "a"
                 (if (ethio-prefer-amharic-p) ?\e$(3"c\e(B ?\e$(3"f\e(B)
                 "ethiopic"))
index a1fec0b27c3a76ecca064e956ef65161e68a5be4..25a5c4f8b1849840b80fdc2d5e9544d083d55215 100644 (file)
@@ -84,7 +84,7 @@ Sorry, accents and terminal sigma are not supported in JIS."
  ("," ?, )
  ("." ?. )
  ("/" ?\e$B!?\e(B)
-  
+
  ("!" ?\e$B!*\e(B)
  ("@" ?\e$B!w\e(B)
  ("#" ?\e$B!t\e(B)
@@ -248,7 +248,7 @@ nil t t nil nil nil nil nil nil nil t)
  ("m" ?\e$,1'<\e(B)
  ("n" ?\e$,1'=\e(B)
  ("o" ?\e$,1'?\e(B)
+
  ("p" ?\e$,1'@\e(B)
  ("q" ?\e$,1'8\e(B)
  ("r" ?\e$,1'A\e(B)
@@ -1049,7 +1049,7 @@ e.g.
 ;; 1!  2@  3#  4$  5%  6^  7&  8*  9(  0)  -_  =+  `~
 ;;  ;:  \e,FrS\e(B  \e,FeE\e(B  \e,FqQ\e(B  \e,FtT\e(B  \e,FuU\e(B  \e,FhH\e(B  \e,FiI\e(B  \e,FoO\e(B  \e,FpP\e(B  [{  ]}
 ;;   \e,FaA\e(B  \e,FsS\e(B  \e,FdD\e(B  \e,FvV\e(B  \e,FcC\e(B  \e,FgG\e(B  \e,FnN\e(B  \e,FjJ\e(B  \e,FkK\e(B  \e,F4(\e(B  '"  \|
-;;    \e,FfF\e(B  \e,FwW\e(B  \e,FxX\e(B  \e,FyY\e(B  \e,FbB\e(B  \e,FmM\e(B  \e,FlL\e(B  ,<  .>  /?  
+;;    \e,FfF\e(B  \e,FwW\e(B  \e,FxX\e(B  \e,FyY\e(B  \e,FbB\e(B  \e,FmM\e(B  \e,FlL\e(B  ,<  .>  /?
 
 (quail-define-rules
  ("1" ?1)
@@ -1099,7 +1099,7 @@ e.g.
  ("," ?,)
  ("." ?.)
  ("/" ?/)
+
  ("!" ?!)
  ("@" ?@)
  ("#" ?#)
@@ -1147,7 +1147,7 @@ e.g.
  ("<" ?<)
  (">" ?>)
  ("?" ??)
+
  (";a" ?\e,F\\e(B)
  (";e" ?\e,F]\e(B)
  (";h" ?\e,F^\e(B)
@@ -1189,7 +1189,7 @@ e.g.
 ;; 1!  2@  3#  4$  5%  6^  7&  8*  9(  0)  -_  =+  `~
 ;;  \e,F7/\e(B  \e,FrS\e(B  \e,FeE\e(B  \e,FqQ\e(B  \e,FtT\e(B  \e,FuU\e(B  \e,FhH\e(B  \e,FiI\e(B  \e,FoO\e(B  \e,FpP\e(B  [{  ]}
 ;;   \e,FaA\e(B  \e,FsS\e(B  \e,FdD\e(B  \e,FvV\e(B  \e,FcC\e(B  \e,FgG\e(B  \e,FnN\e(B  \e,FjJ\e(B  \e,FkK\e(B  \e,F4(\e(B  '"  \|
-;;    \e,FfF\e(B  \e,FwW\e(B  \e,FxX\e(B  \e,FyY\e(B  \e,FbB\e(B  \e,FmM\e(B  \e,FlL\e(B  ,;  .:  /?  
+;;    \e,FfF\e(B  \e,FwW\e(B  \e,FxX\e(B  \e,FyY\e(B  \e,FbB\e(B  \e,FmM\e(B  \e,FlL\e(B  ,;  .:  /?
 
 (quail-define-rules
  ("1" ?1)
@@ -1239,7 +1239,7 @@ e.g.
  ("," ?,)
  ("." ?.)
  ("/" ?/)
+
  ("!" ?!)
  ("@" ?@)
  ("#" ?#)
@@ -1287,7 +1287,7 @@ e.g.
  ("<" ?<)
  (">" ?>)
  ("?" ??)
+
  ("a;" ?\e,F\\e(B)
  ("e;" ?\e,F]\e(B)
  ("h;" ?\e,F^\e(B)
index 2261f857ab6f1a4ef0a7bcfccf22c7653af6789c..6cd15cccd68c8450253148598e890c70c115e90c 100644 (file)
@@ -74,14 +74,14 @@ For instance, typing \"S\" followed by TAB will tell you
  ("x"  ?\e$(C$<\e(B)
  ("v"  ?\e$(C$=\e(B)
  ("g"  ?\e$(C$>\e(B)
+
  ("R"  ?\e$(C$"\e(B)
  ("E"  ?\e$(C$(\e(B)
  ("Q"  ?\e$(C$3\e(B)
  ("W"  ?\e$(C$9\e(B)
  ("T"  ?\e$(C$6\e(B)
  ("P"  ?\e$(C$F\e(B)
+
  ("k"  ?\e$(C$?\e(B)
  ("i"  ?\e$(C$A\e(B)
  ("j"  ?\e$(C$C\e(B)
@@ -95,7 +95,7 @@ For instance, typing \"S\" followed by TAB will tell you
  ("l"  ?\e$(C$S\e(B)
  ("o"  ?\e$(C$@\e(B)
  ("O"  ?\e$(C$B\e(B)
+
  ("rk" ?\e$(C0!\e(B)
  ("rkr"        ?\e$(C0"\e(B)
  ("rks"        ?\e$(C0#\e(B)
@@ -942,7 +942,7 @@ For instance, typing \"S\" followed by TAB will tell you
  ("ahkT"       ?\e$(C8|\e(B)
  ("ahkd"       ?\e$(C8}\e(B)
  ("ahl"        ?\e$(C8~\e(B)
+
  ("ahls"       ?\e$(C9!\e(B)
  ("ahlf"       ?\e$(C9"\e(B)
  ("ahlq"       ?\e$(C9#\e(B)
@@ -977,7 +977,7 @@ For instance, typing \"S\" followed by TAB will tell you
  ("anls"       ?\e$(C9@\e(B)
  ("anlf"       ?\e$(C9A\e(B)
  ("ab" ?\e$(C9B\e(B)
+
  ("abs"        ?\e$(C9C\e(B)
  ("abf"        ?\e$(C9D\e(B)
  ("aba"        ?\e$(C9E\e(B)
@@ -2448,7 +2448,7 @@ For instance, typing \"S\" followed by TAB will tell you
  ("glq"        ?\e$(CH|\e(B)
  ("glt"        ?\e$(CH}\e(B)
  ("gld"        ?\e$(CH~\e(B)
+
  ("Z!" ?\e$(C#!\e(B)
  ("Z\""        ?\e$(C#"\e(B)
  ("Z#" ?\e$(C##\e(B)
@@ -2543,7 +2543,7 @@ For instance, typing \"S\" followed by TAB will tell you
  ("Z|" ?\e$(C#|\e(B)
  ("Z}" ?\e$(C#}\e(B)
  ("Z^-"        ?\e$(C#~\e(B)
+
  ("HS" ?\e$(C$U\e(B)
  ("Hse"        ?\e$(C$V\e(B)
  ("Hst"        ?\e$(C$W\e(B)
@@ -2586,7 +2586,7 @@ For instance, typing \"S\" followed by TAB will tell you
  ("Hbl"        ?\e$(C$|\e(B)
  ("H." ?\e$(C$}\e(B)
  ("H.l"        ?\e$(C$~\e(B)
+
  ("SY" ?\e$(C!M\e(B)
  ("SP" ?\e$(C!L\e(B)
  ("S%" ?\e$(C"6\e(B)
index c87448bcbeb12d0bf03e4d8311d50050c3f26948..a91c2ef219133fd769decc2822139198482e7064 100644 (file)
    (?\; . "\e$(C$2\e(B") (?n . "\e$(C$5\e(B") (?j . "\e$(C$7\e(B") (?l . "\e$(C$8\e(B") (?o . "\e$(C$:\e(B")
    (?0 . "\e$(C$;\e(B") (?' . "\e$(C$<\e(B") (?p . "\e$(C$=\e(B") (?m . "\e$(C$>\e(B")
    ;; second character
-   (?f . "\e$(C$?\e(B") (?r . "\e$(C$@\e(B") (?6 . "\e$(C$A\e(B") (?R . "\e$(C$B\e(B") (?t . "\e$(C$C\e(B") 
+   (?f . "\e$(C$?\e(B") (?r . "\e$(C$@\e(B") (?6 . "\e$(C$A\e(B") (?R . "\e$(C$B\e(B") (?t . "\e$(C$C\e(B")
    (?c . "\e$(C$D\e(B") (?e . "\e$(C$E\e(B") (?7 . "\e$(C$F\e(B") (?v . "\e$(C$G\e(B") (?/ . "\e$(C$G\e(B")
    (?4 . "\e$(C$K\e(B") (?b . "\e$(C$L\e(B") (?9 . "\e$(C$L\e(B") (?5 . "\e$(C$P\e(B") (?g . "\e$(C$Q\e(B")
    (?8 . "\e$(C$R\e(B") (?d . "\e$(C$S\e(B")
    ;; third character
    (?x . "\e$(C$!\e(B") (?F . "\e$(C$"\e(B") (?s . "\e$(C$$\e(B") (?S . "\e$(C$&\e(B") (?A . "\e$(C$'\e(B")
-   (?w . "\e$(C$)\e(B") (?D . "\e$(C$*\e(B") (?C . "\e$(C$+\e(B") (?V . "\e$(C$0\e(B") (?z . "\e$(C$1\e(B") 
+   (?w . "\e$(C$)\e(B") (?D . "\e$(C$*\e(B") (?C . "\e$(C$+\e(B") (?V . "\e$(C$0\e(B") (?z . "\e$(C$1\e(B")
    (?3 . "\e$(C$2\e(B") (?X . "\e$(C$4\e(B") (?q . "\e$(C$5\e(B") (?2 . "\e$(C$6\e(B") (?a . "\e$(C$7\e(B")
-   (?! . "\e$(C$8\e(B") (?Z . "\e$(C$:\e(B") (?e . "\e$(C$;\e(B") (?W . "\e$(C$<\e(B") (?Q . "\e$(C$=\e(B") 
+   (?! . "\e$(C$8\e(B") (?Z . "\e$(C$:\e(B") (?e . "\e$(C$;\e(B") (?W . "\e$(C$<\e(B") (?Q . "\e$(C$=\e(B")
    (?1 . "\e$(C$>\e(B")
    ;; other bindings
    (?G . "/")  (?T . ";")   (?H . "'")   (?B . "!")  (?Y . "<")
@@ -91,7 +91,7 @@
  ("'" ?\e$(C$<\e(B)
  ("p" ?\e$(C$=\e(B)
  ("m" ?\e$(C$>\e(B)
+
  ("f" ?\e$(C$?\e(B)
  ("r" ?\e$(C$@\e(B)
  ("6" ?\e$(C$A\e(B)
  ("g" ?\e$(C$Q\e(B)
  ("8" ?\e$(C$R\e(B)
  ("d" ?\e$(C$S\e(B)
+
  ("x" ?\e$(C$!\e(B)
  ("F" ?\e$(C$"\e(B)
  ("xx" ?\e$(C$"\e(B)
  ("W" ?\e$(C$<\e(B)
  ("Q" ?\e$(C$=\e(B)
  ("1" ?\e$(C$>\e(B)
+
  ("G" ?/)
  ("T" ?\;)
  ("H" ?')
  ("U" ?7)
  ("I" ?8)
  ("O" ?9)
+
  ("kf" ?\e$(C0!\e(B)
  ("kfx" ?\e$(C0"\e(B)
  ("kfs" ?\e$(C0#\e(B)
  ("kkd3" ?\e$(C3'\e(B)
  ("kkdq" ?\e$(C3(\e(B)
  ("kkda" ?\e$(C3)\e(B)
+
  ("hf" ?\e$(C3*\e(B)
  ("hfx" ?\e$(C3+\e(B)
  ("hfF" ?\e$(C3,\e(B)
  ("hdq" ?\e$(C4V\e(B)
  ("hda" ?\e$(C4W\e(B)
  ("hdQ" ?\e$(C4X\e(B)
+
  ("uf" ?\e$(C4Y\e(B)
  ("ufx" ?\e$(C4Z\e(B)
  ("ufF" ?\e$(C4[\e(B)
  ("udqq" ?\e$(C5x\e(B)
  ("uda" ?\e$(C5y\e(B)
  ("ud!" ?\e$(C5z\e(B)
+
  ("uuf" ?\e$(C5{\e(B)
  ("uufx" ?\e$(C5|\e(B)
  ("uufs" ?\e$(C5}\e(B)
  ("uud3" ?\e$(C6p\e(B)
  ("uudq" ?\e$(C6q\e(B)
  ("uuda" ?\e$(C6r\e(B)
+
  ("yf" ?\e$(C6s\e(B)
  ("yfx" ?\e$(C6t\e(B)
  ("yfs" ?\e$(C6u\e(B)
  ("yd3" ?\e$(C83\e(B)
  ("ydq" ?\e$(C84\e(B)
  ("yda" ?\e$(C85\e(B)
+
  ("if" ?\e$(C86\e(B)
  ("ifx" ?\e$(C87\e(B)
  ("ifs" ?\e$(C88\e(B)
  ("ida" ?\e$(C9V\e(B)
  ("idZ" ?\e$(C9W\e(B)
  ("idW" ?\e$(C9X\e(B)
+
  (";f" ?\e$(C9Y\e(B)
  (";fx" ?\e$(C9Z\e(B)
  (";fF" ?\e$(C9[\e(B)
  (";;d3" ?\e$(C;d\e(B)
  (";;dq" ?\e$(C;e\e(B)
  (";;da" ?\e$(C;f\e(B)
+
  ("nf" ?\e$(C;g\e(B)
  ("nfx" ?\e$(C;h\e(B)
  ("nfxq" ?\e$(C;i\e(B)
  ("nnd3" ?\e$(C>C\e(B)
  ("nndq" ?\e$(C>D\e(B)
  ("nnda" ?\e$(C>E\e(B)
+
  ("jf" ?\e$(C>F\e(B)
  ("jfx" ?\e$(C>G\e(B)
  ("jfs" ?\e$(C>H\e(B)
  ("jda" ?\e$(C@W\e(B)
  ("jd!" ?\e$(C@X\e(B)
  ("jdQ" ?\e$(C@Y\e(B)
+
  ("lf" ?\e$(C@Z\e(B)
  ("lfx" ?\e$(C@[\e(B)
  ("lfs" ?\e$(C@\\e(B)
  ("llda" ?\e$(CBt\e(B)
  ("lld!" ?\e$(CBu\e(B)
  ("lld1" ?\e$(CBv\e(B)
+
  ("of" ?\e$(CBw\e(B)
  ("ofx" ?\e$(CBx\e(B)
  ("ofs" ?\e$(CBy\e(B)
  ("od3" ?\e$(CD(\e(B)
  ("odq" ?\e$(CD)\e(B)
  ("oda" ?\e$(CD*\e(B)
+
  ("0f" ?\e$(CD+\e(B)
  ("0fx" ?\e$(CD,\e(B)
  ("0fs" ?\e$(CD-\e(B)
  ("0d3" ?\e$(CE5\e(B)
  ("0dq" ?\e$(CE6\e(B)
  ("0da" ?\e$(CE7\e(B)
+
  ("'f" ?\e$(CE8\e(B)
  ("'fx" ?\e$(CE9\e(B)
  ("'fs" ?\e$(CE:\e(B)
  ("'d3" ?\e$(CFA\e(B)
  ("'dq" ?\e$(CFB\e(B)
  ("'da" ?\e$(CFC\e(B)
+
  ("pf" ?\e$(CFD\e(B)
  ("pfx" ?\e$(CFE\e(B)
  ("pfF" ?\e$(CFF\e(B)
  ("pd3" ?\e$(CGL\e(B)
  ("pdq" ?\e$(CGM\e(B)
  ("pda" ?\e$(CGN\e(B)
+
  ("mf" ?\e$(CGO\e(B)
  ("mfx" ?\e$(CGP\e(B)
  ("mfs" ?\e$(CGQ\e(B)
index 4e8999b740d86944e8179b49368cc1bf4e219ae3..10106dfad269ef73c224788f31062343aa20205f 100644 (file)
@@ -32,7 +32,7 @@
 (require 'quail)
 (require 'korea-util)
 
-(quail-define-package 
+(quail-define-package
  "korean-hanja" "Korean" "\e$(CyS\e(B2" t
  "2\e$(C9z=D\e(BKSC\e$(CySm.\e(B: \e$(Cz1SWGO4B\e(B \e$(CySm.@G\e(B \e$(Cj$@;\e(B \e$(CGQ1[\e(B2\e$(C9zcR@87N\e(B \e$(C{<usGO?)\e(B \e$(C`TwI\e(B"
                      nil nil nil nil nil nil t)
index f52449b6cc6ac3d711a502ec257301de5fd0aac1..5bd2c8bb49a75422dc01e6e88022647ff7321bd6 100644 (file)
@@ -39,7 +39,7 @@ Hebrew letters are assigned to lowercases.
 ;;   /Q 'W \e,Hw\e(BE \e,Hx\e(BR \e,H`\e(BT \e,Hh\e(BY \e,He\e(BU \e,Ho\e(BI \e,Hm\e(BO \e,Ht\e(BP {[ {]
 ;;    \e,Hy\e(BA \e,Hc\e(BS \e,Hb\e(BD \e,Hk\e(BF \e,Hr\e(BG \e,Hi\e(BH \e,Hg\e(BJ \e,Hl\e(BK \e,Hj\e(BL :\e,Hs\e(B ", |\
 ;;     \e,Hf\e(BZ \e,Hq\e(BX \e,Ha\e(BC \e,Hd\e(BV \e,Hp\e(BB \e,Hn\e(BN \e,Hv\e(BM <\e,Hz\e(B >\e,Hu\e(B ?.
-;;                      
+;;
 
 (quail-define-rules
  ("`" ?\;)
index ffb8a150c59bd1a862591cffcfd5a5ae65b4bcdb..e859c63bdc6c31e2d249f81a06d7b9bd5bb5774f 100644 (file)
@@ -56,7 +56,7 @@
              (setq unread-command-events
                    (list (aref quail-current-key control-flag)))))))
   control-flag)
-        
+
 ;; Convert Hiragana <-> Katakana in the current translation region.
 (defun quail-japanese-toggle-kana ()
   (interactive)
     ("ra" "\e$B$i\e(B") ("ri" "\e$B$j\e(B") ("ru" "\e$B$k\e(B") ("re" "\e$B$l\e(B") ("ro" "\e$B$m\e(B")
     ("la" "\e$B$i\e(B") ("li" "\e$B$j\e(B") ("lu" "\e$B$k\e(B") ("le" "\e$B$l\e(B") ("lo" "\e$B$m\e(B")
     ("wa" "\e$B$o\e(B") ("wi" "\e$B$p\e(B") ("wu" "\e$B$&\e(B") ("we" "\e$B$q\e(B") ("wo" "\e$B$r\e(B")
-    ("n'" "\e$B$s\e(B")                               
+    ("n'" "\e$B$s\e(B")
     ("ga" "\e$B$,\e(B") ("gi" "\e$B$.\e(B") ("gu" "\e$B$0\e(B") ("ge" "\e$B$2\e(B") ("go" "\e$B$4\e(B")
     ("za" "\e$B$6\e(B") ("zi" "\e$B$8\e(B") ("zu" "\e$B$:\e(B") ("ze" "\e$B$<\e(B") ("zo" "\e$B$>\e(B")
     ("da" "\e$B$@\e(B") ("di" "\e$B$B\e(B") ("du" "\e$B$E\e(B") ("de" "\e$B$G\e(B") ("do" "\e$B$I\e(B")
@@ -461,7 +461,7 @@ qh: shift to the input method `japanese',
 ("p" "\e$B#p\e(B") ("q" "\e$B#q\e(B") ("r" "\e$B#r\e(B") ("s" "\e$B#s\e(B")
 ("t" "\e$B#t\e(B") ("u" "\e$B#u\e(B") ("v" "\e$B#v\e(B") ("w" "\e$B#w\e(B")
 ("x" "\e$B#x\e(B") ("y" "\e$B#y\e(B") ("z" "\e$B#z\e(B") ("{" "\e$B!P\e(B")
-("|" "\e$B!C\e(B") ("}" "\e$B!Q\e(B") ("~" "\e$B!A\e(B") 
+("|" "\e$B!C\e(B") ("}" "\e$B!Q\e(B") ("~" "\e$B!A\e(B")
 
 ("qq" quail-japanese-switch-package)
 ("qh" quail-japanese-switch-package)
@@ -527,7 +527,7 @@ qq: toggle between this input method and the input method `japanese-ascii'.
       (setq quail-current-str (japanese-katakana quail-current-str)))
   control-flag)
 
-(quail-define-package 
+(quail-define-package
  "japanese-katakana" "Japanese" "\e$B%"\e(B"
  nil
  "Japanese katakana input method by Roman transliteration."
index 22eec0939812fb96b3569b1594c58c77391967b4..ea0e1ba4448cf16b3f3ea59942e940875fa50ec1 100644 (file)
@@ -1552,7 +1552,7 @@ Uses the `mule-unicode-0100-24ff' charset to supplement Latin-1.
              | prefix  |
  ------------+---------+----------
   diaeresis  |    \"    | \"a -> \e,Ad\e(B
+
 Doubling the postfix separates the letter and postfix: e.g. a'' -> a'
 " nil t nil nil nil nil nil nil nil nil t)
 
@@ -1560,64 +1560,64 @@ Doubling the postfix separates the letter and postfix: e.g. a'' -> a'
  ("fl." ?\e$,1!R\e(B) ;; LATIN SMALL LETTER F WITH HOOK (florin currency symbol)
  ("eur." ?\e$,1tL\e(B) ;; EURO SIGN
  ;; \e$,1r|\e(BThe 25th letter of the Dutch alphabet.\e$,1r}\e(B
- ("ij" ?\e$,1 S\e(B) ;; LATIN SMALL LIGATURE IJ   
- ("IJ" ?\e$,1 R\e(B) ;; LATIN CAPITAL LIGATURE IJ   
+ ("ij" ?\e$,1 S\e(B) ;; LATIN SMALL LIGATURE IJ
+ ("IJ" ?\e$,1 R\e(B) ;; LATIN CAPITAL LIGATURE IJ
  ;; \e$,1r|\e(BTrema on the second letter of vowel pair.\e$,1r}\e(B  Yudit uses `:', not `"'.
- ("\"a" ?\e,Ad\e(B) ;; LATIN SMALL LETTER A WITH DIAERESIS 
- ("\"e" ?\e,Ak\e(B) ;; LATIN SMALL LETTER E WITH DIAERESIS 
- ("\"i" ?\e,Ao\e(B) ;; LATIN SMALL LETTER I WITH DIAERESIS 
- ("\"o" ?\e,Av\e(B) ;; LATIN SMALL LETTER O WITH DIAERESIS 
- ("\"u" ?\e,A|\e(B) ;; LATIN SMALL LETTER U WITH DIAERESIS 
- ("\"A" ?\e,AD\e(B) ;; LATIN CAPITAL LETTER A WITH DIAERESIS 
- ("\"E" ?\e,AK\e(B) ;; LATIN CAPITAL LETTER E WITH DIAERESIS 
- ("\"I" ?\e,AO\e(B) ;; LATIN CAPITAL LETTER I WITH DIAERESIS 
- ("\"O" ?\e,AV\e(B) ;; LATIN CAPITAL LETTER O WITH DIAERESIS 
- ("\"U" ?\e,A\\e(B) ;; LATIN CAPITAL LETTER U WITH DIAERESIS 
+ ("\"a" ?\e,Ad\e(B) ;; LATIN SMALL LETTER A WITH DIAERESIS
+ ("\"e" ?\e,Ak\e(B) ;; LATIN SMALL LETTER E WITH DIAERESIS
+ ("\"i" ?\e,Ao\e(B) ;; LATIN SMALL LETTER I WITH DIAERESIS
+ ("\"o" ?\e,Av\e(B) ;; LATIN SMALL LETTER O WITH DIAERESIS
+ ("\"u" ?\e,A|\e(B) ;; LATIN SMALL LETTER U WITH DIAERESIS
+ ("\"A" ?\e,AD\e(B) ;; LATIN CAPITAL LETTER A WITH DIAERESIS
+ ("\"E" ?\e,AK\e(B) ;; LATIN CAPITAL LETTER E WITH DIAERESIS
+ ("\"I" ?\e,AO\e(B) ;; LATIN CAPITAL LETTER I WITH DIAERESIS
+ ("\"O" ?\e,AV\e(B) ;; LATIN CAPITAL LETTER O WITH DIAERESIS
+ ("\"U" ?\e,A\\e(B) ;; LATIN CAPITAL LETTER U WITH DIAERESIS
  ;; \e$,1r|\e(BAcute, marking emphasis on long vowels\e$,1r}\e(B:
- ("a'" ?\e,Aa\e(B) ;; LATIN SMALL LETTER A WITH ACUTE 
- ("e'" ?\e,Ai\e(B) ;; LATIN SMALL LETTER E WITH ACUTE 
- ("i'" ?\e,Am\e(B) ;; LATIN SMALL LETTER I WITH ACUTE 
- ("o'" ?\e,As\e(B) ;; LATIN SMALL LETTER O WITH ACUTE 
- ("u'" ?\e,Az\e(B) ;; LATIN SMALL LETTER U WITH ACUTE 
- ("A'" ?\e,AA\e(B) ;; LATIN CAPITAL LETTER A WITH ACUTE 
- ("E'" ?\e,AI\e(B) ;; LATIN CAPITAL LETTER E WITH ACUTE 
- ("I'" ?\e,AM\e(B) ;; LATIN CAPITAL LETTER I WITH ACUTE 
- ("O'" ?\e,AS\e(B) ;; LATIN CAPITAL LETTER O WITH ACUTE 
- ("U'" ?\e,AZ\e(B) ;; LATIN CAPITAL LETTER U WITH ACUTE 
+ ("a'" ?\e,Aa\e(B) ;; LATIN SMALL LETTER A WITH ACUTE
+ ("e'" ?\e,Ai\e(B) ;; LATIN SMALL LETTER E WITH ACUTE
+ ("i'" ?\e,Am\e(B) ;; LATIN SMALL LETTER I WITH ACUTE
+ ("o'" ?\e,As\e(B) ;; LATIN SMALL LETTER O WITH ACUTE
+ ("u'" ?\e,Az\e(B) ;; LATIN SMALL LETTER U WITH ACUTE
+ ("A'" ?\e,AA\e(B) ;; LATIN CAPITAL LETTER A WITH ACUTE
+ ("E'" ?\e,AI\e(B) ;; LATIN CAPITAL LETTER E WITH ACUTE
+ ("I'" ?\e,AM\e(B) ;; LATIN CAPITAL LETTER I WITH ACUTE
+ ("O'" ?\e,AS\e(B) ;; LATIN CAPITAL LETTER O WITH ACUTE
+ ("U'" ?\e,AZ\e(B) ;; LATIN CAPITAL LETTER U WITH ACUTE
  ;; \e$,1r|\e(BGrave, marking emphasis on short vowels\e$,1r}\e(B:
  ("a`" ?\e,A`\e(B) ;; LATIN SMALL LETTER A WITH GRAVE
- ("e`" ?\e,Ah\e(B) ;; LATIN SMALL LETTER E WITH GRAVE 
- ("i`" ?\e,Al\e(B) ;; LATIN SMALL LETTER I WITH GRAVE 
- ("o`" ?\e,Ar\e(B) ;; LATIN SMALL LETTER O WITH GRAVE 
- ("u`" ?\e,Ay\e(B) ;; LATIN SMALL LETTER U WITH GRAVE 
- ("A`" ?\e,A@\e(B) ;; LATIN CAPITAL LETTER A WITH GRAVE 
- ("E`" ?\e,AH\e(B) ;; LATIN CAPITAL LETTER E WITH GRAVE 
- ("I`" ?\e,AL\e(B) ;; LATIN CAPITAL LETTER I WITH GRAVE 
- ("O`" ?\e,AR\e(B) ;; LATIN CAPITAL LETTER O WITH GRAVE 
+ ("e`" ?\e,Ah\e(B) ;; LATIN SMALL LETTER E WITH GRAVE
+ ("i`" ?\e,Al\e(B) ;; LATIN SMALL LETTER I WITH GRAVE
+ ("o`" ?\e,Ar\e(B) ;; LATIN SMALL LETTER O WITH GRAVE
+ ("u`" ?\e,Ay\e(B) ;; LATIN SMALL LETTER U WITH GRAVE
+ ("A`" ?\e,A@\e(B) ;; LATIN CAPITAL LETTER A WITH GRAVE
+ ("E`" ?\e,AH\e(B) ;; LATIN CAPITAL LETTER E WITH GRAVE
+ ("I`" ?\e,AL\e(B) ;; LATIN CAPITAL LETTER I WITH GRAVE
+ ("O`" ?\e,AR\e(B) ;; LATIN CAPITAL LETTER O WITH GRAVE
  ("U`" ?\e,AY\e(B) ;; LATIN CAPITAL LETTER U WITH GRAVE
  ;; \e$,1r|\e(BCater for the use of many French words and use of the circumflex
  ;; in Frisian.\e$,1r}\e(B  Yudit used `;' for cedilla.
- ("c," ?\e,Ag\e(B) ;; LATIN SMALL LETTER C WITH CEDILLA 
- ("C," ?\e,AG\e(B) ;; LATIN CAPITAL LETTER C WITH CEDILLA 
- ("a^" ?\e,Ab\e(B) ;; LATIN SMALL LETTER A WITH CIRCUMFLEX 
- ("e^" ?\e,Aj\e(B) ;; LATIN SMALL LETTER E WITH CIRCUMFLEX 
- ("i^" ?\e,An\e(B) ;; LATIN SMALL LETTER I WITH CIRCUMFLEX 
- ("o^" ?\e,At\e(B) ;; LATIN SMALL LETTER O WITH CIRCUMFLEX 
- ("u^" ?\e,A{\e(B) ;; LATIN SMALL LETTER U WITH CIRCUMFLEX 
- ("A^" ?\e,AB\e(B) ;; LATIN CAPITAL LETTER A WITH CIRCUMFLEX 
- ("E^" ?\e,AJ\e(B) ;; LATIN CAPITAL LETTER E WITH CIRCUMFLEX 
- ("I^" ?\e,AN\e(B) ;; LATIN CAPITAL LETTER I WITH CIRCUMFLEX 
- ("O^" ?\e,AT\e(B) ;; LATIN CAPITAL LETTER O WITH CIRCUMFLEX 
+ ("c," ?\e,Ag\e(B) ;; LATIN SMALL LETTER C WITH CEDILLA
+ ("C," ?\e,AG\e(B) ;; LATIN CAPITAL LETTER C WITH CEDILLA
+ ("a^" ?\e,Ab\e(B) ;; LATIN SMALL LETTER A WITH CIRCUMFLEX
+ ("e^" ?\e,Aj\e(B) ;; LATIN SMALL LETTER E WITH CIRCUMFLEX
+ ("i^" ?\e,An\e(B) ;; LATIN SMALL LETTER I WITH CIRCUMFLEX
+ ("o^" ?\e,At\e(B) ;; LATIN SMALL LETTER O WITH CIRCUMFLEX
+ ("u^" ?\e,A{\e(B) ;; LATIN SMALL LETTER U WITH CIRCUMFLEX
+ ("A^" ?\e,AB\e(B) ;; LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ ("E^" ?\e,AJ\e(B) ;; LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ ("I^" ?\e,AN\e(B) ;; LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ ("O^" ?\e,AT\e(B) ;; LATIN CAPITAL LETTER O WITH CIRCUMFLEX
  ("U^" ?\e,A[\e(B) ;; LATIN CAPITAL LETTER U WITH CIRCUMFLEX
  ;; \e$,1r|\e(BFollow the example of the Dutch POSIX locale, using ISO-8859-9 to
  ;; cater to the many Turks in Dutch society.\e$,1r}\e(B  Perhaps German methods
  ;; should do so too.  Follow turkish-alt-postfix here.
  ("i/" ?\e$,1 Q\e(B) ;; LATIN SMALL LETTER I WITH NO DOT
- ("s," ?\e$,1 \7f\e(B) ;; LATIN SMALL LETTER S WITH CEDILLA 
- ("g^" ?\e$,1 ?\e(B) ;; LATIN SMALL LETTER G WITH BREVE 
+ ("s," ?\e$,1 \7f\e(B) ;; LATIN SMALL LETTER S WITH CEDILLA
+ ("g^" ?\e$,1 ?\e(B) ;; LATIN SMALL LETTER G WITH BREVE
  ("I/" ?\e$,1 P\e(B) ;; LATIN CAPITAL LETTER I WITH DOT ABOVE
- ("S," ?\e$,1 ~\e(B) ;; LATIN CAPITAL LETTER S WITH CEDILLA 
- ("G^" ?\e$,1 >\e(B) ;; LATIN CAPITAL LETTER G WITH BREVE 
+ ("S," ?\e$,1 ~\e(B) ;; LATIN CAPITAL LETTER S WITH CEDILLA
+ ("G^" ?\e$,1 >\e(B) ;; LATIN CAPITAL LETTER G WITH BREVE
  )
 
 ;; Originally from Yudit, discussed with Albertas Agejevas
index 16060f7ab1437a9dbe147d2229cf6075378d7cc5..afb6810862765c5b38230b806c9d8432d1d24f75 100644 (file)
@@ -62,7 +62,7 @@ system, including many technical ones.  Examples:
  ("$^1$" ?\e,A9\e(B)
  ("$^o$" ?\e,A:\e(B)
  ("?`" ?\e,A?\e(B)
+
  ("\\`{A}" ?\e,A@\e(B)  ("\\`A" ?\e,A@\e(B)
  ("\\'{A}" ?\e,AA\e(B)  ("\\'A" ?\e,AA\e(B)
  ("\\^{A}" ?\e,AB\e(B)  ("\\^A" ?\e,AB\e(B)
index 3244ff678fa0fc66735b70353fe4d8aab8abfaf6..67c490be628ee7b242e564c01636660592cff065 100644 (file)
@@ -26,7 +26,7 @@
 ;;; Commentary:
 
 ;; Key translation maps were originally copied from iso-acc.el.
-;; latin-1-prefix: extra special characters added, adapted from the vim 
+;; latin-1-prefix: extra special characters added, adapted from the vim
 ;;                 digraphs (from J.H.M.Dassen <jdassen@wi.leidenuniv.nl>)
 ;;                 by R.F. Smith <rsmith@xs4all.nl>
 ;;
@@ -710,7 +710,7 @@ For example, the character named `aogonek' is obtained by `/a'."
  ("/e" ?\e,Bj\e(B)
  ("/l" ?\e,B3\e(B)
  ("/n" ?\e,Bq\e(B)
- ("/o" ?\e,Bs\e(B) 
+ ("/o" ?\e,Bs\e(B)
  ("/s" ?\e,B6\e(B)
  ("/x" ?\e,B<\e(B)
  ("/z" ?\e,B?\e(B)
@@ -719,7 +719,7 @@ For example, the character named `aogonek' is obtained by `/a'."
  ("/E" ?\e,BJ\e(B)
  ("/L" ?\e,B#\e(B)
  ("/N" ?\e,BQ\e(B)
- ("/O" ?\e,BS\e(B) 
+ ("/O" ?\e,BS\e(B)
  ("/S" ?\e,B&\e(B)
  ("/X" ?\e,B,\e(B)
  ("/Z" ?\e,B/\e(B))
index 3a2b777793de7a306a54a887e530c5872fb384dd..e12219f83f75522cffa61ef5604b33ad36d2aac9 100644 (file)
   '((base-state (lao-transcription-consonant-alist . sv-state)
                lao-transcription-vowel-alist
                lao-transcription-tone-alist)
-    (sv-state (lao-transcription-semi-vowel-alist . v-state) 
+    (sv-state (lao-transcription-semi-vowel-alist . v-state)
              (lao-transcription-vowel-alist . mt-state))
     (v-state (lao-transcription-vowel-alist . mt-state))
-    (mt-state (lao-transcription-maa-sakod-alist . t-state) 
+    (mt-state (lao-transcription-maa-sakod-alist . t-state)
              lao-transcription-tone-alist)
     (t-state lao-transcription-tone-alist))))
 
index 72164f0bc48e3f81dd28ae490afe20bf699f4521..a21d3c5fa141e1e23927925c08d55f2a208b1916 100644 (file)
@@ -82,7 +82,7 @@ The difference from the ordinal Thai keyboard:
     Don't know where to assign characters '\e,Tz\e(B' and '\e,T{\e(B'."
  nil t t t t nil nil nil 'quail-thai-update-translation nil t)
 
-(quail-install-map 
+(quail-install-map
  (thai-generate-quail-map
   [
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0     ; control codes
@@ -110,7 +110,7 @@ The difference from the ordinal Thai keyboard:
  "Thai Pattachote input method with TIS620 keyboard layout"
  nil t t t t nil nil nil 'quail-thai-update-translation nil t)
 
-(quail-install-map 
+(quail-install-map
  (thai-generate-quail-map
   [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0    ; control codes
     0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0    ; control codes
index 75ca75e3465a2de299d9abba812c2cd8774f0723..2bca014a7f8a498682406c55a8597fc9ba546cf5 100644 (file)
     ("O" . "T")                                ; Ta
     ("p" . "th")                       ; tha
     ("P" . "TH")                       ; THa
-    ("[" . "d")                                ; da 
+    ("[" . "d")                                ; da
     ("{" . "D")                                ; Da
     ("]" . "n")                                ; na
     ("}" . "N")                                ; Na
     ("hO" . "+T")                      ; Ta
     ("hp" . "+th")                     ; tha
     ("hP" . "+TH")                     ; THa
-    ("h[" . "+d")                      ; da 
+    ("h[" . "+d")                      ; da
     ("h{" . "+D")                      ; Da
     ("h]" . "+n")                      ; na
     ("h}" . "+N")                      ; Na
-    ("ha" . "+p")                      ; pa 
+    ("ha" . "+p")                      ; pa
     ("hs" . "+ph")                     ; pha
     ("hd" . "+b")                      ; ba
     ("hf" . "+m")                      ; ma
     ("(" . "\e$(7!l\e(B")
     ("0" . "\e$(7!P\e(B")
     (")" . "\e$(7!m\e(B")
-;;; ("-" ) ; enphatic, not yet supported 
+;;; ("-" ) ; enphatic, not yet supported
 ;;; ("_" ) ; id.
 ;;; ("=" ) ; special sign, not yet supported
     ("+" . "\e$(7!A\e(B")
       |A  |S  |D  |F\e$(7"_\e(B|G\e$(7"S\e(B|H\e$(7"e\e(B|J\e$(7"[\e(B|K  |L  |:\e$(7"`\e(B|\"\e$(7#>\e(B|
       +-------------------------------------------+
          |Z  |X  |C\e$(7"R\e(B|V\e$(7#B\e(B|B\e$(7#C\e(B|N\e$(7#D\e(B|M\e$(7"F\e(B|<  |>  |?\e$(7!=\e(B |
-         +---------------------------------------+        
+         +---------------------------------------+
 
   DIFFERENCE FROM THE ORIGINAL TIBKEY:
 
index 0184b67056724ddcdc4753102bfd6d33cf9add7e..9748e446b0ee7c4cb13575118afcde008503ddf0 100644 (file)
@@ -400,7 +400,7 @@ and postfix: Eee -> Ee, ajj -> aj, etc.
 ;("$$$" ["$$"])
 
  ;; escape from composition
- ("\\w" ?w)    ; breve or horn 
+ ("\\w" ?w)    ; breve or horn
  ("\\W" ?W)
  ("\\a" ?a)    ; a circumflex
  ("\\A" ?A)    ; A circumflex
index 39266208b23dae034ddf7725fd8f6b5ac314f8f8..c983be1cce200e0e9c9b4d5cc60b36bae3bec39b 100644 (file)
@@ -3746,7 +3746,7 @@ Tue Jul  1 01:09:07 1997  Geoff Voelker  <voelker@cs.washington.edu>
        * b2m.c: Use <...> to include config.h.
        Don't include stdlib.h.
 
-1994-03-03  Heiko Muenkel (muenkel@tnt.uni-hannover.de)
+1994-03-03  Heiko Muenkel  (muenkel@tnt.uni-hannover.de)
 
        * b2m.c (main): Change delimiter from "^L" to "^_^L".
        Allow for text following "BABYL OPTIONS:".
@@ -3963,7 +3963,7 @@ Tue Jul  1 01:09:07 1997  Geoff Voelker  <voelker@cs.washington.edu>
 
        * Version 19.20 released.
 
-1993-11-08  Tom Hageman (tom@basil.icce.rug.nl)
+1993-11-08  Tom Hageman  (tom@basil.icce.rug.nl)
 
        * etags.c: (C_entries): Keep track of ()-parenthesis level so that
        functions returning a pointer to a function, a la `signal', can be
index 40738fd01ed92efcd3a444da209ebe0e1fab7add..86f9b948b3205491fa50f419ace30154e96e70a6 100644 (file)
@@ -30,7 +30,7 @@ use Mail::Address;
 use Date::Parse;
 
 my($whoami) = basename $0;
-my($version) = '$Revision: 1.3 $';
+my($version) = '$Revision: 1.4 $';
 my($usage) = "Usage: $whoami [--help] [--version] [--[no]full-headers] [Babyl-file]
 \tBy default, full headers are printed.\n";
 
@@ -80,7 +80,7 @@ while (<>) {
     $labels = $1;
 
     # Strip the integer indicating whether the header is pruned
-    $labels =~ s/^(\d+)[,\s]*//; 
+    $labels =~ s/^(\d+)[,\s]*//;
     $pruned = $1;
 
     s/(?:((?:.+\n)+)\n*)?\*\*\* EOOH \*\*\*\n+// || goto malformatted;
@@ -113,7 +113,7 @@ while (<>) {
     $labels =~ s/[,\s]+$//;
     # Now collapse extra commas and whitespace in the remaining label string
     $labels =~ s/[,\s]+/, /g;
-    
+
     foreach my $rmail_header qw(summary-line x-coding-system) {
        $full_header =~ s/(^|\n)$rmail_header:.*\n/$1/i;
     }
index 87c6526c31585776c002018d86c73258f6a36944..611c0f74c7d7d2bf6f5c7f6c11372f7c2c5df697 100644 (file)
@@ -2511,7 +2511,7 @@ parm_list (flags)
     {
       switch (LA1)
         {
-         /* Skip over grouping parens or parameter lists in parameter 
+         /* Skip over grouping parens or parameter lists in parameter
             declarations.  */
         case '(':
           skip_matching ();
@@ -3148,7 +3148,7 @@ class_definition (containing, tag, flags, nested)
      settings.  */
   if ((tag != CLASS && !f_structs) || (nested && !f_nested_classes))
     current = NULL;
-  else 
+  else
     {
       current = add_sym (yytext, containing);
       current->pos = BUFFER_POS ();
@@ -3167,7 +3167,7 @@ class_definition (containing, tag, flags, nested)
         {
           switch (LA1)
             {
-            case VIRTUAL: case PUBLIC: case PROTECTED: case PRIVATE: 
+            case VIRTUAL: case PUBLIC: case PROTECTED: case PRIVATE:
               MATCH ();
               break;
 
index 191deb9547195e40c16f5498f53942d47b499da6..dcbc20feeed1d620c6570e22730c05a03b2cbd3d 100644 (file)
@@ -189,7 +189,7 @@ time_delta (now_sec, now_usec, prev_sec, prev_usec)
 /*
  * Filter function to translate selected input events for emacs
  * Mouse button events become ^X^@(button x-col y-line time-delta) .
- * Function keys: ESC-*{c}{lrt} l,r,t for Left, Right, Top; 
+ * Function keys: ESC-*{c}{lrt} l,r,t for Left, Right, Top;
  * {c} encodes the keynumber as a character [a-o]
  */
 static Notify_value
index 0b90eba8953294625e6d6d779f8fc2b2c33e3eea..ed6dde3a0bf61bf9073d5d9605bb9fa0300bef3d 100644 (file)
@@ -299,7 +299,7 @@ scan_keyword_or_put_char (ch, state)
          while (ch != ' ' && ch != ')');
          put_char ('f', state);
          put_char ('n', state);
-         
+
          /* Put back the last character.  */
          ungetc (ch, state->in_file);
        }
index eef221ab0c39dca46ad6d1d69981fb5c0dd8c40f..d95532163378dcfe712a449a01ebe5f343b43a5a 100644 (file)
@@ -3,24 +3,24 @@
 #  Copyright (C) 1994 Free Software Foundation, Inc.
 #
 #  This file is part of GNU Emacs.
-#  
+#
 #  GNU Emacs is free software; you can redistribute it and/or modify
 #  it under the terms of the GNU General Public License as published by
 #  the Free Software Foundation; either version 2, or (at your option)
 #  any later version.
-#  
+#
 #  GNU Emacs is distributed in the hope that it will be useful,
 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 #  GNU General Public License for more details.
-#  
+#
 #  You should have received a copy of the GNU General Public License
 #  along with GNU Emacs; see the file COPYING.  If not, write to the
 #  Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 #  Boston, MA 02111-1307, USA.
 #
 
-# 
+#
 # Sets up the system dependent macros.
 #
 !include ..\nt\makefile.def
@@ -139,7 +139,7 @@ $(BLD)\ebrowse.obj: ebrowse.c ..\src\config.h
 #
 # From ..\src\makefile.nt.
 #
-obj = abbrev.c alloc.c alloca.c buffer.c bytecode.c callint.c callproc.c casefiddle.c cm.c cmds.c charset.c coding.c category.c ccl.c data.c dired.c dispnew.c doc.c  doprnt.c editfns.c emacs.c eval.c fileio.c filelock.c filemode.c fns.c fontset.c indent.c insdel.c keyboard.c keymap.c lastfile.c lread.c macros.c marker.c minibuf.c xfaces.c print.c process.c regex.c scroll.c search.c syntax.c sysdep.c term.c termcap.c tparam.c undo.c unexw32.c window.c xdisp.c casetab.c floatfns.c frame.c gmalloc.c intervals.c ralloc.c textprop.c vm-limit.c region-cache.c strftime.c w32.c w32console.c w32faces.c w32fns.c w32heap.c w32inevt.c w32proc.c w32reg.c w32menu.c w32select.c w32term.c w32xfns.c 
+obj = abbrev.c alloc.c alloca.c buffer.c bytecode.c callint.c callproc.c casefiddle.c cm.c cmds.c charset.c coding.c category.c ccl.c data.c dired.c dispnew.c doc.c  doprnt.c editfns.c emacs.c eval.c fileio.c filelock.c filemode.c fns.c fontset.c indent.c insdel.c keyboard.c keymap.c lastfile.c lread.c macros.c marker.c minibuf.c xfaces.c print.c process.c regex.c scroll.c search.c syntax.c sysdep.c term.c termcap.c tparam.c undo.c unexw32.c window.c xdisp.c casetab.c floatfns.c frame.c gmalloc.c intervals.c ralloc.c textprop.c vm-limit.c region-cache.c strftime.c w32.c w32console.c w32faces.c w32fns.c w32heap.c w32inevt.c w32proc.c w32reg.c w32menu.c w32select.c w32term.c w32xfns.c
 
 #
 # These are the lisp files that are loaded up in loadup.el
@@ -224,7 +224,7 @@ lisp= \
        $(lispsource)version.el
 
 
-DOC          = DOC 
+DOC          = DOC
 $(DOC):                $(BLD)\make-docfile.exe
                - $(DEL) $(DOC)
                $(BLD)\make-docfile -d ..\src $(obj) > $(DOC)
@@ -261,7 +261,7 @@ install:    $(INSTALL_FILES)
 
 #
 # Maintenance
-# 
+#
 clean:;                - $(DEL) *~ *.pdb DOC*
                - $(DEL) *.orig *.rej *.crlf ctags.c
                - $(DEL_TREE) deleted
index 706a630c4bce7f5d9d3f9dc8679ce31441f77feb..406dd8775bccc18b62f65f3958ac0093bf06926e 100644 (file)
@@ -39,11 +39,11 @@ Boston, MA 02111-1307, USA.  */
  * "po:username".  This will cause movemail to open a connection to
  * a pop server running on $MAILHOST (environment variable).  Movemail
  * must be setuid to root in order to work with POP.
- * 
+ *
  * New module: popmail.c
  * Modified routines:
  *     main - added code within #ifdef MAIL_USE_POP; added setuid (getuid ())
- *             after POP code. 
+ *             after POP code.
  * New routines in movemail.c:
  *     get_errmsg - return pointer to system error message
  *
@@ -458,7 +458,7 @@ main (argc, argv)
 
          pfatal_with_name (inname);
        }
-  
+
       {
        char buf[1024];
 
@@ -838,7 +838,7 @@ popmail (mailbox, outfile, preserve, password, reverse_order)
       error ("Error from POP server: %s", pop_error, 0);
       return (1);
     }
-    
+
   return (0);
 }
 
@@ -913,7 +913,7 @@ mbx_write (line, len, mbf)
       line++;
       len--;
     }
-  if (fwrite (line, 1, len, mbf) != len) 
+  if (fwrite (line, 1, len, mbf) != len)
     return (NOTOK);
   if (fputc (0x0a, mbf) == EOF)
     return (NOTOK);
index 3e2caf508656a43c1991914552610486d2181017..31bf758197de0aa97ee325351737073268cfe0d5 100644 (file)
@@ -59,20 +59,20 @@ getppid(void)
   DWORD result;
 
   ppid = getenv ("EM_PARENT_PROCESS_ID");
-  if (!ppid) 
+  if (!ppid)
     {
       printf("no pid.\n");
       return 0;
-    } 
-  else 
+    }
+  else
     {
       getppid_ppid = atoi (ppid);
     }
 
-  if (!getppid_parent) 
+  if (!getppid_parent)
     {
       getppid_parent = OpenProcess (SYNCHRONIZE, FALSE, atoi(ppid));
-      if (!getppid_parent) 
+      if (!getppid_parent)
        {
          printf ("Failed to open handle to parent process: %d\n",
                 GetLastError());
@@ -81,7 +81,7 @@ getppid(void)
     }
 
   result = WaitForSingleObject (getppid_parent, 0);
-  switch (result) 
+  switch (result)
     {
     case WAIT_TIMEOUT:
       /* The parent is still alive.  */
@@ -188,7 +188,7 @@ fchown (int fd, int uid, int gid)
 }
 
 /* Place a wrapper around the MSVC version of ctime.  It returns NULL
-   on network directories, so we handle that case here.  
+   on network directories, so we handle that case here.
    (Ulrich Leodolter, 1/11/95).  */
 char *
 sys_ctime (const time_t *t)
index 46a60195aff1749aa9583db07042d9a7553d41e4..b51e82c82bfa8d010d3c623367c03762f45a087d 100644 (file)
@@ -261,7 +261,7 @@ pop_open (host, username, password, flags)
 #else
 #define DONT_NEED_PASSWORD 0
 #endif
+
   if ((! password) && (! DONT_NEED_PASSWORD))
     {
       if (! (flags & POP_NO_GETPASS))
@@ -560,7 +560,7 @@ pop_list (server, message, IDs, sizes)
  *             of lines with '>'.
  *     msg_buf Output parameter to which a buffer containing the
  *             message is assigned.
- * 
+ *
  * Return value: The number of bytes in msg_buf, which may contain
  *     embedded nulls, not including its final null, or -1 on error
  *     with pop_error set.
@@ -643,7 +643,7 @@ pop_retrieve (server, message, markfrom, msg_buf)
 
   free (ptr);
   return (-1);
-}     
+}
 
 int
 pop_retrieve_first (server, message, response)
index e2fa4793b63792c7dae20acc82569ef11e3fb948..9c43c16e776e753fdf4b631de84c9a6288654e44 100644 (file)
@@ -48,7 +48,7 @@ reset_watch ()
 }
 
 /* This call returns the time since the last reset_watch call.  The time
-   is returned as a string with the format  <seconds>.<micro-seconds> 
+   is returned as a string with the format  <seconds>.<micro-seconds>
    If reset_watch was not called yet, exit.  */
 
 char *
index 184ed8ac01a6da72175c222aac44f54309f08fe7..75616c3564e93dac11ef65685a37ee14a6e39035 100755 (executable)
@@ -31,7 +31,7 @@
 # is not deleted, as under VC with vc-keep-workfiles at its default of t, but
 # all the version files are.
 #
-# If an argument file is already version-controlled under RCS, any version 
+# If an argument file is already version-controlled under RCS, any version
 # files are added to the list of deltas and deleted, and then the workfile
 # is checked in again as the latest version.  This is probably not quite
 # what was wanted, and is the main reason VC doesn't simply call this to
index d871e33680212aab42226115250c3b26d3a6c862..55737c542d77a2c49f3742a5da6494c622e1dcda 100644 (file)
@@ -216,13 +216,13 @@ main (argc, argv)
   user_id = get_user_id ();
   if (user_id == NULL)
     lose_syserr ("Couldn't determine user id");
-  
+
   if (stat (scorefile, &buf) < 0)
     lose_syserr ("Failed to access scores file");
-               
+
   if (lock_file (scorefile, &lockstate) < 0)
     lose_syserr ("Failed to lock scores file");
-                 
+
   if (read_scores (scorefile, &scores, &scorecount) < 0)
     {
       unlock_file (scorefile, lockstate);
@@ -283,7 +283,7 @@ read_score (f, score)
     char *username = malloc (unamelen);
     if (!username)
       return -1;
-    
+
     while ((c = getc (f)) != EOF
           && !isspace (c))
       {
@@ -293,7 +293,7 @@ read_score (f, score)
        username[unameread] = c;
        unameread++;
       }
-    if (c == EOF)    
+    if (c == EOF)
       return -1;
     username[unameread] = '\0';
     score->username = username;
@@ -342,12 +342,12 @@ read_scores (filename, scores, count)
   int readval, scorecount, cursize;
   struct score_entry *ret;
   FILE *f = fopen (filename, "r");
-  if (!f) 
+  if (!f)
     return -1;
   scorecount = 0;
   cursize = 16;
   ret = (struct score_entry *) malloc (sizeof (struct score_entry) * cursize);
-  if (!ret) 
+  if (!ret)
     return -1;
   while ((readval = read_score (f, &ret[scorecount])) == 0)
     {
@@ -388,7 +388,7 @@ score_compare_reverse (a, b)
 }
 
 int
-push_score (scores, count, newscore, username, newdata) 
+push_score (scores, count, newscore, username, newdata)
      struct score_entry **scores;
      int *count; int newscore;
      char *username;
@@ -406,12 +406,12 @@ push_score (scores, count, newscore, username, newdata)
   *scores = newscores;
   return 0;
 }
-  
+
 void
 sort_scores (scores, count, reverse)
      struct score_entry *scores;
      int count;
-     int reverse; 
+     int reverse;
 {
   qsort (scores, count, sizeof (struct score_entry),
        reverse ? score_compare_reverse : score_compare);
@@ -421,9 +421,9 @@ int
 write_scores (filename, scores, count)
      const char *filename;
      const struct score_entry * scores;
-     int count; 
+     int count;
 {
-  FILE *f;  
+  FILE *f;
   int i;
   char *tempfile = malloc (strlen (filename) + strlen (".tempXXXXXX") + 1);
   if (!tempfile)
@@ -448,7 +448,7 @@ write_scores (filename, scores, count)
     return -1;
   return 0;
 }
-  
+
 int
 lock_file (filename, state)
   const char *filename;
@@ -491,7 +491,7 @@ lock_file (filename, state)
   close (fd);
   return 0;
 }
+
 int
 unlock_file (filename, state)
   const char *filename;
index 92df285870adb7d1ffe3c0c50e8401dc4fcea312..fa638b06466194eee967c04ac24a46fae62681b8 100644 (file)
@@ -1,12 +1,12 @@
 /*
  * yow.c
- * 
+ *
  * Print a quotation from Zippy the Pinhead.
  * Qux <Kaufman-David@Yale> March 6, 1986
  *
  * This file is in the public domain because the author published it
  * with no copyright notice before the US signed the Bern Convention.
- * 
+ *
  * With dynamic memory allocation.
  */
 
@@ -114,7 +114,7 @@ setup_yow(fp)
   header_len = ftell(fp);
   if (header_len > AVG_LEN)
     header_len -= AVG_LEN;     /* allow the first quotation to appear */
-       
+
   if (fseek(fp, 0L, 2) == -1) {
     perror("yow");
     exit(1);
@@ -167,7 +167,7 @@ yow (fp)
   buf[i++] = c;
   while ((c = getc(fp)) != SEP && c != EOF) {
     buf[i++] = c;
-       
+
     if (i == bufsize-1) {
       /* Yow! Is this quotation too long yet? */
       bufsize *= 2;
index a8f0b4cd7ab0a769c03a0583e1a944c67d159a0a..6a53152b1e300013bd82443f000c21c328eb70bd 100644 (file)
@@ -22,7 +22,7 @@ Basic Installation for  An Introduction to Programming in Emacs Lisp  version 2
     ./configure
     make dvi
 
-    # To create an HTML file, execute the following 
+    # To create an HTML file, execute the following
     #   (presumably you have already executed the `./configure' command
     #    before running `make dvi'; if not execute `./configure' now);
     # this will place HTML files into a emacs-lisp-intro/ subdirectory:
index e4f16c7d0933d207c11c43dbb84a71712d0c0c79..50713d1e8efbcba05aba9a5e98d2229f6e3f3203 100644 (file)
@@ -67,7 +67,7 @@ EXTRA_DIST = INSTALL MANIFEST README chest-of-drawers-diagram.eps     cons-cell-di
 
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_CLEAN_FILES = 
+CONFIG_CLEAN_FILES =
 TEXI2DVI = texi2dvi
 INFO_DEPS = emacs-lisp-intro.info
 DVIS = emacs-lisp-intro.dvi
@@ -83,14 +83,14 @@ GZIP_ENV = --best
 all: all-redirect
 .SUFFIXES:
 .SUFFIXES: .dvi .info .ps .texi .texinfo .txi
-$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
        cd $(top_srcdir) && $(AUTOMAKE) --foreign --include-deps Makefile
 
 Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
        cd $(top_builddir) \
          && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
 
-$(ACLOCAL_M4):  configure.in 
+$(ACLOCAL_M4):  configure.in
        cd $(srcdir) && $(ACLOCAL)
 
 config.status: $(srcdir)/configure.in $(CONFIG_STATUS_DEPENDENCIES)
index 800ef7a08bcb27fc85a6dcd734f7ef92b2c644b8..e322fc86c7f9bbbb0acccd535446ce6a17b6048c 100644 (file)
@@ -9,7 +9,7 @@ This second edition of 2001 Nov 20 updates the previous editions to
 GNU Emacs 21.
 
 The Texinfo source file `emacs-lisp-intro.texi', formats without
-error using TeX version 3.14159, `kpathsea' version 3.3.1, 
+error using TeX version 3.14159, `kpathsea' version 3.3.1,
 `texinfo.tex' version 2001-05-24.08, and `makeinfo' version 4.0b.
 
 Also, this tar file contains the following optional Encapsulated Post
index d9909c67a6bb59634f4967cee6e8e66de074a8d1..0fdc8ced8240e97d848d0dd2297aa6ae9b4ddc85 100644 (file)
@@ -1,7 +1,7 @@
 #! /bin/sh
 
 # Guess values for system-dependent variables and create Makefiles.
-# Generated automatically using autoconf version 2.13 
+# Generated automatically using autoconf version 2.13
 # Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
 #
 # This configure script is free software; the Free Software Foundation
index e8436696c19d1bfd9e4d53c7113deb6a991818a8..2df3e3b423d6e7d01d0c6722226bf4bb75f8eafd 100644 (file)
@@ -115,7 +115,7 @@ fi
 if [ x"$dir_arg" != x ]; then
        dst=$src
        src=""
-       
+
        if [ -d $dst ]; then
                instcmd=:
        else
@@ -124,7 +124,7 @@ if [ x"$dir_arg" != x ]; then
 else
 
 # Waiting for this to be detected by the "$instcmd $src $dsttmp" command
-# might cause directories to be created, which would be especially bad 
+# might cause directories to be created, which would be especially bad
 # if $src (and thus $dsttmp) contains '*'.
 
        if [ -f $src -o -d $src ]
@@ -134,7 +134,7 @@ else
                echo "install:  $src does not exist"
                exit 1
        fi
-       
+
        if [ x"$dst" = x ]
        then
                echo "install:  no destination specified"
@@ -162,7 +162,7 @@ dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
 
 # Skip lots of stat calls in the usual case.
 if [ ! -d "$dstdir" ]; then
-defaultIFS='   
+defaultIFS='
 '
 IFS="${IFS-${defaultIFS}}"
 
@@ -201,17 +201,17 @@ else
 
 # If we're going to rename the final executable, determine the name now.
 
-       if [ x"$transformarg" = x ] 
+       if [ x"$transformarg" = x ]
        then
                dstfile=`basename $dst`
        else
-               dstfile=`basename $dst $transformbasename | 
+               dstfile=`basename $dst $transformbasename |
                        sed $transformarg`$transformbasename
        fi
 
 # don't allow the sed command to completely eliminate the filename
 
-       if [ x"$dstfile" = x ] 
+       if [ x"$dstfile" = x ]
        then
                dstfile=`basename $dst`
        else
@@ -242,7 +242,7 @@ else
 # Now rename the file to the real destination.
 
        $doit $rmcmd -f $dstdir/$dstfile &&
-       $doit $mvcmd $dsttmp $dstdir/$dstfile 
+       $doit $mvcmd $dsttmp $dstdir/$dstfile
 
 fi &&
 
index b22a6bda4c28beb4a3a7f474dab2bc1b922fdc2b..c3ee7c2581c3abfa1a47b067593a120ee025352b 100644 (file)
 %   ftp://tug.org/tex/texinfo.tex
 %     (and all CTAN mirrors, see http://www.ctan.org),
 %   and /home/gd/gnu/doc/texinfo.tex on the GNU machines.
-% 
+%
 % The texinfo.tex in any given Texinfo distribution could well be out
 % of date, so if that's what you're using, please check.
-% 
+%
 % Texinfo has a small home page at http://texinfo.org/ and also
 % http://www.gnu.org/software/texinfo.
 %
 
 % add check for \lastpenalty to plain's definitions.  If the last thing
 % we did was a \nobreak, we don't want to insert more space.
-% 
+%
 \def\smallbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\smallskipamount
   \removelastskip\penalty-50\smallskip\fi\fi}
 \def\medbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\medskipamount
@@ -730,10 +730,10 @@ where each line of input produces a line of output.}
 % @inmargin{TEXT [, RIGHT-TEXT]}
 % (if RIGHT-TEXT is given, use TEXT for left page, RIGHT-TEXT for right;
 % else use TEXT for both).
-% 
+%
 \def\inmargin#1{\parseinmargin #1,,\finish}
 \def\parseinmargin#1,#2,#3\finish{% not perfect, but better than nothing.
-  \setbox0 = \hbox{\ignorespaces #2}% 
+  \setbox0 = \hbox{\ignorespaces #2}%
   \ifdim\wd0 > 0pt
     \def\lefttext{#1}%  have both texts
     \def\righttext{#2}%
@@ -797,7 +797,7 @@ where each line of input produces a line of output.}
 % @paragraphindent NCHARS
 % We'll use ems for NCHARS, close enough.
 % We cannot implement @paragraphindent asis, though.
-% 
+%
 \def\asisword{asis} % no translation, these are keywords
 \def\noneword{none}
 %
@@ -840,7 +840,7 @@ where each line of input produces a line of output.}
 % We don't use $'s directly in the definition of \math because we need
 % to set catcodes according to plain TeX first, to allow for subscripts,
 % superscripts, special math chars, etc.
-% 
+%
 % @math does not do math typesetting in section titles, index
 % entries, and other such contexts where the catcodes are set before
 % @math gets a chance to work.  This could perhaps be fixed, but for now
@@ -852,7 +852,7 @@ where each line of input produces a line of output.}
 % an actual _ character, as in @math{@var{some_variable} + 1}.  So make
 % _ within @math be active (mathcode "8000), and distinguish by seeing
 % if the current family is \slfam, which is what @var uses.
-% 
+%
 {\catcode95 = \active  % 95 = _
 \gdef\mathunderscore{%
   \catcode95=\active
@@ -863,7 +863,7 @@ where each line of input produces a line of output.}
 % FYI, plain.tex uses \\ as a temporary control sequence (why?), but
 % this is not advertised and we don't care.  Texinfo does not
 % otherwise define @\.
-% 
+%
 % The \mathchar is class=0=ordinary, family=7=ttfam, position=5C=\.
 \def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi}
 %
@@ -986,11 +986,11 @@ where each line of input produces a line of output.}
   \def\pdfmakeoutlines{{%
     \openin 1 \jobname.toc
     \ifeof 1\else\begingroup
-      \closein 1 
+      \closein 1
       \indexnofonts
       \def\tt{}
       \let\_ = \normalunderscore
-      % Thanh's hack / proper braces in bookmarks  
+      % Thanh's hack / proper braces in bookmarks
       \edef\mylbrace{\iftrue \string{\else}\fi}\let\{=\mylbrace
       \edef\myrbrace{\iffalse{\else\string}\fi}\let\}=\myrbrace
       %
@@ -1032,7 +1032,7 @@ where each line of input produces a line of output.}
       \let\nextmakelinks=\makelinks
       \ifnum\lnkcount>0,\fi
       \picknum{#1}%
-      \startlink attr{/Border [0 0 0]} 
+      \startlink attr{/Border [0 0 0]}
         goto name{\pdfmkpgn{\the\pgn}}%
       \linkcolor #1%
       \advance\lnkcount by 1%
@@ -1087,7 +1087,7 @@ where each line of input produces a line of output.}
     \ifx\first0\adn0
     \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3
     \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6
-    \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9 
+    \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9
     \else
       \ifnum0=\countA\else\makelink\fi
       \ifx\first.\let\next=\done\else
@@ -1522,7 +1522,7 @@ where each line of input produces a line of output.}
 
 % rms does not like angle brackets --karl, 17may97.
 % So now @email is just like @uref, unless we are pdf.
-% 
+%
 %\def\email#1{\angleleft{\tt #1}\angleright}
 \ifpdf
   \def\email#1{\doemail#1,,\finish}
@@ -2743,10 +2743,10 @@ width0pt\relax} \fi
 
 % @synindex foo bar    makes index foo feed into index bar.
 % Do this instead of @defindex foo if you don't want it as a separate index.
-% 
+%
 % @syncodeindex foo bar   similar, but put all entries made for index foo
 % inside @code.
-% 
+%
 \def\synindex#1 #2 {\dosynindex\doindex{#1}{#2}}
 \def\syncodeindex#1 #2 {\dosynindex\docodeindex{#1}{#2}}
 
@@ -2788,13 +2788,13 @@ width0pt\relax} \fi
 % Take care of texinfo commands likely to appear in an index entry.
 % (Must be a way to avoid doing expansion at all, and thus not have to
 % laboriously list every single command here.)
-% 
+%
 \def\indexdummies{%
 \def\ { }%
 \def\@{@}% change to @@ when we switch to @ as escape char in aux files.
 % Need these in case \tex is in effect and \{ is a \delimiter again.
 % But can't use \lbracecmd and \rbracecmd because texindex assumes
-% braces and backslashes are used only as delimiters.  
+% braces and backslashes are used only as delimiters.
 \let\{ = \mylbrace
 \let\} = \myrbrace
 \def\_{{\realbackslash _}}%
@@ -3349,7 +3349,7 @@ width0pt\relax} \fi
   \wd0=\hsize \wd2=\hsize
   \hbox to\pagewidth{\box0\hfil\box2}%
 }
-% 
+%
 % All done with double columns.
 \def\enddoublecolumns{%
   \output = {%
@@ -4150,7 +4150,7 @@ width0pt\relax} \fi
 % @foo ... @end foo.
 
 % @point{}, @result{}, @expansion{}, @print{}, @equiv{}.
-% 
+%
 % Since these characters are used in examples, it should be an even number of
 % \tt widths. Each \tt character is 1en, so two makes it 1em.
 %
@@ -4162,7 +4162,7 @@ width0pt\relax} \fi
 
 % The @error{} command.
 % Adapted from the TeXbook's \boxit.
-% 
+%
 \newbox\errorbox
 %
 {\tentt \global\dimen0 = 3em}% Width of the box.
@@ -4470,7 +4470,7 @@ width0pt\relax} \fi
 
 
 % LaTeX-like @verbatim...@end verbatim and @verb{<char>...<char>}
-% If we want to allow any <char> as delimiter, 
+% If we want to allow any <char> as delimiter,
 % we need the curly braces so that makeinfo sees the @verb command, eg:
 % `@verbx...x' would look like the '@verbx' command.  --janneke@gnu.org
 %
@@ -4544,8 +4544,8 @@ width0pt\relax} \fi
   \everypar{\starttabbox}%
 }
 
-% Do the @verb magic: verbatim text is quoted by unique 
-% delimiter characters.  Before first delimiter expect a 
+% Do the @verb magic: verbatim text is quoted by unique
+% delimiter characters.  Before first delimiter expect a
 % right brace, after last delimiter expect closing brace:
 %
 %    \def\doverb'{'<char>#1<char>'}'{#1}
@@ -4564,7 +4564,7 @@ width0pt\relax} \fi
 %
 %     \def\doverbatim#1@end verbatim{#1}
 %
-% For Texinfo it's a lot easier than for LaTeX, 
+% For Texinfo it's a lot easier than for LaTeX,
 % because texinfo's \verbatim doesn't stop at '\end{verbatim}':
 % we need not redefine '\', '{' and '}'
 %
@@ -4622,7 +4622,7 @@ width0pt\relax} \fi
 
 % @copying ... @end copying.
 % Save the text away for @insertcopying later.
-% 
+%
 \newbox\copyingbox
 %
 \def\copying{\begingroup
@@ -4632,7 +4632,7 @@ width0pt\relax} \fi
 }
 
 % @insertcopying.
-% 
+%
 \def\insertcopying{\unvcopy\copyingbox}
 
 
@@ -4788,7 +4788,7 @@ width0pt\relax} \fi
 % to account for this both in the \...x definition and in parsing the
 % input at hand.  Thus also need a control sequence (passed as #5) for
 % the \E... definition to assign the category name to.
-% 
+%
 \def\deftypeopparsebody#1#2#3#4#5 #6 {\begingroup\inENV
   \medbreak
   \def#1{\endgraf\endgroup\medbreak}%
@@ -5172,7 +5172,7 @@ width0pt\relax} \fi
 
 % These definitions are used if you use @defunx (etc.)
 % anywhere other than immediately after a @defun or @defunx.
-% 
+%
 \def\defcvx#1 {\errmessage{@defcvx in invalid context}}
 \def\deffnx#1 {\errmessage{@deffnx in invalid context}}
 \def\defivarx#1 {\errmessage{@defivarx in invalid context}}
@@ -5973,7 +5973,7 @@ width0pt\relax} \fi
     \nobreak\bigskip
     % Usually we'll have text after the image which will insert
     % \parskip glue, so insert it here too to equalize the space
-    % above and below. 
+    % above and below.
     \nobreak\vskip\parskip
     \nobreak
     \line\bgroup\hss
@@ -6089,7 +6089,7 @@ should work if nowhere else does.}
 }
 
 % Use `small' versions.
-% 
+%
 \def\smallenvironments{%
   \let\smalldisplay = \smalldisplayx
   \let\smallexample = \smalllispx
@@ -6346,7 +6346,7 @@ should work if nowhere else does.}
 % Say @foo, not \foo, in error messages.
 @escapechar = `@@
 
-% These look ok in all fonts, so just make them not special.  
+% These look ok in all fonts, so just make them not special.
 @catcode`@& = @other
 @catcode`@# = @other
 @catcode`@% = @other
index 5e4f9d85435e95d0d1e61a3422441166c317669f..c05acc15bb22ac68a1d275cd02bb7c0dec919b4c 100644 (file)
@@ -44,7 +44,7 @@ VERSION=2.9
 manual = elisp-manual-21-$(VERSION)
 
 # Uncomment this line for permuted index.
-# permuted_index = 1 
+# permuted_index = 1
 
 # List of all the texinfo files in the manual:
 
@@ -144,7 +144,7 @@ install: elisp
 clean:
        rm -f *.toc *.aux *.log *.cp *.cps *.fn *.fns *.tp *.tps \
               *.vr *.vrs *.pg *.pgs *.ky *.kys
-       rm -f make.out core 
+       rm -f make.out core
        rm -f index.texi
 
 distclean: clean
index 358b4193ff7068556758d57b4d53cb120b55db8d..1600a5344b347add1f50d2b38597b5e38ca6fc41 100644 (file)
@@ -15,7 +15,7 @@ newsgroup gnu.emacs.help.
 2.5 megabytes.
 
 * You can format this manual either for Info or for printing hardcopy
-using TeX.  
+using TeX.
 
 * You can buy nicely printed copies from the Free Software Foundation.
 For info, send mail to gnu@gnu.org or phone 617-542-5942.  Buying a
@@ -42,7 +42,7 @@ commands in the shell:
 % make elisp.dvi
 
 *** To create a DVI file with a permuted index, you may experiment
-with `make-permuted-index'.  
+with `make-permuted-index'.
 
 ** To make an Info file, you need to install Texinfo, then run
 `./configure' and `make info'.  To install the Info files, run
index 8e31c7c870d453ddbb943447f4672729217fc2f9..5d7dad62a14e81311526f954a8e2335c53d26b16 100644 (file)
@@ -1,7 +1,7 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1999 
-@c   Free Software Foundation, Inc. 
+@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1999
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../info/abbrevs
 @node Abbrevs, Processes, Syntax Tables, Top
@@ -46,7 +46,7 @@ Mode, emacs, The GNU Emacs Manual}.
 
 @node Abbrev Mode, Abbrev Tables, Abbrevs, Abbrevs
 @comment  node-name,  next,  previous,  up
-@section Setting Up Abbrev Mode    
+@section Setting Up Abbrev Mode
 
   Abbrev mode is a minor mode controlled by the value of the variable
 @code{abbrev-mode}.
index 3221753a1fc65096d4bcb85af98dfc8640fd49c0..cb877efe310ef85f8bc4529c394725173c6d5e5f 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1998, 1999 Free Software Foundation, Inc. 
+@c Copyright (C) 1998, 1999 Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../info/advising
 @node Advising Functions, Debugging, Byte Compilation, Top
@@ -726,7 +726,7 @@ The body forms of the various advice in each class are assembled
 according to their specified order.  The forms of around-advice @var{l}
 are included in one of the forms of around-advice @var{l} @minus{} 1.
 
-The innermost part of the around advice onion is 
+The innermost part of the around advice onion is
 
 @display
 apply original definition to @var{arglist}
index 63035a0d23a85eafe72a1ef4077c4446e290948a..7925a8831df294b1d1fc482ee26a6db2053e7cf8 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1999 Free Software Foundation, Inc. 
+@c Copyright (C) 1999 Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 
 @c This node must have no pointers.
@@ -176,7 +176,7 @@ The function @code{buffer-size} always reports on the
 current buffer.
 
 @item
-The function @code{assq-delete-all} has itself been deleted. 
+The function @code{assq-delete-all} has itself been deleted.
 So there!
 
 @item
@@ -270,13 +270,13 @@ The meaning of the second argument to @code{read-char},
 they use the current input method if the argument is if @code{nil}.
 
 @item
-The function @code{with-temp-message} has been eliminated. 
+The function @code{with-temp-message} has been eliminated.
 
 @item
-The function @code{clear-this-command-keys} has been eliminated. 
+The function @code{clear-this-command-keys} has been eliminated.
 
 @item
-The functions @code{gap-position} and @code{gap-size} have been eliminated. 
+The functions @code{gap-position} and @code{gap-size} have been eliminated.
 
 @item
 In @code{modify-face}, an argument of @code{(nil)} has no special
index 7c35ecdd817aa6050c289b96572316ac484c9a5f..858d6dfa9d530133a0dfbf09996704c2e5921252 100644 (file)
@@ -1,7 +1,7 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1999
-@c   Free Software Foundation, Inc. 
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../info/backups
 @node Backups and Auto-Saving, Buffers, Files, Top
@@ -78,9 +78,9 @@ save disk space.  (You would put this code in your init file.)
 
 @smallexample
 @group
-(add-hook 'rmail-mode-hook 
+(add-hook 'rmail-mode-hook
           (function (lambda ()
-                      (make-local-variable 
+                      (make-local-variable
                        'make-backup-files)
                       (setq make-backup-files nil))))
 @end group
@@ -157,7 +157,7 @@ files.  If you define it, you may need to change
 @subsection Backup by Renaming or by Copying?
 @cindex backup files, how to make them
 
-  There are two ways that Emacs can make a backup file: 
+  There are two ways that Emacs can make a backup file:
 
 @itemize @bullet
 @item
@@ -405,7 +405,7 @@ This function returns the name of the most recent backup file for
 
 Some file comparison commands use this function so that they can
 automatically compare a file with its most recent backup.
-@end defun 
+@end defun
 
 @node Auto-Saving
 @section Auto-Saving
index b0c79cd28d5efc87a06242ba792ec379c6bf35aa..23239ebc48d2e6476dcab70e72eaf84c31638ab8 100644 (file)
@@ -1,7 +1,7 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999
-@c   Free Software Foundation, Inc. 
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../info/buffers
 @node Buffers, Windows, Backups and Auto-Saving, Top
@@ -138,7 +138,7 @@ Next, @code{set-buffer} makes the specified buffer current.  Finally,
 @code{insert-buffer-substring} copies the string from the original
 current buffer to the specified (and now current) buffer.
 
-  If the buffer appended to happens to be displayed in some window, 
+  If the buffer appended to happens to be displayed in some window,
 the next redisplay will show how its text has changed.  Otherwise, you
 will not see the change immediately on the screen.  The buffer becomes
 current temporarily during the execution of the command, but this does
@@ -307,7 +307,7 @@ make @var{unique} non-@code{nil} with a numeric prefix argument.
 This function returns the buffer specified by @var{buffer-or-name}.
 If @var{buffer-or-name} is a string and there is no buffer with that
 name, the value is @code{nil}.  If @var{buffer-or-name} is a buffer, it
-is returned as given; that is not very useful, so the argument is usually 
+is returned as given; that is not very useful, so the argument is usually
 a name.  For example:
 
 @example
@@ -534,7 +534,7 @@ counter that increments every time the buffer is modified.  If
 @comment  node-name,  next,  previous,  up
 @section Comparison of Modification Time
 @cindex comparison of modification time
-@cindex modification time, comparison of 
+@cindex modification time, comparison of
 
   Suppose that you visit a file and make changes in its buffer, and
 meanwhile the file itself is changed on disk.  At this point, saving the
@@ -602,7 +602,7 @@ some other program has probably altered the file.
 Depending on the user's answer, the function may return normally, in
 which case the modification of the buffer proceeds, or it may signal a
 @code{file-supersession} error with data @code{(@var{filename})}, in which
-case the proposed buffer modification is not allowed.  
+case the proposed buffer modification is not allowed.
 
 This function is called automatically by Emacs on the proper
 occasions.  It exists so you can customize Emacs by redefining it.
@@ -617,7 +617,7 @@ See also the file locking mechanism in @ref{File Locks}.
 @cindex buffer, read-only
 
   If a buffer is @dfn{read-only}, then you cannot change its contents,
-although you may change your view of the contents by scrolling and 
+although you may change your view of the contents by scrolling and
 narrowing.
 
   Read-only buffers are used in two kinds of situations:
@@ -716,7 +716,7 @@ which frames they were selected in.
 ;; @r{Note that the name of the minibuffer}
 ;;   @r{begins with a space!}
 (mapcar (function buffer-name) (buffer-list))
-    @result{} ("buffers.texi" " *Minibuf-1*" 
+    @result{} ("buffers.texi" " *Minibuf-1*"
         "buffer.c" "*Help*" "TAGS")
 @end group
 @end example
@@ -982,7 +982,7 @@ ever again be the current buffer.
 This creates an indirect buffer named @var{name} whose base buffer
 is @var{base-buffer}.  The argument @var{base-buffer} may be a buffer
 or a string.
+
 If @var{base-buffer} is an indirect buffer, its base buffer is used as
 the base for the new buffer.
 @end deffn
index 6b62582993b11bdfd70bf86f2aa04ed39d511f38..eeee2d118b559f079f1f1082ceb724b58de89664 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990, 1991, 1992, 1993, 1995, 1998 Free Software Foundation, Inc. 
+@c Copyright (C) 1990, 1991, 1992, 1993, 1995, 1998 Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @node Calendar, System Interface, Display, Top
 @chapter Customizing the Calendar and Diary
@@ -16,7 +16,7 @@ diary suit your personal tastes.
 * Daylight Savings::       Changing the default.
 * Diary Customizing::      Defaults you can set.
 * Hebrew/Islamic Entries:: How to obtain them.
-* Fancy Diary Display::    Enhancing the diary display, sorting entries, 
+* Fancy Diary Display::    Enhancing the diary display, sorting entries,
                              using included diary files.
 * Sexp Diary Entries::     Fancy things you can do.
 * Appt Customizing::      Customizing appointment reminders.
@@ -543,7 +543,7 @@ the fourth pattern.
 well as entries based on the world-standard Gregorian calendar.
 However, because recognition of such entries is time-consuming and most
 people don't use them, you must explicitly enable their use.  If you
-want the diary to recognize Hebrew-date diary entries, for example, 
+want the diary to recognize Hebrew-date diary entries, for example,
 you must do this:
 
 @vindex nongregorian-diary-listing-hook
@@ -603,7 +603,7 @@ entry matches any date that has the same Hebrew day-within-month as the
 selected date.
 @item i h y
 Add a diary entry for the day of the Hebrew year corresponding to the
-selected date (@code{insert-yearly-hebrew-diary-entry}).  This diary 
+selected date (@code{insert-yearly-hebrew-diary-entry}).  This diary
 entry matches any date which has the same Hebrew month and day-within-month
 as the selected date.
 @item i i d
@@ -626,7 +626,7 @@ selected date (@code{insert-yearly-islamic-diary-entry}).
   These commands work much like the corresponding commands for ordinary
 diary entries: they apply to the date that point is on in the calendar
 window, and what they do is insert just the date portion of a diary entry
-at the end of your diary file.  You must then insert the rest of the 
+at the end of your diary file.  You must then insert the rest of the
 diary entry.
 
 @node Fancy Diary Display
index b33cace7ebe620e3b90399ffd559b9db2818ab71..340ff01857b8f2ad71fbc8205ef624d69049d636 100644 (file)
@@ -1,7 +1,7 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999
-@c   Free Software Foundation, Inc. 
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../info/commands
 @node Command Loop, Keymaps, Minibuffers, Top
@@ -12,7 +12,7 @@
   When you run Emacs, it enters the @dfn{editor command loop} almost
 immediately.  This loop reads key sequences, executes their definitions,
 and displays the results.  In this chapter, we describe how these things
-are done, and the subroutines that allow Lisp programs to do them.  
+are done, and the subroutines that allow Lisp programs to do them.
 
 @menu
 * Command Overview::    How the command loop reads commands.
@@ -442,7 +442,7 @@ argument value.  Completion, Existing, Prompt.
 @comment  node-name,  next,  previous,  up
 @subsection Examples of Using @code{interactive}
 @cindex examples of using @code{interactive}
-@cindex @code{interactive}, examples of using 
+@cindex @code{interactive}, examples of using
 
   Here are some examples of @code{interactive}:
 
@@ -501,7 +501,7 @@ command.  You can also call these functions yourself.
 
 @defun commandp object
 Returns @code{t} if @var{object} is suitable for calling interactively;
-that is, if @var{object} is a command.  Otherwise, returns @code{nil}.  
+that is, if @var{object} is a command.  Otherwise, returns @code{nil}.
 
 The interactively callable objects include strings and vectors (treated
 as keyboard macros), lambda expressions that contain a top-level call to
@@ -664,7 +664,7 @@ non-@code{nil}.  Here's how:
 @section Information from the Command Loop
 
 The editor command loop sets several Lisp variables to keep status
-records for itself and for commands that are run.  
+records for itself and for commands that are run.
 
 @defvar last-command
 This variable records the name of the previous command executed by the
@@ -1272,7 +1272,7 @@ The event type of a double-click event contains the prefix
 @key{meta} held down comes to the Lisp program as
 @code{M-double-mouse-2}.  If a double-click event has no binding, the
 binding of the corresponding ordinary click event is used to execute
-it.  Thus, you need not pay attention to the double click feature 
+it.  Thus, you need not pay attention to the double click feature
 unless you really want to.
 
 When the user performs a double click, Emacs generates first an ordinary
@@ -2131,7 +2131,7 @@ functions to read command input.
 For example, the function that implements numeric prefix arguments reads
 any number of digits.  When it finds a non-digit event, it must unread
 the event so that it can be read normally by the command loop.
-Likewise, incremental search uses this feature to unread events with no 
+Likewise, incremental search uses this feature to unread events with no
 special meaning in a search, because these events should exit the search
 and then execute normally.
 
@@ -2200,7 +2200,7 @@ It returns @code{nil}.
 
 In the following example, the user may type a number of characters right
 after starting the evaluation of the form.  After the @code{sleep-for}
-finishes sleeping, @code{discard-input} discards any characters typed 
+finishes sleeping, @code{discard-input} discards any characters typed
 during the sleep.
 
 @example
@@ -2251,7 +2251,7 @@ screen.
 This function performs redisplay (provided there is no pending input
 from the user), then waits @var{seconds} seconds, or until input is
 available.  The value is @code{t} if @code{sit-for} waited the full
-time with no input arriving (see @code{input-pending-p} in @ref{Event 
+time with no input arriving (see @code{input-pending-p} in @ref{Event
 Input Misc}).  Otherwise, the value is @code{nil}.
 
 The argument @var{seconds} need not be an integer.  If it is a floating
@@ -2334,7 +2334,7 @@ non-@code{nil} in any way thus causes a quit.
   At the level of C code, quitting cannot happen just anywhere; only at the
 special places that check @code{quit-flag}.  The reason for this is
 that quitting at other places might leave an inconsistency in Emacs's
-internal state.  Because quitting is delayed until a safe place, quitting 
+internal state.  Because quitting is delayed until a safe place, quitting
 cannot make Emacs crash.
 
   Certain functions such as @code{read-key-sequence} or
@@ -2343,7 +2343,7 @@ for input.  Instead of quitting, @kbd{C-g} serves as the requested
 input.  In the case of @code{read-key-sequence}, this serves to bring
 about the special behavior of @kbd{C-g} in the command loop.  In the
 case of @code{read-quoted-char}, this is so that @kbd{C-q} can be used
-to quote a @kbd{C-g}.  
+to quote a @kbd{C-g}.
 
 @cindex prevent quitting
   You can prevent quitting for a portion of a Lisp function by binding
@@ -2399,7 +2399,7 @@ in @ref{Errors}.)
 
   You can specify a character other than @kbd{C-g} to use for quitting.
 See the function @code{set-input-mode} in @ref{Terminal Input}.
+
 @node Prefix Command Arguments
 @section Prefix Command Arguments
 @cindex prefix argument
@@ -2468,11 +2468,11 @@ C-u 3   M-x display-prefix  @print{} 3
 
 M-3     M-x display-prefix  @print{} 3      ; @r{(Same as @code{C-u 3}.)}
 
-C-u -   M-x display-prefix  @print{} -      
+C-u -   M-x display-prefix  @print{} -
 
 M--     M-x display-prefix  @print{} -      ; @r{(Same as @code{C-u -}.)}
 
-C-u - 7 M-x display-prefix  @print{} -7     
+C-u - 7 M-x display-prefix  @print{} -7
 
 M-- 7   M-x display-prefix  @print{} -7     ; @r{(Same as @code{C-u -7}.)}
 @end example
@@ -2633,12 +2633,12 @@ then type @kbd{C-M-c} to exit and continue executing @code{simple-rec}.
 @deffn Command exit-recursive-edit
 This function exits from the innermost recursive edit (including
 minibuffer input).  Its definition is effectively @code{(throw 'exit
-nil)}.  
+nil)}.
 @end deffn
 
 @deffn Command abort-recursive-edit
 This function aborts the command that requested the innermost recursive
-edit (including minibuffer input), by signaling @code{quit} 
+edit (including minibuffer input), by signaling @code{quit}
 after exiting the recursive edit.  Its definition is effectively
 @code{(throw 'exit t)}.  @xref{Quitting}.
 @end deffn
@@ -2780,7 +2780,7 @@ not a symbol, string, or vector, an error is signaled.
 The argument @var{count} is a repeat count; @var{kbdmacro} is executed that
 many times.  If @var{count} is omitted or @code{nil}, @var{kbdmacro} is
 executed once.  If it is 0, @var{kbdmacro} is executed over and over until it
-encounters an error or a failing search.  
+encounters an error or a failing search.
 
 @xref{Reading One Event}, for an example of using @code{execute-kbd-macro}.
 @end defun
index b854fc86edfa81e4a630ae4347c64fe7fad1d8f5..c5615b0ec5e228df4c0128dd6ec402a425f96ad3 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990, 1991, 1992, 1993, 1994 Free Software Foundation, Inc. 
+@c Copyright (C) 1990, 1991, 1992, 1993, 1994 Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../info/compile
 @node Byte Compilation, Advising Functions, Loading, Top
@@ -64,7 +64,7 @@ Here is an example:
 (defun silly-loop (n)
   "Return time before and after N iterations of a loop."
   (let ((t1 (current-time-string)))
-    (while (> (setq n (1- n)) 
+    (while (> (setq n (1- n))
               0))
     (list t1 (current-time-string))))
 @result{} silly-loop
@@ -530,7 +530,7 @@ they still serve their purpose.
 @group
 0   constant 1              ; @r{Push 1 onto stack.}
 
-1   varref   integer        ; @r{Get value of @code{integer}} 
+1   varref   integer        ; @r{Get value of @code{integer}}
                             ;   @r{from the environment}
                             ;   @r{and push the value}
                             ;   @r{onto the stack.}
@@ -573,7 +573,7 @@ they still serve their purpose.
 @group
                             ; @r{Stack now contains:}
                             ;   @minus{} @r{decremented value of @code{integer}}
-                            ;   @minus{} @r{@code{factorial}} 
+                            ;   @minus{} @r{@code{factorial}}
                             ;   @minus{} @r{value of @code{integer}}
                             ;   @minus{} @r{@code{*}}
 @end group
@@ -616,7 +616,7 @@ The @code{silly-loop} function is somewhat more complex:
 (defun silly-loop (n)
   "Return time before and after N iterations of a loop."
   (let ((t1 (current-time-string)))
-    (while (> (setq n (1- n)) 
+    (while (> (setq n (1- n))
               0))
     (list t1 (current-time-string))))
      @result{} silly-loop
@@ -717,7 +717,7 @@ The @code{silly-loop} function is somewhat more complex:
 @end group
 
 @group
-19  constant current-time-string  ; @r{Push} 
+19  constant current-time-string  ; @r{Push}
                                   ;   @r{@code{current-time-string}}
                                   ;   @r{onto top of stack.}
 @end group
index ddf8dc7c907521793a888f90160ba6d62c48218b..93cc63efd65794ee1a166e0df78ed4c1b28dc2f5 100755 (executable)
@@ -1,7 +1,7 @@
 #! /bin/sh
 
 # Guess values for system-dependent variables and create Makefiles.
-# Generated automatically using autoconf version 2.13 
+# Generated automatically using autoconf version 2.13
 # Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
 #
 # This configure script is free software; the Free Software Foundation
index adea5277061e7c3d3f8261ba234dabe9ab07dff2..a9f4d7c9d223bd6e76c98b359907825a5c149c4e 100644 (file)
@@ -1,7 +1,7 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999
-@c  Free Software Foundation, Inc. 
+@c  Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../info/control
 @node Control Structures, Variables, Evaluation, Top
@@ -154,7 +154,7 @@ based on the value of @var{condition}.  If the evaluated @var{condition} is
 non-@code{nil}, @var{then-form} is evaluated and the result returned.
 Otherwise, the @var{else-forms} are evaluated in textual order, and the
 value of the last one is returned.  (The @var{else} part of @code{if} is
-an example of an implicit @code{progn}.  @xref{Sequencing}.) 
+an example of an implicit @code{progn}.  @xref{Sequencing}.)
 
 If @var{condition} has the value @code{nil}, and no @var{else-forms} are
 given, @code{if} returns @code{nil}.
@@ -165,8 +165,8 @@ never evaluated---it is ignored.  Thus, in the example below,
 
 @example
 @group
-(if nil 
-    (print 'true) 
+(if nil
+    (print 'true)
   'very-false)
 @result{} very-false
 @end group
@@ -260,7 +260,7 @@ clauses was successful.  To do this, we use @code{t} as the
 never @code{nil}, so this clause never fails, provided the @code{cond}
 gets to it at all.
 
-For example, 
+For example,
 
 @example
 @group
@@ -376,7 +376,7 @@ expression returns @code{nil}.  Just @code{(or)}, with no
 @var{conditions} turned out @code{nil}.  (Think about it; which one
 did not?)
 
-For example, this expression tests whether @code{x} is either 
+For example, this expression tests whether @code{x} is either
 @code{nil} or the integer zero:
 
 @example
@@ -401,7 +401,7 @@ You could almost write @code{or} in terms of @code{if}, but not quite:
 @example
 @group
 (if @var{arg1} @var{arg1}
-  (if @var{arg2} @var{arg2} 
+  (if @var{arg2} @var{arg2}
     @var{arg3}))
 @end group
 @end example
@@ -663,7 +663,7 @@ return points at once.  First, two return points with the same tag,
 @end group
 
 @group
-(catch 'hack 
+(catch 'hack
   (print (catch2 'hack))
   'no)
 @print{} yes
@@ -745,7 +745,7 @@ which you call for other purposes, such as if you try to take the
 buffer.  You can also signal errors explicitly with the functions
 @code{error} and @code{signal}.
 
-  Quitting, which happens when the user types @kbd{C-g}, is not 
+  Quitting, which happens when the user types @kbd{C-g}, is not
 considered an error, but it is handled almost like an error.
 @xref{Quitting}.
 
@@ -1000,9 +1000,9 @@ message (but without a beep), then returns a very large number.
 @smallexample
 @group
 (defun safe-divide (dividend divisor)
-  (condition-case err                
+  (condition-case err
       ;; @r{Protected form.}
-      (/ dividend divisor)              
+      (/ dividend divisor)
 @end group
 @group
     ;; @r{The handler.}
@@ -1046,7 +1046,7 @@ including those signaled with @code{error}:
       ;; @r{This is a call to the function @code{error}.}
       (error "Rats!  The variable %s was %s, not 35" 'baz baz))
   ;; @r{This is the handler; it is not a form.}
-  (error (princ (format "The error was: %s" err)) 
+  (error (princ (format "The error was: %s" err))
          2))
 @print{} The error was: (error "Rats!  The variable baz was 34, not 35")
 @result{} 2
@@ -1096,7 +1096,7 @@ message @samp{peculiar error} is used.
 @group
 (put 'new-error
      'error-conditions
-     '(error my-own-errors new-error))       
+     '(error my-own-errors new-error))
 @result{} (error my-own-errors new-error)
 @end group
 @group
@@ -1112,7 +1112,7 @@ classification; and @code{error}, which is the widest of all.
 
   The error string should start with a capital letter but it should
 not end with a period.  This is for consistency with the rest of Emacs.
+
   Naturally, Emacs will never signal @code{new-error} on its own; only
 an explicit call to @code{signal} (@pxref{Signaling Errors}) in your
 code can do this:
index d37e4fca983e3a833e66897f20eec3256adb3efc..b7699a1980263e81935153d034aa31a2d6d2b349 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1997, 1998, 1999, 2000, 2002 Free Software Foundation, Inc. 
+@c Copyright (C) 1997, 1998, 1999, 2000, 2002 Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../info/customize
 @node Customization, Loading, Macros, Top
@@ -13,8 +13,8 @@ definitions---as well as face definitions (@pxref{Defining Faces}).
 
 @menu
 * Common Keywords::
-* Group Definitions::            
-* Variable Definitions::         
+* Group Definitions::
+* Variable Definitions::
 * Customization Types::
 @end menu
 
@@ -502,7 +502,7 @@ example,
 @end smallexample
 
 @noindent
-instead of 
+instead of
 
 @smallexample
 (defcustom cons-alist '(("foo" . 1) ("bar" . 2) ("baz" . 3))
@@ -527,14 +527,14 @@ Similarily, you can have alists with more values associated with each
 key, using variations of this trick:
 
 @smallexample
-(defcustom person-data '(("brian"  50 t) 
+(defcustom person-data '(("brian"  50 t)
                          ("dorith" 55 nil)
                          ("ken"    52 t))
   "Alist of basic info about people.
 Each element has the form (NAME AGE MALE-FLAG)."
   :type '(alist :value-type (group age boolean)))
 
-(defcustom pets '(("brian") 
+(defcustom pets '(("brian")
                   ("dorith" "dog" "guppy")
                   ("ken" "cat"))
   "Alist of people's pets.
@@ -930,7 +930,7 @@ Substitute the tag here.  You specify the tag with the @code{:tag}
 keyword.
 
 @item %%
-Display a literal @samp{%}. 
+Display a literal @samp{%}.
 @end table
 
 @item :action @var{action}
@@ -1033,7 +1033,7 @@ implemented.
 @item
 Widgets with tabbing order @code{-1} are ignored.
 
-@item 
+@item
 (Unimplemented) When on a widget with tabbing order @var{n}, go to the
 next widget in the buffer with tabbing order @var{n+1} or @code{nil},
 whichever comes first.
index aa0cd0e1797abc5a882bdb24b35d91605febdbcb..f0bbc9207cb508dfd055226cb8e5c740ef9ee8ec 100644 (file)
@@ -1,7 +1,7 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1998, 1999
-@c   Free Software Foundation, Inc. 
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../info/debugging
 @node Debugging, Read and Print, Advising Functions, Top
index bc22fd48f1775a3b398f7f60e7e6b4ef664a420d..85b21a045b9454ff6db38ead7dd4c0d4229e493a 100644 (file)
@@ -1,7 +1,7 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2000, 2001, 2002
-@c   Free Software Foundation, Inc. 
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../info/display
 @node Display, Calendar, Processes, Top
@@ -409,9 +409,9 @@ major mode should use the mode's own name as an element of
 
 @example
 ;; @r{If you want to display an ellipsis:}
-(add-to-invisibility-spec '(my-symbol . t)) 
+(add-to-invisibility-spec '(my-symbol . t))
 ;; @r{If you don't want ellipsis:}
-(add-to-invisibility-spec 'my-symbol) 
+(add-to-invisibility-spec 'my-symbol)
 
 (overlay-put (make-overlay beginning end)
              'invisible 'my-symbol)
@@ -483,7 +483,7 @@ effect is seen only within Emacs.
 
 @defvar selective-display
 This buffer-local variable enables selective display.  This means that
-lines, or portions of lines, may be made invisible.  
+lines, or portions of lines, may be made invisible.
 
 @itemize @bullet
 @item
@@ -1336,7 +1336,7 @@ kind of customization item (@pxref{Customization}) which the user can
 customize using the Customization buffer (@pxref{Easy Customization,,,
 emacs, The GNU Emacs Manual}).
 
-@defmac defface face spec doc [keyword value]... 
+@defmac defface face spec doc [keyword value]...
 This declares @var{face} as a customizable face that defaults according
 to @var{spec}.  You should not quote the symbol @var{face}.  The
 argument @var{doc} specifies the face documentation.  The keywords you
@@ -1473,13 +1473,13 @@ set width.  This should be one of the symbols @code{ultra-condensed},
 @code{extra-condensed}, @code{condensed}, @code{semi-condensed},
 @code{normal}, @code{semi-expanded}, @code{expanded},
 @code{extra-expanded}, or @code{ultra-expanded}.
-   
+
 @item :height
 Either the font height, an integer in units of 1/10 point, a floating
 point number specifying the amount by which to scale the height of any
 underlying face, or a function, which is called with the old height
 (from the underlying face), and should return the new height.
-   
+
 @item :weight
 Font weight---a symbol from this series (from most dense to most faint):
 @code{ultra-bold}, @code{extra-bold}, @code{bold}, @code{semi-bold},
@@ -1499,7 +1499,7 @@ the terminal supports the feature.
 
 @item :foreground
 Foreground color, a string.
-   
+
 @item :background
 Background color, a string.
 
@@ -1852,7 +1852,7 @@ With a region that is active.  In Transient Mark mode, the region is
 highlighted with the face @code{region} (@pxref{Standard Faces}).
 
 @item
-With special glyphs.  Each glyph can specify a particular face 
+With special glyphs.  Each glyph can specify a particular face
 number.  @xref{Glyphs}.
 @end itemize
 
@@ -2285,7 +2285,7 @@ they mean.
 @menu
 * Specified Space::     Displaying one space with a specified width.
 * Other Display Specs:: Displaying an image; magnifying text; moving it
-                          up or down on the page; adjusting the width 
+                          up or down on the page; adjusting the width
                           of spaces within text.
 * Display Margins::     Displaying text or images to the side of the main text.
 * Conditional Display:: Making any of the above features conditional
@@ -2465,7 +2465,7 @@ Thus, you can make changes take effect by calling
 @defun set-window-margins window left &optional right
 @tindex set-window-margins
 This function specifies the margin widths for window @var{window}.
-The argument @var{left} controls the left margin and 
+The argument @var{left} controls the left margin and
 @var{right} controls the right margin (default @code{0}).
 @end defun
 
@@ -3409,7 +3409,7 @@ variable @code{glyph-table}.
 
 @defvar glyph-table
 The value of this variable is the current glyph table.  It should be a
-vector; the @var{g}th element defines glyph code @var{g}.  
+vector; the @var{g}th element defines glyph code @var{g}.
 
 If a glyph code is greater than or equal to the length of the glyph
 table, that code is automatically simple.  If the value of
index 7df8a7f2c55c0d1fdb0d517969624680709b5db8..b94ba8838bac55122cf30b52e1acb1355cc27c42 100644 (file)
@@ -1,10 +1,10 @@
 @comment -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1992, 1993, 1994, 1998, 1999 Free Software Foundation, Inc. 
+@c Copyright (C) 1992, 1993, 1994, 1998, 1999 Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 
-@c This file can also be used by an independent Edebug User 
-@c Manual in which case the Edebug node below should be used 
+@c This file can also be used by an independent Edebug User
+@c Manual in which case the Edebug node below should be used
 @c with the following links to the Bugs section and to the top level:
 
 @c , Bugs and Todo List, Top, Top
@@ -35,7 +35,7 @@ at each breakpoint.
 Display expression results and evaluate expressions as if outside of
 Edebug.
 
-@item 
+@item
 Automatically re-evaluate a list of expressions and
 display their results each time Edebug updates the display.
 
@@ -117,7 +117,7 @@ at the open-parenthesis before @code{if}.
 @cindex stop points
 The places within a function where Edebug can stop execution are called
 @dfn{stop points}.  These occur both before and after each subexpression
-that is a list, and also after each variable reference.  
+that is a list, and also after each variable reference.
 Here we use periods to show the stop points in the function
 @code{fac}:
 
@@ -142,7 +142,7 @@ display you will see:
 @end example
 
 When Edebug stops execution after an expression, it displays the
-expression's value in the echo area. 
+expression's value in the echo area.
 
 Other frequently used commands are @kbd{b} to set a breakpoint at a stop
 point, @kbd{g} to execute until a breakpoint is reached, and @kbd{q} to
@@ -445,7 +445,7 @@ breakpoint is temporary---it turns off the first time it stops the
 program.
 
 @item u
-Unset the breakpoint (if any) at the stop point at or after 
+Unset the breakpoint (if any) at the stop point at or after
 point (@code{edebug-unset-breakpoint}).
 
 @item x @var{condition} @key{RET}
@@ -490,7 +490,7 @@ breakpoints.  This command does not continue execution---it just moves
 point in the buffer.
 
 @menu
-* Global Break Condition::     Breaking on an event. 
+* Global Break Condition::     Breaking on an event.
 * Source Breakpoints::         Embedding breakpoints in source code.
 @end menu
 
@@ -692,7 +692,7 @@ but they are evaluated in the context outside of Edebug.
 
   The expressions you enter interactively (and their results) are lost
 when you continue execution; but you can set up an @dfn{evaluation list}
-consisting of expressions to be evaluated each time execution stops. 
+consisting of expressions to be evaluated each time execution stops.
 
 @cindex evaluation list group
   To do this, write one or more @dfn{evaluation list groups} in the
@@ -771,7 +771,7 @@ If non-@code{nil}, Edebug binds @code{print-length} to this value while
 printing results.  The default value is @code{50}.
 @end defopt
 
-@defopt edebug-print-level 
+@defopt edebug-print-level
 If non-@code{nil}, Edebug binds @code{print-level} to this value while
 printing results.  The default value is @code{50}.
 @end defopt
@@ -794,7 +794,7 @@ Custom printing prints this as @samp{Result: #1=(#1# y)}.  The
 structure.  This notation is used for any shared elements of lists or
 vectors.
 
-@defopt edebug-print-circle 
+@defopt edebug-print-circle
 If non-@code{nil}, Edebug binds @code{print-circle} to this value while
 printing results.  The default value is @code{nil}.
 @end defopt
@@ -900,13 +900,13 @@ the breakpoint is reached, the frequency data looks like this:
 @example
 (defun fac (n)
   (if (= n 0) (edebug))
-;#6           1      0 =5 
+;#6           1      0 =5
   (if (< 0 n)
-;#5         = 
+;#5         =
       (* n (fac (1- n)))
-;#    5               0  
+;#    5               0
     1))
-;#   0 
+;#   0
 @end example
 
 The comment lines show that @code{fac} was called 6 times.  The
@@ -939,12 +939,12 @@ before even deciding whether to make trace information or stop the
 program.
 
 @itemize @bullet
-@item 
+@item
 @code{max-lisp-eval-depth} and @code{max-specpdl-size} are both
 incremented once to reduce Edebug's impact on the stack.  You could,
 however, still run out of stack space when using Edebug.
 
-@item 
+@item
 The state of keyboard macro execution is saved and restored.  While
 Edebug is active, @code{executing-macro} is bound to
 @code{edebug-continue-kbd-macro}.
@@ -958,7 +958,7 @@ Edebug is active, @code{executing-macro} is bound to
 @c This paragraph is not filled, because LaLiberte's conversion script
 @c needs an xref to be on just one line.
 When Edebug needs to display something (e.g., in trace mode), it saves
-the current window configuration from ``outside'' Edebug 
+the current window configuration from ``outside'' Edebug
 (@pxref{Window Configurations}).  When you exit Edebug (by continuing
 the program), it restores the previous window configuration.
 
@@ -974,12 +974,12 @@ following data (though some of them are deliberately not restored if an
 error or quit signal occurs).
 
 @itemize @bullet
-@item 
+@item
 @cindex current buffer point and mark (Edebug)
 Which buffer is current, and the positions of point and the mark in the
 current buffer, are saved and restored.
 
-@item 
+@item
 @cindex window configuration (Edebug)
 The outside window configuration is saved and restored if
 @code{edebug-save-windows} is non-@code{nil} (@pxref{Edebug Display Update}).
@@ -1002,7 +1002,7 @@ The variables @code{overlay-arrow-position} and
 @code{overlay-arrow-string} are saved and restored.  So you can safely
 invoke Edebug from the recursive edit elsewhere in the same buffer.
 
-@item 
+@item
 @code{cursor-in-echo-area} is locally bound to @code{nil} so that
 the cursor shows up in the window.
 @end itemize
@@ -1047,7 +1047,7 @@ evaluation list window.
 by the @code{recursive-edit}, but Edebug temporarily restores them during
 evaluations.
 
-@item 
+@item
 The state of keyboard macro definition is saved and restored.  While
 Edebug is active, @code{defining-kbd-macro} is bound to
 @code{edebug-continue-kbd-macro}.
@@ -1187,7 +1187,7 @@ A lambda expression with no quoting.
 @item &optional
 @kindex &optional @r{(Edebug)}
 All following elements in the specification list are optional; as soon
-as one does not match, Edebug stops matching at this level.  
+as one does not match, Edebug stops matching at this level.
 
 To make just a few elements optional followed by non-optional elements,
 use @code{[&optional @var{specs}@dots{}]}.  To specify that several
@@ -1222,7 +1222,7 @@ Each of the following elements is matched as alternatives as if by using
 of them match, nothing is matched, but the @code{&not} specification
 succeeds.
 
-@item &define 
+@item &define
 @kindex &define @r{(Edebug)}
 Indicates that the specification is for a defining form.  The defining
 form itself is not instrumented (that is, Edebug does not stop before and
@@ -1302,7 +1302,7 @@ Here is a list of additional specifications that may appear only after
 
 @table @code
 @item name
-The argument, a symbol, is the name of the defining form. 
+The argument, a symbol, is the name of the defining form.
 
 A defining form is not required to have a name field; and it may have
 multiple name fields.
@@ -1349,7 +1349,7 @@ necessarily mean a syntax error will be signaled; instead,
 exhausted.  Eventually every element of the argument list must be
 matched by some element in the specification, and every required element
 in the specification must match some argument.
-  
+
 When a syntax error is detected, it might not be reported until much
 later after higher-level alternatives have been exhausted, and with the
 point positioned further from the real error.  But if backtracking is
@@ -1405,8 +1405,8 @@ function body.
 
 @smallexample
 (def-edebug-spec defmacro defun) ; @r{Indirect ref to @code{defun} spec.}
-(def-edebug-spec defun 
-  (&define name lambda-list 
+(def-edebug-spec defun
+  (&define name lambda-list
            [&optional stringp]   ; @r{Match the doc string, if present.}
            [&optional ("interactive" interactive)]
            def-body))
@@ -1479,7 +1479,7 @@ what happens to the window configurations, it is better to set this
 variable to @code{nil}.
 
 If the value is a list, only the listed windows are saved and
-restored.  
+restored.
 
 You can use the @kbd{W} command in Edebug to change this variable
 interactively.  @xref{Edebug Display Update}.
@@ -1505,26 +1505,26 @@ mode for Edebug when it is first activated.  Possible values are
 @code{step}, @code{next}, @code{go}, @code{Go-nonstop}, @code{trace},
 @code{Trace-fast}, @code{continue}, and @code{Continue-fast}.
 
-The default value is @code{step}.  
+The default value is @code{step}.
 @xref{Edebug Execution Modes}.
 @end defopt
 
 @defopt edebug-trace
 Non-@code{nil} means display a trace of function entry and exit.
 Tracing output is displayed in a buffer named @samp{*edebug-trace*}, one
-function entry or exit per line, indented by the recursion level.  
+function entry or exit per line, indented by the recursion level.
 
-The default value is @code{nil}.  
+The default value is @code{nil}.
 
 Also see @code{edebug-tracing}, in @ref{Trace Buffer}.
 @end defopt
 
-@defopt edebug-test-coverage 
+@defopt edebug-test-coverage
 If non-@code{nil}, Edebug tests coverage of all expressions debugged.
 @xref{Coverage Testing}.
 @end defopt
 
-@defopt edebug-continue-kbd-macro 
+@defopt edebug-continue-kbd-macro
 If non-@code{nil}, continue defining or executing any keyboard macro
 that is executing outside of Edebug.   Use this with caution since it is not
 debugged.
index aa9d23b844471f9bdc4c6c0c8a92131758fa8313..c536e9e6b25e23a78335531655240d6acedc169f 100644 (file)
@@ -24,7 +24,7 @@
 @sp 2
 @center @titlefont{Volume 1}
 @sp 2
-@center by Bil Lewis, Dan LaLiberte, 
+@center by Bil Lewis, Dan LaLiberte,
 @center and the GNU Manual Group
 
 @page
@@ -47,7 +47,7 @@
 @sp 2
 @center @titlefont{Volume 2}
 @sp 2
-@center by Bil Lewis, 
+@center by Bil Lewis,
 @center Dan LaLiberte, and
 @center the GNU Manual Group
 
@@ -78,7 +78,7 @@
 @sp 2
 @center @titlefont{Volume 1}
 @sp 2
-@center by Bil Lewis, Dan LaLiberte, 
+@center by Bil Lewis, Dan LaLiberte,
 @center and the GNU Manual Group
 
 @page
 @sp 2
 @center @titlefont{Volume 1}
 @sp 2
-@center by Bil Lewis, 
+@center by Bil Lewis,
 @center Dan LaLiberte, and
 @center the GNU Manual Group
 
 @sp 2
 @center @titlefont{Volume 1}
 @sp 2
-@center by Bil Lewis, Dan LaLiberte, 
+@center by Bil Lewis, Dan LaLiberte,
 @center and the GNU Manual Group
 
 @page
 @sp 2
 @center @titlefont{Volume 2}
 @sp 2
-@center by Bil Lewis, Dan LaLiberte, 
+@center by Bil Lewis, Dan LaLiberte,
 @center and the GNU Manual Group
 
 @page
 @sp 2
 @center @titlefont{Volume 2}
 @sp 2
-@center by Bil Lewis, Dan LaLiberte, 
+@center by Bil Lewis, Dan LaLiberte,
 @center and the GNU Manual Group
 
 
 @center for Unix Users
 @center Edition 2.3, June 1994
 @sp 4
-@center by Bil Lewis, Dan LaLiberte, 
+@center by Bil Lewis, Dan LaLiberte,
 @center and the GNU Manual Group
 
 @sp 4
 @author FSF
 
 @author
+
 @page
 @c ================  Spine 2 ================
 
 @center for Unix Users
 @center Edition 2.3, June 1994
 @sp 4
-@center by Bil Lewis, Dan LaLiberte, 
+@center by Bil Lewis, Dan LaLiberte,
 @center and the GNU Manual Group
 
 
index cd350c9bf182fc9f0e62603567616677dce4621f..7eab107f739a08c5f2e0f96053cabde1c0a69795 100644 (file)
@@ -35,7 +35,7 @@ Published by the Free Software Foundation
 Boston, MA  02111-1307  USA
 
 Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1998, 1999,@*
-              2000, 2002 Free Software Foundation, Inc. 
+              2000, 2002 Free Software Foundation, Inc.
 
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.1 or
@@ -207,8 +207,8 @@ Tips and Conventions
 
 Format of Descriptions
 
-* A Sample Function Description::       
-* A Sample Variable Description::   
+* A Sample Function Description::
+* A Sample Variable Description::
 
 Lisp Data Types
 
@@ -317,7 +317,7 @@ Evaluation
 * Intro Eval::              Evaluation in the scheme of things.
 * Eval::                    How to invoke the Lisp interpreter explicitly.
 * Forms::                   How various sorts of objects are evaluated.
-* Quoting::                 Avoiding evaluation (to put constants in 
+* Quoting::                 Avoiding evaluation (to put constants in
                               the program).
 
 Kinds of Forms
@@ -370,11 +370,11 @@ Variables
 
 Scoping Rules for Variable Bindings
 
-* Scope::                   Scope means where in the program a value 
+* Scope::                   Scope means where in the program a value
                               is visible.  Comparison with other languages.
 * Extent::                  Extent means how long in time a value exists.
 * Impl of Scope::           Two ways to implement dynamic scoping.
-* Using Scoping::           How to use dynamic scoping carefully and 
+* Using Scoping::           How to use dynamic scoping carefully and
                               avoid problems.
 
 Buffer-Local Variables
@@ -392,11 +392,11 @@ Functions
 * Defining Functions::      Lisp expressions for defining functions.
 * Calling Functions::       How to use an existing function.
 * Mapping Functions::       Applying a function to each element of a list, etc.
-* Anonymous Functions::     Lambda-expressions are functions with no names.    
+* Anonymous Functions::     Lambda-expressions are functions with no names.
 * Function Cells::          Accessing or setting the function definition
                               of a symbol.
 * Related Topics::          Cross-references to specific Lisp primitives
-                              that have a special bearing on how 
+                              that have a special bearing on how
                               functions work.
 
 Lambda Expressions
@@ -445,10 +445,10 @@ Debugging Lisp Programs
 
 * Debugger::                How the Emacs Lisp debugger is implemented.
 * Syntax Errors::           How to find syntax errors.
-* Compilation Errors::      How to find errors that show up in 
+* Compilation Errors::      How to find errors that show up in
                               byte compilation.
 * Edebug::                  A source-level Emacs Lisp debugger.
-                                
+
 The Lisp Debugger
 
 * Error Debugging::         Entering the debugger when an error happens.
@@ -467,10 +467,10 @@ Debugging Invalid Lisp Syntax
 Reading and Printing Lisp Objects
 
 * Streams Intro::           Overview of streams, reading and printing.
-* Input Streams::           Various data types that can be used as 
+* Input Streams::           Various data types that can be used as
                               input streams.
 * Input Functions::         Functions to read Lisp objects from text.
-* Output Streams::          Various data types that can be used as 
+* Output Streams::          Various data types that can be used as
                               output streams.
 * Output Functions::        Functions to print Lisp objects as text.
 
@@ -542,7 +542,7 @@ Major and Minor Modes
 * Major Modes::             Defining major modes.
 * Minor Modes::             Defining minor modes.
 * Mode Line Format::        Customizing the text that appears in the mode line.
-* Hooks::                   How to use hooks; how to write code that 
+* Hooks::                   How to use hooks; how to write code that
                               provides hooks.
 
 Major Modes
@@ -602,7 +602,7 @@ File Names
 * File Name Components::    The directory part of a file name, and the rest.
 * Directory Names::         A directory's name as a directory
                               is different from its name as a file.
-* Relative File Names::     Some file names are relative to a 
+* Relative File Names::     Some file names are relative to a
                               current directory.
 * File Name Expansion::     Converting relative file names to absolute ones.
 * Unique File Names::       Generating names for temporary files.
@@ -610,17 +610,17 @@ File Names
 
 Backups and Auto-Saving
 
-* Backup Files::            How backup files are made; how their names 
+* Backup Files::            How backup files are made; how their names
                               are chosen.
 * Auto-Saving::             How auto-save files are made; how their
                               names are chosen.
-* Reverting::               @code{revert-buffer}, and how to customize 
+* Reverting::               @code{revert-buffer}, and how to customize
                               what it does.
 
 Backup Files
 
 * Making Backups::          How Emacs makes backup files, and when.
-* Rename or Copy::          Two alternatives: renaming the old file 
+* Rename or Copy::          Two alternatives: renaming the old file
                               or copying it.
 * Numbered Backups::        Keeping multiple backups for each source file.
 * Backup Names::            How backup file names are computed; customization.
@@ -654,7 +654,7 @@ Windows
                               and choosing a window for it.
 * Window Point::            Each window has its own location of point.
 * Window Start::            The display-start position controls which text
-                              is on-screen in the window. 
+                              is on-screen in the window.
 * Vertical Scrolling::      Moving text up and down in the window.
 * Horizontal Scrolling::    Moving text sideways on the window.
 * Size of Window::          Accessing the size of a window.
@@ -710,7 +710,7 @@ Markers
 * Predicates on Markers::   Testing whether an object is a marker.
 * Creating Markers::        Making empty markers or markers at certain places.
 * Information from Markers::  Finding the marker's buffer or character
-                                position. 
+                                position.
 * Moving Markers::          Moving the marker to a new buffer or position.
 * The Mark::                How ``the mark'' is implemented with a marker.
 * The Region::              How to access ``the region''.
@@ -739,7 +739,7 @@ Text
 * Registers::               How registers are implemented.  Accessing
                               the text or position stored in a register.
 * Change Hooks::            Supplying functions to be run when text is changed.
-                              
+
 The Kill Ring
 
 * Kill Ring Concepts::      What text looks like in the kill ring.
index 51132c1b4bc28b9f0b1d0ba00f9ac8453ed41b17..14797d610111d780b7aa4470fd7e731c128b5d90 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990, 1991, 1992, 1993, 1999 Free Software Foundation, Inc. 
+@c Copyright (C) 1990, 1991, 1992, 1993, 1999 Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../info/errors
 @node Standard Errors, Standard Buffer-Local Variables, GNU Emacs Internals, Top
@@ -87,7 +87,7 @@ error message is constructed from the data items alone when the error
 condition @code{file-error} is present.@*
 @xref{Files}.
 
-@item file-locked     
+@item file-locked
 This is a subcategory of @code{file-error}.@*
 @xref{File Locks}.
 
@@ -131,7 +131,7 @@ find invalid syntax or mismatched parentheses.@*
 @xref{Searching and Matching}.
 
 @item setting-constant
-@code{"Attempt to set a constant symbol"}@* 
+@code{"Attempt to set a constant symbol"}@*
 The values of the symbols @code{nil} and @code{t},
 and any symbols that start with @samp{:},
 may not be changed.@*
index 4c4e19b1a47db772f18722eaa57550905a38ca88..fa90ff07be1d075a2935e26910eb39d357fa0c2d 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1998 Free Software Foundation, Inc. 
+@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1998 Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../info/eval
 @node Evaluation, Control Structures, Symbols, Top
@@ -30,7 +30,7 @@ function @code{eval}.
 @section Introduction to Evaluation
 
   The Lisp interpreter, or evaluator, is the program that computes
-the value of an expression that is given to it.  When a function 
+the value of an expression that is given to it.  When a function
 written in Lisp is called, the evaluator computes the value of the
 function by evaluating the expressions in the function body.  Thus,
 running any Lisp program really means running the Lisp interpreter.
@@ -300,7 +300,7 @@ function, not a symbol.
 @smallexample
 @group
 ((lambda (arg) (erste arg))
- '(1 2 3)) 
+ '(1 2 3))
      @result{} 1
 @end group
 @end smallexample
index 8c3545a055b2973ca80a0d01177d601adb941d04..cb28ac8607ba7306fd1d2474f1b268f4d1f7116d 100644 (file)
@@ -1,7 +1,7 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999
-@c   Free Software Foundation, Inc. 
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../info/files
 @node Files, Backups and Auto-Saving, Documentation, Top
@@ -92,7 +92,7 @@ temporary buffer.  Visiting the file is not necessary and takes longer.
 
 @deffn Command find-file filename &optional wildcards
 This command selects a buffer visiting the file @var{filename},
-using an existing buffer if there is one, and otherwise creating a 
+using an existing buffer if there is one, and otherwise creating a
 new buffer and reading the file into it.  It also returns that buffer.
 
 The body of the @code{find-file} function is very simple and looks
@@ -548,7 +548,7 @@ offset from the start of the file and writes the data from there.
 
 If @var{mustbenew} is non-@code{nil}, then @code{write-region} asks
 for confirmation if @var{filename} names an existing file.
-Starting in Emacs 21, if @var{mustbenew} is the symbol @code{excl}, 
+Starting in Emacs 21, if @var{mustbenew} is the symbol @code{excl},
 then @code{write-region} does not ask for confirmation, but instead
 it signals an error @code{file-already-exists} if the file already
 exists.
@@ -865,7 +865,7 @@ name of a text file, a directory, or even another symbolic link, or it
 may be a nonexistent file name.
 
 If the file @var{filename} is not a symbolic link (or there is no such file),
-@code{file-symlink-p} returns @code{nil}.  
+@code{file-symlink-p} returns @code{nil}.
 
 @example
 @group
@@ -1107,11 +1107,11 @@ For example, here are the file attributes for @file{files.texi}:
 @example
 @group
 (file-attributes "files.texi")
-     @result{}  (nil 1 2235 75 
-          (8489 20284) 
-          (8489 20284) 
+     @result{}  (nil 1 2235 75
+          (8489 20284)
+          (8489 20284)
           (8489 20285)
-          14906 "-rw-rw-rw-" 
+          14906 "-rw-rw-rw-"
           nil 129500 -32252)
 @end group
 @end example
@@ -1530,7 +1530,7 @@ first character of the file name's last component.  For example,
 @end defun
 
 @ignore
-Andrew Innes says that this 
+Andrew Innes says that this
 
 @c @defvar directory-sep-char
 @c @tindex directory-sep-char
@@ -1974,12 +1974,12 @@ default directory, and has five files whose names begin with @samp{f}:
 @example
 @group
 (file-name-all-completions "f" "")
-     @result{} ("foo" "file~" "file.c.~2~" 
+     @result{} ("foo" "file~" "file.c.~2~"
                 "file.c.~1~" "file.c")
 @end group
 
 @group
-(file-name-all-completions "fo" "")  
+(file-name-all-completions "fo" "")
      @result{} ("foo")
 @end group
 @end example
@@ -2126,7 +2126,7 @@ then the user will probably be happier if you do sort the names.
 @group
 (directory-files "~lewis")
      @result{} ("#foo#" "#foo.el#" "." ".."
-         "dired-mods.el" "files.texi" 
+         "dired-mods.el" "files.texi"
          "files.texi.~1~")
 @end group
 @end example
@@ -2388,7 +2388,7 @@ for an operation it does not recognize.  Here's one way to do this:
         @dots{}
         ;; @r{Handle any operation we don't know about.}
         (t (let ((inhibit-file-name-handlers
-                  (cons 'my-file-handler 
+                  (cons 'my-file-handler
                         (and (eq inhibit-file-name-operation operation)
                              inhibit-file-name-handlers)))
                  (inhibit-file-name-operation operation))
index 9d9a0ce82c6ee4fc94ba75706445d259df2b9a92..fd9e74bea36affac9c118c8f7f05997719c62af5 100644 (file)
@@ -1,7 +1,7 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2002
-@c   Free Software Foundation, Inc. 
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../info/frames
 @node Frames, Positions, Windows, Top
@@ -70,7 +70,7 @@ The frame is displayed on an MS-DOS terminal.
 * Display Feature Testing::     Determining the features of a terminal.
 @end menu
 
-  @xref{Display}, for information about the related topic of 
+  @xref{Display}, for information about the related topic of
 controlling Emacs redisplay.
 
 @node Creating Frames
index 71ecd6a35da5114a265b216c13a730d84a11420a..56d0f2b1c2d38d8d912d017695dedcaa8faf2898 100644 (file)
@@ -24,7 +24,7 @@
 @sp 2
 @center @titlefont{Volume 1}
 @sp 2
-@center by Bil Lewis, Dan LaLiberte, 
+@center by Bil Lewis, Dan LaLiberte,
 @center and the GNU Manual Group
 @page
 .
@@ -45,7 +45,7 @@
 @sp 2
 @center @titlefont{Volume 2}
 @sp 2
-@center by Bil Lewis, Dan LaLiberte, 
+@center by Bil Lewis, Dan LaLiberte,
 @center and the GNU Manual Group
 
 @end titlepage
index ece586f79e45810a3be54f7981166fcd8b56da06..576ad51b006611a5d84f3c27fd349aabb3675a78 100644 (file)
@@ -1,7 +1,7 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999
-@c   Free Software Foundation, Inc. 
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../info/functions
 @node Functions, Macros, Variables, Top
@@ -18,7 +18,7 @@ define them.
 * Defining Functions::    Lisp expressions for defining functions.
 * Calling Functions::     How to use an existing function.
 * Mapping Functions::     Applying a function to each element of a list, etc.
-* Anonymous Functions::   Lambda expressions are functions with no names.    
+* Anonymous Functions::   Lambda expressions are functions with no names.
 * Function Cells::        Accessing or setting the function definition
                             of a symbol.
 * Inline Functions::     Defining functions that the compiler will open code.
@@ -746,10 +746,10 @@ length of @var{sequence}.
   "Apply FUNCTION to successive cars of all ARGS.
 Return the list of results."
   ;; @r{If no list is exhausted,}
-  (if (not (memq 'nil args))              
+  (if (not (memq 'nil args))
       ;; @r{apply function to @sc{car}s.}
-      (cons (apply function (mapcar 'car args))  
-            (apply 'mapcar* function             
+      (cons (apply function (mapcar 'car args))
+            (apply 'mapcar* function
                    ;; @r{Recurse for rest of elements.}
                    (mapcar 'cdr args)))))
 @end group
@@ -779,7 +779,7 @@ The argument @var{function} must be a function that can take one
 argument and return a string.  The argument @var{sequence} can be any
 kind of sequence except a char-table; that is, a list, a vector, a
 bool-vector, or a string.
-  
+
 @smallexample
 @group
 (mapconcat 'symbol-name
@@ -841,7 +841,7 @@ your program.  For example, you might want to pass one as an argument to
 the function @code{mapcar}, which applies any given function to each
 element of a list.
 
-  Here we define a function @code{change-property} which 
+  Here we define a function @code{change-property} which
 uses a function as its third argument:
 
 @example
@@ -915,7 +915,7 @@ comment:
 
 @cindex @samp{#'} syntax
   The read syntax @code{#'} is a short-hand for using @code{function}.
-For example, 
+For example,
 
 @example
 #'(lambda (x) (* x x))
index d348744468f0c4aecf3e3b69c6f3782f55e150f6..de21adbdd18483a6f6790b3cc577c8d9c2910e25 100644 (file)
@@ -366,7 +366,7 @@ when it starts in an interactive mode:
 Gnomovision version 69, Copyright (C) @var{year} @var{name of author}
 Gnomovision comes with ABSOLUTELY NO WARRANTY; for details
 type `show w'.  This is free software, and you are welcome
-to redistribute it under certain conditions; type `show c' 
+to redistribute it under certain conditions; type `show c'
 for details.
 @end smallexample
 
@@ -384,7 +384,7 @@ necessary.  Here is a sample; alter the names:
 @group
 Yoyodyne, Inc., hereby disclaims all copyright
 interest in the program `Gnomovision'
-(which makes passes at compilers) written 
+(which makes passes at compilers) written
 by James Hacker.
 
 @var{signature of Ty Coon}, 1 April 1989
index 4b12160c603587ea6cee900855a47c0ad17b4487..ca7d3ad860335376b328efecf562d1245e7a1a49 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1999 Free Software Foundation, Inc. 
+@c Copyright (C) 1999 Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../info/hash
 @node Hash Tables, Symbols, Sequences Arrays Vectors, Top
@@ -176,7 +176,7 @@ association in @var{table}.
 @end defun
 
 @tindex puthash
-@defun puthash key value table 
+@defun puthash key value table
 This function enters an association for @var{key} in @var{table}, with
 value @var{value}.  If @var{key} already has an association in
 @var{table}, @var{value} replaces the old associated value.
@@ -270,7 +270,7 @@ compared case-insensitively.
 (defun case-fold-string-hash (a)
   (sxhash (upcase a)))
 
-(define-hash-table-test 'case-fold 'case-fold-string= 
+(define-hash-table-test 'case-fold 'case-fold-string=
                         'case-fold-string-hash))
 
 (make-hash-table :test 'case-fold)
index eb9dc0a75d7787cc28f0310d770aa17adc7e0368..3f4f83b41c0b6622ba19f60309616f736ec3cf75 100644 (file)
@@ -1,7 +1,7 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999
-@c   Free Software Foundation, Inc. 
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../info/help
 @node Documentation, Files, Modes, Top
@@ -164,7 +164,7 @@ All symbols that have PATTERN in their name are described
 in the `*Help*' buffer."
   (interactive "sDescribe symbols matching: ")
   (let ((describe-func
-         (function 
+         (function
           (lambda (s)
 @end group
 @group
@@ -172,30 +172,30 @@ in the `*Help*' buffer."
             (if (fboundp s)             ; @r{It is a function.}
                 (princ
                  (format "%s\t%s\n%s\n\n" s
-                   (if (commandp s) 
+                   (if (commandp s)
                        (let ((keys (where-is-internal s)))
                          (if keys
                              (concat
                               "Keys: "
-                              (mapconcat 'key-description 
+                              (mapconcat 'key-description
                                          keys " "))
                            "Keys: none"))
                      "Function")
 @end group
 @group
-                   (or (documentation s) 
+                   (or (documentation s)
                        "not documented"))))
-            
+
             (if (boundp s)              ; @r{It is a variable.}
 @end group
 @group
                 (princ
                  (format "%s\t%s\n%s\n\n" s
-                   (if (user-variable-p s) 
+                   (if (user-variable-p s)
                        "Option " "Variable")
 @end group
 @group
-                   (or (documentation-property 
+                   (or (documentation-property
                          s 'variable-documentation)
                        "not documented")))))))
         sym-list)
@@ -203,7 +203,7 @@ in the `*Help*' buffer."
 
 @group
     ;; @r{Build a list of symbols that match pattern.}
-    (mapatoms (function 
+    (mapatoms (function
                (lambda (sym)
                  (if (string-match pattern (symbol-name sym))
                      (setq sym-list (cons sym sym-list))))))
@@ -225,7 +225,7 @@ but provides more information.
 (describe-symbols "goal")
 
 ---------- Buffer: *Help* ----------
-goal-column     Option 
+goal-column     Option
 *Semipermanent goal column for vertical motion, as set by @dots{}
 @end group
 @c Do not blithely break or fill these lines.
@@ -306,11 +306,11 @@ can also call that function yourself.
 stands for a key sequence that will invoke @var{command}, or @samp{M-x
 @var{command}} if @var{command} has no key bindings.
 
-@item \@{@var{mapvar}@} 
+@item \@{@var{mapvar}@}
 stands for a summary of the keymap which is the value of the variable
 @var{mapvar}.  The summary is made using @code{describe-bindings}.
 
-@item \<@var{mapvar}> 
+@item \<@var{mapvar}>
 stands for no text itself.  It is used only for a side effect: it
 specifies @var{mapvar}'s value as the keymap for any following
 @samp{\[@var{command}]} sequences in this documentation string.
@@ -335,13 +335,13 @@ user's own customized key bindings.
 
 @smallexample
 @group
-(substitute-command-keys 
+(substitute-command-keys
    "To abort recursive edit, type: \\[abort-recursive-edit]")
 @result{} "To abort recursive edit, type: C-]"
 @end group
 
 @group
-(substitute-command-keys 
+(substitute-command-keys
    "The keys that are defined for the minibuffer here are:
   \\@{minibuffer-local-must-match-map@}")
 @result{} "The keys that are defined for the minibuffer here are:
@@ -605,7 +605,7 @@ Emacs versions, @code{exec-directory} was used for this.
 
 @c Emacs 19 feature
 @defmac make-help-screen fname help-line help-text help-map
-This macro defines a help command named @var{fname} that acts like a 
+This macro defines a help command named @var{fname} that acts like a
 prefix key that shows a list of the subcommands it offers.
 
 When invoked, @var{fname} displays @var{help-text} in a window, then
index ecdec6885dad3ac093517fe44eabf064c68dafee..4c4e6d14c0119d515f6125e93810298466ead88f 100644 (file)
@@ -1,13 +1,13 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990, 1991, 1992, 1993, 1998 Free Software Foundation, Inc. 
+@c Copyright (C) 1990, 1991, 1992, 1993, 1998 Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../info/hooks
 @node Standard Hooks, Index, Standard Keymaps, Top
 @appendix Standard Hooks
 
 The following is a list of hook variables that let you provide
-functions to be called from within Emacs on suitable occasions. 
+functions to be called from within Emacs on suitable occasions.
 
 Most of these variables have names ending with @samp{-hook}.  They are
 @dfn{normal hooks}, run by means of @code{run-hooks}.  The value of such
index aeccc6b4a7f49bd302e3bed34fa678f1029bd9fd..0b391e85379c8a994584196bf122396dc58d28e2 100644 (file)
@@ -23,7 +23,7 @@
 
 
 All variables, functions, keys, programs, files, and concepts are
-in this one index.  
+in this one index.
 
 All names and concepts are permuted, so they appear several times, one
 for each permutation of the parts of the name.  For example,
index 4a00377db4ffd2e3890d6a8fbdeafac3ba8ac00f..35e8151922daba42d850d47b6c5f9c3bf9ae1bfc 100644 (file)
@@ -1,7 +1,7 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 2002
-@c   Free Software Foundation, Inc. 
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../info/intro
 
@@ -337,7 +337,7 @@ The description follows on succeeding lines, sometimes with examples.
                                           function, @code{foo}.
 * A Sample Variable Description::       A description of an imaginary
                                           variable,
-                                          @code{electric-future-map}.  
+                                          @code{electric-future-map}.
 @end menu
 
 @node A Sample Function Description
index be231798c437c19469c610a43e4986b40e12d059..e5adfb07b46dedb85817a5cd7a88e1fdf312eb5e 100644 (file)
@@ -1,7 +1,7 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1998, 1999, 2000
-@c   Free Software Foundation, Inc. 
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../info/keymaps
 @node Keymaps, Modes, Command Loop, Top
@@ -175,28 +175,28 @@ C-l}, @kbd{M-C-q}, and @kbd{M-C-x}.
 @example
 @group
 lisp-mode-map
-@result{} 
+@result{}
 @end group
 @group
-(keymap 
+(keymap
  ;; @key{TAB}
- (9 . lisp-indent-line)                 
+ (9 . lisp-indent-line)
 @end group
 @group
  ;; @key{DEL}
- (127 . backward-delete-char-untabify)  
+ (127 . backward-delete-char-untabify)
 @end group
 @group
- (3 keymap 
+ (3 keymap
     ;; @kbd{C-c C-l}
-    (12 . run-lisp))                    
+    (12 . run-lisp))
 @end group
 @group
- (27 keymap 
+ (27 keymap
      ;; @r{@kbd{M-C-q}, treated as @kbd{@key{ESC} C-q}}
-     (17 . indent-sexp)                 
+     (17 . indent-sexp)
      ;; @r{@kbd{M-C-x}, treated as @kbd{@key{ESC} C-x}}
-     (24 . lisp-send-defun)))           
+     (24 . lisp-send-defun)))
 @end group
 @end example
 
@@ -280,7 +280,7 @@ definition is a keymap; the same symbol appears in the new copy.
 @end group
 @group
      ;; @r{(This implements meta characters.)}
-     (27 keymap         
+     (27 keymap
          (83 . center-paragraph)
          (115 . center-line))
      (9 . tab-to-tab-stop))
@@ -529,7 +529,7 @@ certain parts of the buffer; see @ref{Special Properties}.
 when the minor mode is enabled.
 
   The variable @code{overriding-local-map}, if non-@code{nil}, specifies
-another local keymap that overrides the buffer's local map and all the 
+another local keymap that overrides the buffer's local map and all the
 minor mode keymaps.
 
   All the active keymaps are used together to determine what command to
@@ -584,7 +584,7 @@ other.
 @example
 @group
 (current-global-map)
-@result{} (keymap [set-mark-command beginning-of-line @dots{} 
+@result{} (keymap [set-mark-command beginning-of-line @dots{}
             delete-backward-char])
 @end group
 @end example
@@ -600,14 +600,14 @@ keymap.
 @example
 @group
 (current-local-map)
-@result{} (keymap 
-    (10 . eval-print-last-sexp) 
-    (9 . lisp-indent-line) 
-    (127 . backward-delete-char-untabify) 
+@result{} (keymap
+    (10 . eval-print-last-sexp)
+    (9 . lisp-indent-line)
+    (127 . backward-delete-char-untabify)
 @end group
 @group
-    (27 keymap 
-        (24 . eval-defun) 
+    (27 keymap
+        (24 . eval-defun)
         (17 . indent-sexp)))
 @end group
 @end example
@@ -1004,7 +1004,7 @@ meta-prefix-char                    ; @r{The default value.}
 @end group
 @group
 (setq meta-prefix-char 24)
-     @result{} 24      
+     @result{} 24
 @end group
 @group
 (key-binding "\M-b")
@@ -1111,7 +1111,7 @@ map
 @end group
 @group
 map
-@result{} (keymap 
+@result{} (keymap
     (24 keymap                ; @kbd{C-x}
         (102 . forward-word)) ;      @kbd{f}
     (6 . forward-char))       ; @kbd{C-f}
@@ -1121,7 +1121,7 @@ map
 ;; @r{Bind @kbd{C-p} to the @code{ctl-x-map}.}
 (define-key map "\C-p" ctl-x-map)
 ;; @code{ctl-x-map}
-@result{} [nil @dots{} find-file @dots{} backward-kill-sentence] 
+@result{} [nil @dots{} find-file @dots{} backward-kill-sentence]
 @end group
 
 @group
@@ -1133,7 +1133,7 @@ map
 map
 @result{} (keymap     ; @r{Note @code{foo} in @code{ctl-x-map}.}
     (16 keymap [nil @dots{} foo @dots{} backward-kill-sentence])
-    (24 keymap 
+    (24 keymap
         (102 . forward-word))
     (6 . forward-char))
 @end group
@@ -1157,7 +1157,7 @@ standard bindings:
 
 @smallexample
 @group
-(substitute-key-definition 
+(substitute-key-definition
  'find-file 'find-file-read-only (current-global-map))
 @end group
 @end smallexample
@@ -1190,9 +1190,9 @@ Here is an example showing a keymap before and after substitution:
 
 @smallexample
 @group
-(setq map '(keymap 
-            (?1 . olddef-1) 
-            (?2 . olddef-2) 
+(setq map '(keymap
+            (?1 . olddef-1)
+            (?2 . olddef-2)
             (?3 . olddef-1)))
 @result{} (keymap (49 . olddef-1) (50 . olddef-2) (51 . olddef-1))
 @end group
@@ -1220,8 +1220,8 @@ digits to run @code{digit-argument}, and @kbd{-} to run
 @code{negative-argument}.  Otherwise it makes them undefined like the
 rest of the printing characters.
 
-@cindex yank suppression 
-@cindex @code{quoted-insert} suppression 
+@cindex yank suppression
+@cindex @code{quoted-insert} suppression
 The @code{suppress-keymap} function does not make it impossible to
 modify a buffer, as it does not suppress commands such as @code{yank}
 and @code{quoted-insert}.  To prevent any modification of a buffer, make
@@ -1423,7 +1423,7 @@ definition is the sparse keymap @code{(keymap (83 .@: center-paragraph)
 @smallexample
 @group
 (accessible-keymaps (current-local-map))
-@result{}(("" keymap 
+@result{}(("" keymap
       (27 keymap   ; @r{Note this keymap for @key{ESC} is repeated below.}
           (83 . center-paragraph)
           (115 . center-line))
@@ -1431,8 +1431,8 @@ definition is the sparse keymap @code{(keymap (83 .@: center-paragraph)
 @end group
 
 @group
-   ("^[" keymap 
-    (83 . center-paragraph) 
+   ("^[" keymap
+    (83 . center-paragraph)
     (115 . foo)))
 @end group
 @end smallexample
@@ -1447,7 +1447,7 @@ of a window.
 @smallexample
 @group
 (accessible-keymaps (current-global-map))
-@result{} (("" keymap [set-mark-command beginning-of-line @dots{} 
+@result{} (("" keymap [set-mark-command beginning-of-line @dots{}
                    delete-backward-char])
 @end group
 @group
@@ -2240,7 +2240,7 @@ property list elements to add to the menu item specification.
 To define items in some local map, bind @code{`tool-bar-map} with
 @code{let} around calls of this function:
 @example
-(defvar foo-tool-bar-map 
+(defvar foo-tool-bar-map
   (let ((tool-bar-map (make-sparse-keymap)))
     (tool-bar-add-item @dots{})
     @dots{}
index 1894fc3e15ccba21b5d58e7fa0a116232bcafd96..3235daa1d5439214d788f85a0aa4d22ca750d0a1 100644 (file)
@@ -1,7 +1,7 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999
-@c   Free Software Foundation, Inc. 
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../info/lists
 @node Lists, Sequences Arrays Vectors, Strings and Characters, Top
@@ -498,7 +498,7 @@ This macro provides an alternative way to write
 It is new in Emacs 21.
 
 @example
-(setq l '(a b)) 
+(setq l '(a b))
      @result{} (a b)
 (push 'c l)
      @result{} (c a b)
@@ -738,7 +738,7 @@ destructively.  See @ref{Sets And Lists}.
 @cindex destructive list operations
 
   You can modify the @sc{car} and @sc{cdr} contents of a cons cell with the
-primitives @code{setcar} and @code{setcdr}.  We call these ``destructive'' 
+primitives @code{setcar} and @code{setcdr}.  We call these ``destructive''
 operations because they change existing list structure.
 
 @cindex CL note---@code{rplaca} vrs @code{setcar}
index 0292088447cf6465648318527af751b64ec39bc2..1880f287df6da200db7b228c3f65ddfd0ffaf7a7 100644 (file)
@@ -1,7 +1,7 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999
-@c   Free Software Foundation, Inc. 
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../info/loading
 @node Loading, Byte Compilation, Customization, Top
@@ -391,7 +391,7 @@ object, then it is defined as an autoload object like this:
 (autoload @var{filename} @var{docstring} @var{interactive} @var{type})
 @end example
 
-For example, 
+For example,
 
 @example
 @group
@@ -580,7 +580,7 @@ file should call @code{provide} at the top level to add the feature to
 @code{features}; if it fails to do so, @code{require} signals an error.
 @cindex load error with require
 
-  For example, in @file{emacs/lisp/prolog.el}, 
+  For example, in @file{emacs/lisp/prolog.el},
 the definition for @code{run-prolog} includes the following code:
 
 @smallexample
index d9565ae3e4bb7f19ef0588394b64675fe7a64c51..6d998dabdf6670df12ec4a58b096931fa5f2cee2 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990, 1991, 1992, 1993, 1999 Free Software Foundation, Inc. 
+@c Copyright (C) 1990, 1991, 1992, 1993, 1999 Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../info/locals
 @node Standard Buffer-Local Variables, Standard Keymaps, Standard Errors, Top
index a62b1838bf5db82f8b4ff1e9ac69e588182d8ecb..3c91e5bb317ec04cb395e63ed982206b4ed31eb1 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998 Free Software Foundation, Inc. 
+@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998 Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../info/macros
 @node Macros, Customization, Functions, Top
@@ -446,7 +446,7 @@ macro.  Here is a correct expansion for the @code{for} macro:
 @end group
 @end smallexample
 
-Here is a macro definition that creates this expansion: 
+Here is a macro definition that creates this expansion:
 
 @smallexample
 @group
index 06ac5c47fc1f77182a628b4c5af9ac02c73d7312..8a529e81d2f3d5c551d05ef7f97f40ede324c4de 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990, 1991, 1992, 1993, 1999 Free Software Foundation, Inc. 
+@c Copyright (C) 1990, 1991, 1992, 1993, 1999 Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../info/maps
 @node Standard Keymaps, Standard Hooks, Standard Buffer-Local Variables, Top
index 508955e39df76d2373f7896207401879452ed7c6..dec9396a7877d394dd3dd043da8e4178d9e356ec 100644 (file)
@@ -1,7 +1,7 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999
-@c   Free Software Foundation, Inc. 
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../info/markers
 @node Markers, Text, Positions, Top
@@ -595,7 +595,7 @@ marks of the current buffer, most recent first.
 @example
 @group
 mark-ring
-@result{} (#<marker at 11050 in markers.texi> 
+@result{} (#<marker at 11050 in markers.texi>
     #<marker at 10832 in markers.texi>
     @dots{})
 @end group
index d5e57d79327b0a511a1812b1d22ae3b603a44563..58ffd6d1a93d56a062ed3debe208744750ab51db 100644 (file)
@@ -1,7 +1,7 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001
-@c   Free Software Foundation, Inc. 
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../info/minibuf
 @node Minibuffers, Command Loop, Read and Print, Top
@@ -374,7 +374,7 @@ text which is a valid form already:
 @group
 (edit-and-eval-command "Please edit: " '(forward-word 1))
 
-;; @r{After evaluation of the preceding expression,} 
+;; @r{After evaluation of the preceding expression,}
 ;;   @r{the following appears in the minibuffer:}
 @end group
 
@@ -582,7 +582,7 @@ is @code{t}.
 
 @smallexample
 @group
-(try-completion 
+(try-completion
  "foo"
  '(("foobar1" 1) ("barfoo" 2) ("foobaz" 3) ("foobar2" 4)))
      @result{} "fooba"
@@ -612,14 +612,14 @@ too short).  Both of those begin with the string @samp{foobar}.
 
 @smallexample
 @group
-(defun test (s) 
+(defun test (s)
   (> (length (car s)) 6))
      @result{} test
 @end group
 @group
-(try-completion 
+(try-completion
  "foo"
- '(("foobar1" 1) ("barfoo" 2) ("foobaz" 3) ("foobar2" 4)) 
+ '(("foobar1" 1) ("barfoo" 2) ("foobaz" 3) ("foobar2" 4))
  'test)
      @result{} "foobar"
 @end group
@@ -642,13 +642,13 @@ example for @code{try-completion}:
 
 @smallexample
 @group
-(defun test (s) 
+(defun test (s)
   (> (length (car s)) 6))
      @result{} test
 @end group
 
 @group
-(all-completions  
+(all-completions
  "foo"
  '(("foobar1" 1) ("barfoo" 2) ("foobaz" 3) ("foobar2" 4))
  'test)
@@ -658,7 +658,7 @@ example for @code{try-completion}:
 @end defun
 
 @defvar completion-ignore-case
-If the value of this variable is 
+If the value of this variable is
 non-@code{nil}, Emacs does not consider case significant in completion.
 @end defvar
 
@@ -738,7 +738,7 @@ Here's an example of using @code{completing-read}:
 @end group
 
 @group
-;; @r{After evaluation of the preceding expression,} 
+;; @r{After evaluation of the preceding expression,}
 ;;   @r{the following appears in the minibuffer:}
 
 ---------- Buffer: Minibuffer ----------
@@ -923,7 +923,7 @@ only buffer name starting with the given input is
 @example
 (read-buffer "Buffer name? " "foo" t)
 @group
-;; @r{After evaluation of the preceding expression,} 
+;; @r{After evaluation of the preceding expression,}
 ;;   @r{the following prompt appears,}
 ;;   @r{with an empty minibuffer:}
 @end group
@@ -965,13 +965,13 @@ enters null input, the return value is @code{nil}.
 (read-command "Command name? ")
 
 @group
-;; @r{After evaluation of the preceding expression,} 
+;; @r{After evaluation of the preceding expression,}
 ;;   @r{the following prompt appears with an empty minibuffer:}
 @end group
 
 @group
----------- Buffer: Minibuffer ---------- 
-Command name?  
+---------- Buffer: Minibuffer ----------
+Command name?
 ---------- Buffer: Minibuffer ----------
 @end group
 @end example
@@ -990,7 +990,7 @@ complete in the set of extant Lisp symbols, and it uses the
 @group
 (read-command @var{prompt})
 @equiv{}
-(intern (completing-read @var{prompt} obarray 
+(intern (completing-read @var{prompt} obarray
                          'commandp t nil))
 @end group
 @end example
@@ -1010,8 +1010,8 @@ user enters null input, the return value is @code{nil}.
 @group
 (read-variable "Variable name? ")
 
-;; @r{After evaluation of the preceding expression,} 
-;;   @r{the following prompt appears,} 
+;; @r{After evaluation of the preceding expression,}
+;;   @r{the following prompt appears,}
 ;;   @r{with an empty minibuffer:}
 @end group
 
@@ -1080,13 +1080,13 @@ case, point goes at the beginning of @var{initial}.  The default for
 @var{initial} does, try the command @kbd{C-x C-v}.  @strong{Note:} we
 recommend using @var{default} rather than @var{initial} in most cases.
 
-Here is an example: 
+Here is an example:
 
 @example
 @group
 (read-file-name "The file is ")
 
-;; @r{After evaluation of the preceding expression,} 
+;; @r{After evaluation of the preceding expression,}
 ;;   @r{the following appears in the minibuffer:}
 @end group
 
@@ -1275,13 +1275,13 @@ invalid.  At the next prompt the user types @kbd{y}.
 @group
 (y-or-n-p "Do you need a lift? ")
 
-;; @r{After evaluation of the preceding expression,} 
+;; @r{After evaluation of the preceding expression,}
 ;;   @r{the following prompt appears in the echo area:}
 @end group
 
 @group
 ---------- Echo area ----------
-Do you need a lift? (y or n) 
+Do you need a lift? (y or n)
 ---------- Echo area ----------
 @end group
 
@@ -1289,7 +1289,7 @@ Do you need a lift? (y or n)
 
 @group
 ---------- Echo area ----------
-Please answer y or n.  Do you need a lift? (y or n) 
+Please answer y or n.  Do you need a lift? (y or n)
 ---------- Echo area ----------
 @end group
 
@@ -1335,14 +1335,14 @@ Here is an example:
 @group
 (yes-or-no-p "Do you really want to remove everything? ")
 
-;; @r{After evaluation of the preceding expression,} 
-;;   @r{the following prompt appears,} 
+;; @r{After evaluation of the preceding expression,}
+;;   @r{the following prompt appears,}
 ;;   @r{with an empty minibuffer:}
 @end group
 
 @group
 ---------- Buffer: minibuffer ----------
-Do you really want to remove everything? (yes or no) 
+Do you really want to remove everything? (yes or no)
 ---------- Buffer: minibuffer ----------
 @end group
 @end smallexample
index af38062706c0f5e841e49f5d88f828c7351cebaa..201e9ad3dc659721bb209e21111741e520bb851d 100644 (file)
@@ -1,7 +1,7 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999
-@c   Free Software Foundation, Inc. 
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../info/modes
 @node Modes, Documentation,  Keymaps, Top
@@ -99,7 +99,7 @@ Fundamental mode.  Rmail mode is a complicated and specialized mode.
 * Example Major Modes::     Text mode and Lisp modes.
 * Auto Major Mode::         How Emacs chooses the major mode automatically.
 * Mode Help::               Finding out how to use a mode.
-* Derived Modes::           Defining a new major mode based on another major 
+* Derived Modes::           Defining a new major mode based on another major
                               mode.
 @end menu
 
@@ -253,7 +253,7 @@ variable local to every buffer in which it is subsequently set, which
 would affect buffers that do not use this mode.  It is undesirable for a
 mode to have such global effects.  @xref{Buffer-Local Variables}.
 
-With rare exceptions, the only reasonable way to use 
+With rare exceptions, the only reasonable way to use
 @code{make-variable-buffer-local} in a Lisp package is for a variable
 which is used only within that package.  Using it on a variable used by
 other packages would interfere with them.
@@ -324,7 +324,7 @@ the conventions listed above:
 @smallexample
 @group
 ;; @r{Create mode-specific tables.}
-(defvar text-mode-syntax-table nil 
+(defvar text-mode-syntax-table nil
   "Syntax table used while in text mode.")
 @end group
 
@@ -403,7 +403,7 @@ correspondingly more complicated.  Here are excerpts from
 @smallexample
 @group
 ;; @r{Create mode-specific table variables.}
-(defvar lisp-mode-syntax-table nil "")  
+(defvar lisp-mode-syntax-table nil "")
 (defvar emacs-lisp-mode-syntax-table nil "")
 (defvar lisp-mode-abbrev-table nil "")
 @end group
@@ -419,7 +419,7 @@ correspondingly more complicated.  Here are excerpts from
       ;; @r{Set syntax of chars up to 0 to class of chars that are}
       ;;   @r{part of symbol names but not words.}
       ;;   @r{(The number 0 is @code{48} in the @sc{ascii} character set.)}
-      (while (< i ?0) 
+      (while (< i ?0)
         (modify-syntax-entry i "_   " emacs-lisp-mode-syntax-table)
         (setq i (1+ i)))
       @dots{}
@@ -513,7 +513,7 @@ And here is the code to set up the keymap for Lisp mode:
 @end smallexample
 
   Finally, here is the complete major mode function definition for
-Lisp mode.  
+Lisp mode.
 
 @smallexample
 @group
@@ -601,7 +601,7 @@ the @samp{mode:} local variable near the end of a file; the
 How Major Modes are Chosen, emacs, The GNU Emacs Manual}.
 @end defun
 
-@defopt default-major-mode 
+@defopt default-major-mode
 This variable holds the default major mode for new buffers.  The
 standard value is @code{fundamental-mode}.
 
@@ -649,7 +649,7 @@ For example,
 @end group
 @group
  ("\\.el\\'" . emacs-lisp-mode)
- ("\\.c\\'" . c-mode) 
+ ("\\.c\\'" . c-mode)
  ("\\.h\\'" . c-mode)
  @dots{})
 @end group
@@ -675,11 +675,11 @@ init file.)
 @smallexample
 @group
 (setq auto-mode-alist
-  (append 
+  (append
    ;; @r{File name (within directory) starts with a dot.}
-   '(("/\\.[^/]*\\'" . fundamental-mode)  
+   '(("/\\.[^/]*\\'" . fundamental-mode)
      ;; @r{File name has no dot.}
-     ("[^\\./]*\\'" . fundamental-mode)   
+     ("[^\\./]*\\'" . fundamental-mode)
      ;; @r{File name ends in @samp{.C}.}
      ("\\.C\\'" . c++-mode))
    auto-mode-alist))
@@ -742,7 +742,7 @@ This construct defines @var{variant} as a major mode command, using
 The new command @var{variant} is defined to call the function
 @var{parent}, then override certain aspects of that parent mode:
 
-@itemize @bullet 
+@itemize @bullet
 @item
 The new mode has its own keymap, named @code{@var{variant}-map}.
 @code{define-derived-mode} initializes this map to inherit from
@@ -751,25 +751,25 @@ The new mode has its own keymap, named @code{@var{variant}-map}.
 @item
 The new mode has its own syntax table, kept in the variable
 @code{@var{variant}-syntax-table}.
-@code{define-derived-mode} initializes this variable by copying 
+@code{define-derived-mode} initializes this variable by copying
 @code{@var{parent}-syntax-table}, if it is not already set.
 
 @item
 The new mode has its own abbrev table, kept in the variable
 @code{@var{variant}-abbrev-table}.
-@code{define-derived-mode} initializes this variable by copying 
+@code{define-derived-mode} initializes this variable by copying
 @code{@var{parent}-abbrev-table}, if it is not already set.
 
 @item
 The new mode has its own mode hook, @code{@var{variant}-hook},
 which it runs in standard fashion as the very last thing that it does.
-(The new mode also runs the mode hook of @var{parent} as part 
+(The new mode also runs the mode hook of @var{parent} as part
 of calling @var{parent}.)
 @end itemize
 
 In addition, you can specify how to override other aspects of
 @var{parent} with @var{body}.  The command @var{variant}
-evaluates the forms in @var{body} after setting up all its usual 
+evaluates the forms in @var{body} after setting up all its usual
 overrides, just before running @code{@var{variant}-hook}.
 
 The argument @var{docstring} specifies the documentation string for the
@@ -1011,7 +1011,7 @@ specifying bindings in this form:
 @smallexample
 (define-minor-mode hungry-mode
   "Toggle Hungry mode.
-With no argument, this command toggles the mode. 
+With no argument, this command toggles the mode.
 Non-null prefix argument turns on the mode.
 Null prefix argument turns off the mode.
 
@@ -1025,7 +1025,7 @@ See the command \\[hungry-electric-delete]."
  ;; The minor mode bindings.
  '(("\C-\^?" . hungry-electric-delete)
    ("\C-\M-\^?"
-    . (lambda () 
+    . (lambda ()
         (interactive)
         (hungry-electric-delete t)))))
 @end smallexample
@@ -1213,22 +1213,22 @@ directory.
    'mode-line-mule-info
    'mode-line-modified
    'mode-line-frame-identification
-   "%b--" 
+   "%b--"
 @end group
 @group
    ;; @r{Note that this is evaluated while making the list.}
    ;; @r{It makes a mode line construct which is just a string.}
    (getenv "HOST")
 @end group
-   ":" 
+   ":"
    'default-directory
    "   "
    'global-mode-string
    "   %[("
    '(:eval (mode-line-mode-name))
-   'mode-line-process  
-   'minor-mode-alist 
-   "%n" 
+   'mode-line-process
+   'minor-mode-alist
+   "%n"
    ")%]--"
 @group
    '(which-func-mode ("" which-func-format "--"))
@@ -1325,9 +1325,9 @@ The default value of @code{minor-mode-alist} is:
 @group
 minor-mode-alist
 @result{} ((vc-mode vc-mode)
-    (abbrev-mode " Abbrev") 
-    (overwrite-mode overwrite-mode) 
-    (auto-fill-function " Fill")         
+    (abbrev-mode " Abbrev")
+    (overwrite-mode overwrite-mode)
+    (auto-fill-function " Fill")
     (defining-kbd-macro " Def")
     (isearch-mode isearch-mode))
 @end group
@@ -1386,8 +1386,8 @@ The default value of @code{default-mode-line-format} is this list:
  ;; @r{properties to make it mouse-sensitive.}
  (:eval (mode-line-mode-name))
  mode-line-process
- minor-mode-alist 
- "%n" 
+ minor-mode-alist
+ "%n"
  ")%]--"
 @end group
 @group
@@ -2146,7 +2146,7 @@ Used (typically) for built-in function names.
 @item font-lock-function-name-face
 @vindex font-lock-function-name-face
 Used (typically) for the name of a function being defined or declared,
-in a function definition or declaration. 
+in a function definition or declaration.
 
 @item font-lock-variable-name-face
 @vindex font-lock-variable-name-face
index fbeedc191c89d5256d0675e27def9eccc8a55e46..de29dd9f3c9412209834ae1958ddd1c5068f93e8 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1998, 1999 Free Software Foundation, Inc. 
+@c Copyright (C) 1998, 1999 Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../info/characters
 @node Non-ASCII Characters, Searching and Matching, Text, Top
index 534550159c2e77cfd4af90509a4a77c4937c5774..b8361d528209712ab48fc43cfb4baac99e09f72d 100644 (file)
@@ -1,7 +1,7 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999
-@c   Free Software Foundation, Inc. 
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../info/numbers
 @node Numbers, Strings and Characters, Lisp Data Types, Top
@@ -40,14 +40,14 @@ minimum range is @minus{}134217728 to 134217727 (28 bits; i.e.,
 @ifnottex
 -2**27
 @end ifnottex
-@tex 
+@tex
 @math{-2^{27}}
 @end tex
-to 
+to
 @ifnottex
 2**27 - 1),
 @end ifnottex
-@tex 
+@tex
 @math{2^{27}-1}),
 @end tex
 but some machines may provide a wider range.  Many examples in this
@@ -746,7 +746,7 @@ like this (with 8-bit binary numbers):
 (lsh 3 2)
      @result{} 12
 ;; @r{Decimal 3 becomes decimal 12.}
-00000011 @result{} 00001100       
+00000011 @result{} 00001100
 @end group
 @end example
 
@@ -757,14 +757,14 @@ On the other hand, shifting one place to the right looks like this:
 (lsh 6 -1)
      @result{} 3
 ;; @r{Decimal 6 becomes decimal 3.}
-00000110 @result{} 00000011       
+00000110 @result{} 00000011
 @end group
 
 @group
 (lsh 5 -1)
      @result{} 2
 ;; @r{Decimal 5 becomes decimal 2.}
-00000101 @result{} 00000010       
+00000101 @result{} 00000010
 @end group
 @end example
 
@@ -787,7 +787,7 @@ In binary, in the 28-bit implementation, the argument looks like this:
 @example
 @group
 ;; @r{Decimal 134,217,727}
-0111  1111 1111  1111 1111  1111 1111         
+0111  1111 1111  1111 1111  1111 1111
 @end group
 @end example
 
@@ -797,7 +797,7 @@ which becomes the following when left shifted:
 @example
 @group
 ;; @r{Decimal @minus{}2}
-1111  1111 1111  1111 1111  1111 1110         
+1111  1111 1111  1111 1111  1111 1110
 @end group
 @end example
 @end defun
@@ -818,10 +818,10 @@ looks like this:
 
 @example
 @group
-(ash -6 -1) @result{} -3            
+(ash -6 -1) @result{} -3
 ;; @r{Decimal @minus{}6 becomes decimal @minus{}3.}
 1111  1111 1111  1111 1111  1111 1010
-     @result{} 
+     @result{}
 1111  1111 1111  1111 1111  1111 1101
 @end group
 @end example
@@ -834,7 +834,7 @@ In contrast, shifting the pattern of bits one place to the right with
 (lsh -6 -1) @result{} 134217725
 ;; @r{Decimal @minus{}6 becomes decimal 134,217,725.}
 1111  1111 1111  1111 1111  1111 1010
-     @result{} 
+     @result{}
 0111  1111 1111  1111 1111  1111 1101
 @end group
 @end example
@@ -992,7 +992,7 @@ bit is one in the result if, and only if, the @var{n}th bit is zero in
 @var{integer}, and vice-versa.
 
 @example
-(lognot 5)             
+(lognot 5)
      @result{} -6
 ;;  5  =  @r{0000  0000 0000  0000 0000  0000 0101}
 ;; @r{becomes}
index 02c11e7b990fb9077f1fe4a8d59413c55a7454c1..66c4f74ae2e885f492e7dbae3b476bf9996d9dd2 100644 (file)
@@ -1,7 +1,7 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999
-@c   Free Software Foundation, Inc. 
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../info/objects
 @node Lisp Data Types, Numbers, Introduction, Top
@@ -248,7 +248,7 @@ with a question mark.
   The usual read syntax for alphanumeric characters is a question mark
 followed by the character; thus, @samp{?A} for the character
 @kbd{A}, @samp{?B} for the character @kbd{B}, and @samp{?a} for the
-character @kbd{a}.  
+character @kbd{a}.
 
   For example:
 
@@ -397,7 +397,7 @@ bit to indicate that the shift key was used in typing a control
 character.  This distinction is possible only when you use X terminals
 or other special terminals; ordinary terminals do not report the
 distinction to the computer in any way.  The Lisp syntax for
-the shift bit is @samp{\S-}; thus, @samp{?\C-\S-o} or @samp{?\C-\S-O} 
+the shift bit is @samp{\S-}; thus, @samp{?\C-\S-o} or @samp{?\C-\S-O}
 represents the shifted-control-o character.
 
 @cindex hyper characters
@@ -899,8 +899,8 @@ ignores an escaped newline while reading a string.  An escaped space
 in documentation strings,
 but the newline is \
 ignored if escaped."
-     @result{} "It is useful to include newlines 
-in documentation strings, 
+     @result{} "It is useful to include newlines
+in documentation strings,
 but the newline is ignored if escaped."
 @end example
 
@@ -932,7 +932,7 @@ character to the string, but it does terminate the preceding hex escape.
 represent a unibyte non-@sc{ascii} character with its character code,
 which must be in the range from 128 (0200 octal) to 255 (0377 octal).
 This forces a unibyte string.
-  
+
   @xref{Text Representations}, for more information about the two
 text representations.
 
@@ -1071,7 +1071,7 @@ that it begins with @samp{#&} followed by the length.  The string
 constant that follows actually specifies the contents of the bool-vector
 as a bitmap---each ``character'' in the string contains 8 bits, which
 specify the next 8 elements of the bool-vector (1 stands for @code{t},
-and 0 for @code{nil}).  The least significant bits of the character 
+and 0 for @code{nil}).  The least significant bits of the character
 correspond to the lowest indices in the bool-vector.  If the length is not a
 multiple of 8, the printed representation shows extra elements, but
 these extras really make no difference.
index b2dfb771f147aa82657d0308615b3fc3362f0bbb..bbe2be75cbab4d8b34c62b141e9dc85370e84ac1 100644 (file)
@@ -36,7 +36,7 @@ set MANUAL=elisp  # the base name of the manual
 echo "Extract raw index from texinfo fn index."
 # Let texindex combine duplicate entries, later.
 # But it wants to protect non-alphanumerics thus confusing ptx.
-# Also change `\ ' to just a ` ', since texindex will fail. This is produced 
+# Also change `\ ' to just a ` ', since texindex will fail. This is produced
 # by `@findex two words' in an example environment (no doubt among others).
 # delete wrapper parens
 # change dots {} to dots{}
@@ -114,7 +114,7 @@ echo "Sort with texindex."
 ${TEXINDEX} permuted.fn
 #mv permuted.fns ${MANUAL}.fns
 
-# The resulting permuted.fns will be read when we run TeX 
+# The resulting permuted.fns will be read when we run TeX
 # on the manual the second time.  Or you can use permuted.texinfo here.
 #${TEX} permuted.texinfo
 
index 6b9d10e519d0bfe026bb673bde65951cd180a1f1..ac5efda9bc9dcf62c441ba5359e650e0f687480d 100644 (file)
@@ -1,7 +1,7 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2000, 2001
-@c  Free Software Foundation, Inc. 
+@c  Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../info/positions
 @node Positions, Markers, Frames, Top
@@ -631,7 +631,7 @@ beginning of the first screen line.  @xref{Minibuffer Misc}.
 
 @node List Motion
 @comment  node-name,  next,  previous,  up
-@subsection Moving over Balanced Expressions 
+@subsection Moving over Balanced Expressions
 @cindex sexp motion
 @cindex Lisp expression motion
 @cindex list motion
index 1ccc449f4e3643f6f3ee6c093f4c1112b672ad7d..5bcd50a582ef0afdedf25d444ba132f9c3376347 100644 (file)
@@ -1,7 +1,7 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999
-@c   Free Software Foundation, Inc. 
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../info/processes
 @node Processes, Display, Abbrevs, Top
@@ -108,7 +108,7 @@ must use @var{args} to provide those.
 specify overrides for it with @code{process-environment}.  @xref{System
 Environment}.
 
-@defvar exec-directory 
+@defvar exec-directory
 @pindex movemail
 The value of this variable is a string, the name of a directory that
 contains programs that come with GNU Emacs, programs intended for Emacs
@@ -355,8 +355,8 @@ inputinput@point{}
 
 @smallexample
 @group
-(call-process-region 
- start end         
+(call-process-region
+ start end
  shell-file-name      ; @r{Name of program.}
  nil                  ; @r{Do not delete region.}
  buffer               ; @r{Send output to @code{buffer}.}
@@ -866,7 +866,7 @@ which is called the associated buffer of the process, or a function
 called the @dfn{filter function} can be called to act on the output.  If
 the process has no buffer and no filter function, its output is
 discarded.
+
   When a subprocess terminates, Emacs reads any pending output,
 then stops reading output from that subprocess.  Therefore, if the
 subprocess has children that are still live and still producing
@@ -1205,7 +1205,7 @@ describing the type of event.
   The string describing the event looks like one of the following:
 
 @itemize @bullet
-@item 
+@item
 @code{"finished\n"}.
 
 @item
@@ -1301,7 +1301,7 @@ was not.
 @end defun
 
 @node Query Before Exit
-@section Querying Before Exit 
+@section Querying Before Exit
 
   When Emacs exits, it terminates all its subprocesses by sending them
 the @code{SIGHUP} signal.  Because some subprocesses are doing
index 7f586f8777a05764af01c865346652bba4f43db3..a172332e3a385cb6c29418886479fe6b2c98423e 100644 (file)
@@ -1,7 +1,7 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999
-@c   Free Software Foundation, Inc. 
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../info/searching
 @node Searching and Matching, Syntax Tables, Non-ASCII Characters, Top
@@ -325,7 +325,7 @@ multibyte character @var{c2}, the range is divided into two parts: one
 is @samp{@var{c}..?\377}, the other is @samp{@var{c1}..@var{c2}}, where
 @var{c1} is the first character of the charset to which @var{c2}
 belongs.
+
 You cannot always match all non-@sc{ascii} characters with the regular
 expression @code{"[\200-\377]"}.  This works when searching a unibyte
 buffer or string (@pxref{Text Representations}), but not in a multibyte
@@ -670,7 +670,7 @@ an @code{invalid-regexp} error is signaled.
 
   Here is a complicated regexp, used by Emacs to recognize the end of a
 sentence together with any whitespace that follows.  It is the value of
-the variable @code{sentence-end}.  
+the variable @code{sentence-end}.
 
   First, we show the regexp as a string in Lisp syntax to distinguish
 spaces from tab characters.  The string constant begins and ends with a
@@ -689,7 +689,7 @@ will see the following:
 @example
 @group
 sentence-end
-     @result{} "[.?!][]\"')@}]*\\($\\| $\\|  \\|  \\)[       
+     @result{} "[.?!][]\"')@}]*\\($\\| $\\|  \\|  \\)[
 ]*"
 @end group
 @end example
@@ -1325,7 +1325,7 @@ positions within the text:
 @group
 (string-match "\\(qu\\)\\(ick\\)"
               "The quick fox jumped quickly.")
-              ;0123456789      
+              ;0123456789
      @result{} 4
 @end group
 
index 813d606c30bb2b4ca261a68989f987acec1521fa..8e7ab4176e2e0a647c30bb964bc20494af07a04d 100644 (file)
@@ -1,7 +1,7 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999
-@c   Free Software Foundation, Inc. 
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../info/sequences
 @node Sequences Arrays Vectors, Hash Tables, Lists, Top
@@ -222,7 +222,7 @@ in the list.
   Emacs defines four types of array, all one-dimensional: @dfn{strings},
 @dfn{vectors}, @dfn{bool-vectors} and @dfn{char-tables}.  A vector is a
 general array; its elements can be any Lisp objects.  A string is a
-specialized array; its elements must be characters.  Each type of array 
+specialized array; its elements must be characters.  Each type of array
 has its own read syntax.
 @xref{String Type}, and @ref{Vector Type}.
 
index 74f9e43e92c54634c285d4b95cf1a16a77b45000..bddc65a6423d996c23a19c65fba55793c112c066 100644 (file)
@@ -1,7 +1,7 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1998, 1999
-@c   Free Software Foundation, Inc. 
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../info/streams
 @node Read and Print, Minibuffers, Debugging, Top
@@ -489,7 +489,7 @@ in reverse order.
 
 @group
 last-output
-     @result{} (10 34 116 117 112 116 117 111 32 101 104 
+     @result{} (10 34 116 117 112 116 117 111 32 101 104
     116 32 115 105 32 115 105 104 84 34 10)
 @end group
 @end example
@@ -566,13 +566,13 @@ characters are used.  @code{print} returns @var{object}.  For example:
 (progn (print 'The\ cat\ in)
        (print "the hat")
        (print " came back"))
-     @print{} 
+     @print{}
      @print{} The\ cat\ in
-     @print{} 
+     @print{}
      @print{} "the hat"
-     @print{} 
+     @print{}
      @print{} " came back"
-     @print{} 
+     @print{}
      @result{} " came back"
 @end group
 @end example
@@ -586,8 +586,8 @@ This function outputs the printed representation of @var{object} to
 
 @example
 @group
-(progn (prin1 'The\ cat\ in) 
-       (prin1 "the hat") 
+(progn (prin1 'The\ cat\ in)
+       (prin1 "the hat")
        (prin1 " came back"))
      @print{} The\ cat\ in"the hat"" came back"
      @result{} " came back"
@@ -771,12 +771,12 @@ exceeding this limit is abbreviated with an ellipsis.  A value of
 @code{nil} (which is the default) means no limit.
 @end defvar
 
-  These variables are used for detecting and reporting circular 
+  These variables are used for detecting and reporting circular
 and shared structure---but they are only defined in Emacs 21.
 
 @tindex print-circle
 @defvar print-circle
-If non-@code{nil}, this variable enables detection of circular 
+If non-@code{nil}, this variable enables detection of circular
 and shared structure in printing.
 @end defvar
 
index f35f94b2bc4ae74a4e09e90938b79dd0ec923b2f..0870e0b5369072e50c8aad4d0ce20233d9ae234f 100644 (file)
@@ -1,7 +1,7 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999
-@c   Free Software Foundation, Inc. 
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../info/strings
 @node Strings and Characters, Lists, Numbers, Top
@@ -158,7 +158,7 @@ position up to which the substring is copied.  The character whose index
 is 3 is actually the fourth character in the string.
 
 A negative number counts from the end of the string, so that @minus{}1
-signifies the index of the last character of the string.  For example: 
+signifies the index of the last character of the string.  For example:
 
 @example
 @group
@@ -410,7 +410,7 @@ no characters is less than any other string.
 (string< "abc" "ab")
      @result{} nil
 (string< "" "")
-     @result{} nil                   
+     @result{} nil
 @end group
 @end example
 @end defun
@@ -597,7 +597,7 @@ in how they use the result of formatting.
 
 @defun format string &rest objects
 This function returns a new string that is made by copying
-@var{string} and then replacing any format specification 
+@var{string} and then replacing any format specification
 in the copy with encodings of the corresponding @var{objects}.  The
 arguments @var{objects} are the computed values to be formatted.
 
@@ -707,9 +707,9 @@ operation} error.
 (format "The buffer object prints as %s." (current-buffer))
      @result{} "The buffer object prints as strings.texi."
 
-(format "The octal value of %d is %o, 
+(format "The octal value of %d is %o,
          and the hex value is %x." 18 18 18)
-     @result{} "The octal value of 18 is 22, 
+     @result{} "The octal value of 18 is 22,
          and the hex value is 12."
 @end group
 @end example
@@ -745,32 +745,32 @@ only 3 letters, so 4 blank spaces are inserted for padding.  In the
 second case, the string @code{"specification"} is 13 letters wide but is
 not truncated.  In the third case, the padding is on the right.
 
-@smallexample 
+@smallexample
 @group
 (format "The word `%7s' actually has %d letters in it."
         "foo" (length "foo"))
-     @result{} "The word `    foo' actually has 3 letters in it."  
+     @result{} "The word `    foo' actually has 3 letters in it."
 @end group
 
 @group
 (format "The word `%7s' actually has %d letters in it."
-        "specification" (length "specification")) 
-     @result{} "The word `specification' actually has 13 letters in it."  
+        "specification" (length "specification"))
+     @result{} "The word `specification' actually has 13 letters in it."
 @end group
 
 @group
 (format "The word `%-7s' actually has %d letters in it."
         "foo" (length "foo"))
-     @result{} "The word `foo    ' actually has 3 letters in it."  
+     @result{} "The word `foo    ' actually has 3 letters in it."
 @end group
 @end smallexample
 
 @node Case Conversion
-@comment node-name, next, previous, up 
+@comment node-name, next, previous, up
 @section Case Conversion in Lisp
-@cindex upper case 
-@cindex lower case 
-@cindex character case 
+@cindex upper case
+@cindex lower case
+@cindex character case
 @cindex case conversion in Lisp
 
   The character case functions change the case of single characters or
index e9459de708cb629d44e3357e887032f3fd8c6fdc..ae4dffec89c53b97a23440cd9b91ad398b94824a 100644 (file)
@@ -1,7 +1,7 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999
-@c   Free Software Foundation, Inc. 
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../info/symbols
 @node Symbols, Evaluation, Hash Tables, Top
index 0d7c1cd03643f19b0438aa89d18d1ca6aa22bf0f..07aca71e94e64b76d55c38584806c6601334d70b 100644 (file)
@@ -1,7 +1,7 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999
-@c   Free Software Foundation, Inc. 
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../info/syntax
 @node Syntax Tables, Abbrevs, Searching and Matching, Top
@@ -664,36 +664,36 @@ The result is a list of nine elements describing the final state of
 the parse:
 
 @enumerate 0
-@item 
+@item
 The depth in parentheses, counting from 0.
 
-@item 
+@item
 @cindex innermost containing parentheses
 The character position of the start of the innermost parenthetical
 grouping containing the stopping point; @code{nil} if none.
 
-@item 
+@item
 @cindex previous complete subexpression
 The character position of the start of the last complete subexpression
 terminated; @code{nil} if none.
 
-@item 
+@item
 @cindex inside string
 Non-@code{nil} if inside a string.  More precisely, this is the
 character that will terminate the string, or @code{t} if a generic
 string delimiter character should terminate it.
 
-@item 
+@item
 @cindex inside comment
 @code{t} if inside a comment (of either style),
 or the comment nesting level if inside a kind of comment
 that can be nested.
 
-@item 
+@item
 @cindex quote character
 @code{t} if point is just after a quote character.
 
-@item 
+@item
 The minimum parenthesis depth encountered during this scan.
 
 @item
index 2544e4d2ce922224534c1e3b76fcb9eb0e1af380..cd4140dd220ce813f7b58a133db3da74701ad199 100644 (file)
@@ -1,7 +1,7 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2000, 2001
-@c   Free Software Foundation, Inc. 
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../info/text
 @node Text, Non-ASCII Characters, Markers, Top
@@ -429,7 +429,7 @@ Do not try substituting your own definition of
 loop handles this function specially.
 @end deffn
 
-@deffn Command newline &optional number-of-newlines 
+@deffn Command newline &optional number-of-newlines
 This command inserts newlines into the current buffer before point.
 If @var{number-of-newlines} is supplied, that many newline characters
 are inserted.
@@ -614,7 +614,7 @@ You thought
 @end example
 @end deffn
 
-@deffn Command delete-indentation &optional join-following-p 
+@deffn Command delete-indentation &optional join-following-p
 This function joins the line point is on to the previous line, deleting
 any whitespace at the join and in some cases replacing it with one
 space.  If @var{join-following-p} is non-@code{nil},
@@ -945,7 +945,7 @@ selection from the newly killed text.  @xref{Window System Selections}.
 
   The variable @code{kill-ring} holds the kill ring contents, in the
 form of a list of strings.  The most recent kill is always at the front
-of the list. 
+of the list.
 
   The @code{kill-ring-yank-pointer} variable points to a link in the
 kill ring list, whose @sc{car} is the text to yank next.  We say it
@@ -970,7 +970,7 @@ rotate the ring so that the newly killed text is at the front.
 
   Here is a diagram that shows the variable @code{kill-ring-yank-pointer}
 pointing to the second entry in the kill ring @code{("some text" "a
-different piece of text" "yet older text")}.  
+different piece of text" "yet older text")}.
 
 @example
 @group
@@ -980,11 +980,11 @@ kill-ring                  ---- kill-ring-yank-pointer
   |     --- ---          --- ---      --- ---
    --> |   |   |------> |   |   |--> |   |   |--> nil
         --- ---          --- ---      --- ---
-         |                |            |            
-         |                |            |            
-         |                |             -->"yet older text" 
+         |                |            |
+         |                |            |
+         |                |             -->"yet older text"
          |                |
-         |                 --> "a different piece of text" 
+         |                 --> "a different piece of text"
          |
           --> "some text"
 @end group
@@ -1040,7 +1040,7 @@ to record where point was before the command.
 
 @item (@var{beg} . @var{end})
 This kind of element indicates how to delete text that was inserted.
-Upon insertion, the text occupied the range @var{beg}--@var{end} in the 
+Upon insertion, the text occupied the range @var{beg}--@var{end} in the
 buffer.
 
 @item (@var{text} . @var{position})
@@ -2123,7 +2123,7 @@ interactively.
   These commands, primarily for interactive use, act based on the
 indentation in the text.
 
-@deffn Command back-to-indentation 
+@deffn Command back-to-indentation
 @comment !!SourceFile simple.el
 This command moves point to the first non-whitespace character in the
 current line (which is the line in which point is located).  It returns
@@ -2509,7 +2509,7 @@ properties are not identical to those of the character just after
 @var{pos}.
 
 If @var{limit} is non-@code{nil}, then the scan ends at position
-@var{limit}.  If there is no property change before that point, 
+@var{limit}.  If there is no property change before that point,
 @code{next-property-change} returns @var{limit}.
 
 The value is @code{nil} if the properties remain unchanged all the way
@@ -2540,7 +2540,7 @@ returns the position of the first character beyond @var{pos} whose
 @var{pos}.
 
 If @var{limit} is non-@code{nil}, then the scan ends at position
-@var{limit}.  If there is no property change before that point, 
+@var{limit}.  If there is no property change before that point,
 @code{next-single-property-change} returns @var{limit}.
 
 The value is @code{nil} if the property remains unchanged all the way to
@@ -3052,7 +3052,7 @@ uses may be possible.
 
 We invite users to write Lisp programs to store and retrieve text
 properties in files, using these hooks, and thus to experiment with
-various data formats and find good ones.  Eventually we hope users 
+various data formats and find good ones.  Eventually we hope users
 will produce good, general extensions we can install in Emacs.
 
 We suggest not trying to handle arbitrary Lisp objects as text property
index c138f5d66f1df646e9ad9342dad707e922518c54..459a2b72e84f064bfd132fde5acd0aeb85453d1e 100755 (executable)
@@ -52,7 +52,7 @@ my $help = 0;
 my $version = 0;
 my $old;
 
-my $rc = GetOptions ('help' => \$help, 'version' => \$version, 
+my $rc = GetOptions ('help' => \$help, 'version' => \$version,
                      'old=s' => \$old);
 if ($version) {
     print "0.1\n";
@@ -86,14 +86,14 @@ foreach $file (@old_files) {
     close IN;
 }
 
-# Process current files and remove those @tindex lines which we 
+# Process current files and remove those @tindex lines which we
 # know were already present in the files scanned above.
 
 print "Removing old \@tindex lines\n";
 foreach $file (@new_files) {
     my $modified = 0;
     my $contents = "";
-    
+
     open (IN, "< $file") or fatal "Cannot open $file.orig for reading: $!";
     while (<IN>) {
        if (/^\s*\@tindex\s+(\S+)/ && $tindex{$1}) {
@@ -103,7 +103,7 @@ foreach $file (@new_files) {
            $contents = $contents . $_;
        }
     }
-    
+
     close IN;
 
     if ($modified) {
index 4eb0e3f700555fc56209231e0a9dec68853bbd69..592a0015e7563536a857bd4a17e757b826bcf9d2 100644 (file)
@@ -1,7 +1,7 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1995, 1998, 1999
-@c   Free Software Foundation, Inc. 
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../info/tips
 @node Tips, GNU Emacs Internals, GPL, Top
@@ -435,7 +435,7 @@ can be worth rearranging a data structure so that one of these primitive
 search functions can be used.
 
 @item
-Certain built-in functions are handled specially in byte-compiled code, 
+Certain built-in functions are handled specially in byte-compiled code,
 avoiding the need for an ordinary function call.  It is a good idea to
 use these functions rather than alternatives.  To see whether a function
 is handled specially by the compiler, examine its @code{byte-compile}
@@ -537,7 +537,7 @@ In Dired, visit the file or directory named on this line.
 
 @item
 Do not start or end a documentation string with whitespace.
+
 @item
 @strong{Do not} indent subsequent lines of a documentation string so
 that the text is lined up in the source code with the text of the first
index b3fb7a665f40cf8233e34da352bb1ef138c4c069..f21028f1f32f9106313f963a66972900da312af2 100644 (file)
@@ -28,7 +28,7 @@ and in Volume II:
     list motion .........117
 
 All other references and the table of contents work the same way.  I
-find this *very* helpful. 
+find this *very* helpful.
 
 
 In brief: you run tex on a .texi file with
@@ -126,16 +126,16 @@ Create volume specific .toc files with volume numbers in them.
 % cp elisp-toc-2vol.toc elisp1-toc.toc
 % cp elisp-toc-2vol.toc elisp2-toc.toc
 
-Use keyboard macro to put I: in first half of elisp1-toc.toc and 
+Use keyboard macro to put I: in first half of elisp1-toc.toc and
 II: in first half of elisp2-toc.toc
 
 Copy the tocs to something you can remember more easily
 
-% cp elisp2-toc.toc elisp1-toc-ready.toc 
-% cp elisp1-toc.toc elisp2-toc-ready.toc 
+% cp elisp2-toc.toc elisp1-toc-ready.toc
+% cp elisp1-toc.toc elisp2-toc-ready.toc
 
-Then, edit vol1.texi to input elisp1-toc-ready.toc 
-and vol2.texi to input elisp2-toc-ready.toc 
+Then, edit vol1.texi to input elisp1-toc-ready.toc
+and vol2.texi to input elisp2-toc-ready.toc
 
 
 ### Now format the two volumes:
@@ -217,7 +217,7 @@ Then insert marked file into other volume's .aux file."
 
 (defun volume-index-markup (arg)
   "Prepend  `NUMBER:' to page number.  Use Roman Numeral.
-Apply only to unsorted index file, 
+Apply only to unsorted index file,
 Then insert marked file into other volume's unsorted index file.
 Then run texindex on that file and save."
   (interactive
@@ -236,11 +236,11 @@ The steps:
 1. Run TeX, texindex and TeX on file1.
 2. Run TeX, texindex and TeX on file2.
 
-3. Copy both .aux files into specially named files 
+3. Copy both .aux files into specially named files
 
-4. In the case of the elisp ref manual, 
+4. In the case of the elisp ref manual,
 
-   copy the *unsorted* function index files into specially named files 
+   copy the *unsorted* function index files into specially named files
    (no other index used in elisp ref manual)
 
 
@@ -249,7 +249,7 @@ The steps:
    Run a function on the specially named .aux files to label each
    entry according to volume.  Save these files.
 
-   i.e., convert     
+   i.e., convert
    'xrdef {Special-pg}{7}  to 'xrdef {Special-pg}{7, vol.'tie1}
 
 5a.Insert each specially named .aux file into the regular .aux file of
index f8f00bde5b561f113130b012aea410c3953ed560..bad18d48485d76b42753e01b0899a0b63ee147c1 100644 (file)
@@ -14,7 +14,7 @@ Then insert marked file into other volume's .aux file."
 
 (defun volume-index-markup (arg)
   "Prepend  `NUMBER:' to page number.  Use Roman Numeral.
-Apply only to unsorted index file, 
+Apply only to unsorted index file,
 Then insert marked file into other volume's unsorted index file.
 Then run texindex on that file and save."
   (interactive
@@ -43,7 +43,7 @@ This is for the *Elisp Ref Manual*"
   (insert "\\unnumbchapentry {Volume 1}{}\n\\unnumbchapentry {}{}\n")
   (search-forward "\\unnumbchapentry {Index}")
   (forward-line 1)
-  (insert 
+  (insert
    "\\unnumbchapentry {}{}\n\\unnumbchapentry {}{}\n\\unnumbchapentry {}{}\n\\unnumbchapentry {}{}\n\\unnumbchapentry {Volume 2}{}\n\\unnumbchapentry {}{}\n"))
 
 
index 48003e0977aec6fcd515d431645f05078a2334c0..9b83117f67ba6c41ee487c029d191c4b409e7f21 100644 (file)
@@ -1,7 +1,7 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2000
-@c   Free Software Foundation, Inc. 
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../info/variables
 @node Variables, Functions, Control Structures, Top
@@ -207,7 +207,7 @@ Here is an example of this: @code{Z} is bound to the old value of
      @result{} 2
 @end group
 @group
-(let ((Y 1) 
+(let ((Y 1)
       (Z Y))
   (list Y Z))
      @result{} (1 2)
@@ -767,7 +767,7 @@ The value of the @code{setq} form is the value of the last @var{form}.
 x                   ; @r{@code{x} now has a global value.}
      @result{} 3
 @group
-(let ((x 5)) 
+(let ((x 5))
   (setq x 6)        ; @r{The local binding of @code{x} is set.}
   x)
      @result{} 6
@@ -784,7 +784,7 @@ second @var{symbol} is set, and so on:
 @group
 (setq x 10          ; @r{Notice that @code{x} is set before}
       y (1+ x))     ;   @r{the value of @code{y} is computed.}
-     @result{} 11             
+     @result{} 11
 @end group
 @end example
 @end defspec
@@ -1350,7 +1350,7 @@ then the variable appears directly in the resulting list.
     (mode-name . "Fundamental")
     @dots{}
 @group
-    ;; @r{Next, non-built-in buffer-local variables.} 
+    ;; @r{Next, non-built-in buffer-local variables.}
     ;; @r{This one is buffer-local and void:}
     foobar
     ;; @r{This one is buffer-local and nonvoid:}
index ddd4f776013e0417f5059ecce19d0efb9fc0dd59..795d3974b2e77c58aa42a93dfd334c8dd7763e5a 100644 (file)
@@ -23,7 +23,7 @@
 @c \overfullrule=0pt
 @c end tex
 
-@c Start volume 1 chapter numbering on chapter 1; 
+@c Start volume 1 chapter numbering on chapter 1;
 @c this must be listed as chapno 0.
 @tex
 \global\chapno=0
 @c -----
 @c [163] [164] [165] [166]) (loading.texi Chapter 13 [167] [168] [169]
 @c Overfull \hbox (20.5428pt too wide) in paragraph at lines 131--131
-@c []@ninett 
+@c []@ninett
 @c setenv EMAC-SLOAD-PATH .:/user/bil/emacs:/usr/local/lib/emacs/lisp[]
 @c -----
 @c (minibuf.texi Chapter 17 [206] [207] [208] [209] [210] [211] [212] [213]
 @c [214] [215]
 @c Overfull \hbox (2.09094pt too wide) in paragraph at lines 550--560
-@c @texttt map[] @textrm if @textsl require-match @textrm is 
-@c  @texttt nil[]@textrm , or else with the keymap @texttt minibuffer- 
+@c @texttt map[] @textrm if @textsl require-match @textrm is
+@c  @texttt nil[]@textrm , or else with the keymap @texttt minibuffer-
 @c -----
 @c (locals.texi Appendix @char 68 [533] [534]
 @c Underfull \hbox (badness 2512) in paragraph at lines 4--4
-@c []@chaprm Appendix DStandard Buffer-Local 
+@c []@chaprm Appendix DStandard Buffer-Local
 
 @c -------------------------------------------------------------------
 
@@ -186,11 +186,11 @@ instead of in the original English.
 @sp 2
 @center @titlefont{Volume 1}
 @sp 3
-@center by Bil Lewis, Dan LaLiberte, 
+@center by Bil Lewis, Dan LaLiberte,
 @center and the GNU Manual Group
 @page
 @vskip 0pt plus 1filll
-Copyright @copyright{} 1990, 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc. 
+Copyright @copyright{} 1990, 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
 
 @sp 2
 Edition 2.4 @*
@@ -325,8 +325,8 @@ Conventions
 
 Format of Descriptions
 
-* A Sample Function Description::       
-* A Sample Variable Description::   
+* A Sample Function Description::
+* A Sample Variable Description::
 
 Lisp Data Types
 
@@ -435,7 +435,7 @@ Evaluation
 * Intro Eval::              Evaluation in the scheme of things.
 * Eval::                    How to invoke the Lisp interpreter explicitly.
 * Forms::                   How various sorts of objects are evaluated.
-* Quoting::                 Avoiding evaluation (to put constants in 
+* Quoting::                 Avoiding evaluation (to put constants in
                               the program).
 
 Kinds of Forms
@@ -488,11 +488,11 @@ Variables
 
 Scoping Rules for Variable Bindings
 
-* Scope::                   Scope means where in the program a value 
+* Scope::                   Scope means where in the program a value
                               is visible.  Comparison with other languages.
 * Extent::                  Extent means how long in time a value exists.
 * Impl of Scope::           Two ways to implement dynamic scoping.
-* Using Scoping::           How to use dynamic scoping carefully and 
+* Using Scoping::           How to use dynamic scoping carefully and
                               avoid problems.
 
 Buffer-Local Variables
@@ -510,11 +510,11 @@ Functions
 * Defining Functions::      Lisp expressions for defining functions.
 * Calling Functions::       How to use an existing function.
 * Mapping Functions::       Applying a function to each element of a list, etc.
-* Anonymous Functions::     Lambda-expressions are functions with no names.    
+* Anonymous Functions::     Lambda-expressions are functions with no names.
 * Function Cells::          Accessing or setting the function definition
                               of a symbol.
 * Related Topics::          Cross-references to specific Lisp primitives
-                              that have a special bearing on how 
+                              that have a special bearing on how
                               functions work.
 
 Lambda Expressions
@@ -550,10 +550,10 @@ Debugging Lisp Programs
 
 * Debugger::                How the Emacs Lisp debugger is implemented.
 * Syntax Errors::           How to find syntax errors.
-* Compilation Errors::      How to find errors that show up in 
+* Compilation Errors::      How to find errors that show up in
                               byte compilation.
 * Edebug::                  A source-level Emacs Lisp debugger.
-                                
+
 The Lisp Debugger
 
 * Error Debugging::         Entering the debugger when an error happens.
@@ -572,10 +572,10 @@ Debugging Invalid Lisp Syntax
 Reading and Printing Lisp Objects
 
 * Streams Intro::           Overview of streams, reading and printing.
-* Input Streams::           Various data types that can be used as 
+* Input Streams::           Various data types that can be used as
                               input streams.
 * Input Functions::         Functions to read Lisp objects from text.
-* Output Streams::          Various data types that can be used as 
+* Output Streams::          Various data types that can be used as
                               output streams.
 * Output Functions::        Functions to print Lisp objects as text.
 
@@ -647,7 +647,7 @@ Major and Minor Modes
 * Major Modes::             Defining major modes.
 * Minor Modes::             Defining minor modes.
 * Mode Line Format::        Customizing the text that appears in the mode line.
-* Hooks::                   How to use hooks; how to write code that 
+* Hooks::                   How to use hooks; how to write code that
                               provides hooks.
 
 Major Modes
@@ -707,7 +707,7 @@ File Names
 * File Name Components::    The directory part of a file name, and the rest.
 * Directory Names::         A directory's name as a directory
                               is different from its name as a file.
-* Relative File Names::     Some file names are relative to a 
+* Relative File Names::     Some file names are relative to a
                               current directory.
 * File Name Expansion::     Converting relative file names to absolute ones.
 * Unique File Names::       Generating names for temporary files.
@@ -715,17 +715,17 @@ File Names
 
 Backups and Auto-Saving
 
-* Backup Files::            How backup files are made; how their names 
+* Backup Files::            How backup files are made; how their names
                               are chosen.
 * Auto-Saving::             How auto-save files are made; how their
                               names are chosen.
-* Reverting::               @code{revert-buffer}, and how to customize 
+* Reverting::               @code{revert-buffer}, and how to customize
                               what it does.
 
 Backup Files
 
 * Making Backups::          How Emacs makes backup files, and when.
-* Rename or Copy::          Two alternatives: renaming the old file 
+* Rename or Copy::          Two alternatives: renaming the old file
                               or copying it.
 * Numbered Backups::        Keeping multiple backups for each source file.
 * Backup Names::            How backup file names are computed; customization.
@@ -759,7 +759,7 @@ Windows
                               and choosing a window for it.
 * Window Point::            Each window has its own location of point.
 * Window Start::            The display-start position controls which text
-                              is on-screen in the window. 
+                              is on-screen in the window.
 * Vertical Scrolling::      Moving text up and down in the window.
 * Horizontal Scrolling::    Moving text sideways on the window.
 * Size of Window::          Accessing the size of a window.
@@ -815,7 +815,7 @@ Markers
 * Predicates on Markers::   Testing whether an object is a marker.
 * Creating Markers::        Making empty markers or markers at certain places.
 * Information from Markers::  Finding the marker's buffer or character
-                                position. 
+                                position.
 * Changing Markers::        Moving the marker to a new buffer or position.
 * The Mark::                How ``the mark'' is implemented with a marker.
 * The Region::              How to access ``the region''.
@@ -841,7 +841,7 @@ Text
 * Substitution::            Replacing a given character wherever it appears.
 * Registers::               How registers are implemented.  Accessing
                               the text or position stored in a register.
-                              
+
 The Kill Ring
 
 * Kill Ring Concepts::      What text looks like in the kill ring.
index 93e677ced5898f2a5cb902c9d7436662b06bd6ab..349a886324f916da0cd28377c636bfc3cb8e078c 100644 (file)
@@ -23,7 +23,7 @@
 @c \overfullrule=0pt
 @c end tex
 
-@c Start volume 2 chapter numbering on chapter 21; 
+@c Start volume 2 chapter numbering on chapter 21;
 @c this must be listed as chapno 20.
 @tex
 \global\chapno=20
 @c -----
 @c [163] [164] [165] [166]) (loading.texi Chapter 13 [167] [168] [169]
 @c Overfull \hbox (20.5428pt too wide) in paragraph at lines 131--131
-@c []@ninett 
+@c []@ninett
 @c setenv EMAC-SLOAD-PATH .:/user/bil/emacs:/usr/local/lib/emacs/lisp[]
 @c -----
 @c (minibuf.texi Chapter 17 [206] [207] [208] [209] [210] [211] [212] [213]
 @c [214] [215]
 @c Overfull \hbox (2.09094pt too wide) in paragraph at lines 550--560
-@c @texttt map[] @textrm if @textsl require-match @textrm is 
-@c  @texttt nil[]@textrm , or else with the keymap @texttt minibuffer- 
+@c @texttt map[] @textrm if @textsl require-match @textrm is
+@c  @texttt nil[]@textrm , or else with the keymap @texttt minibuffer-
 @c -----
 @c (locals.texi Appendix @char 68 [533] [534]
 @c Underfull \hbox (badness 2512) in paragraph at lines 4--4
-@c []@chaprm Appendix DStandard Buffer-Local 
+@c []@chaprm Appendix DStandard Buffer-Local
 
 @c -------------------------------------------------------------------
 
@@ -186,11 +186,11 @@ instead of in the original English.
 @sp 2
 @center @titlefont{Volume 2}
 @sp 3
-@center by Bil Lewis, Dan LaLiberte, 
+@center by Bil Lewis, Dan LaLiberte,
 @center and the GNU Manual Group
 @page
 @vskip 0pt plus 1filll
-Copyright @copyright{} 1990, 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc. 
+Copyright @copyright{} 1990, 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
 
 @sp 2
 Edition 2.4 @*
@@ -325,8 +325,8 @@ Conventions
 
 Format of Descriptions
 
-* A Sample Function Description::       
-* A Sample Variable Description::   
+* A Sample Function Description::
+* A Sample Variable Description::
 
 Lisp Data Types
 
@@ -435,7 +435,7 @@ Evaluation
 * Intro Eval::              Evaluation in the scheme of things.
 * Eval::                    How to invoke the Lisp interpreter explicitly.
 * Forms::                   How various sorts of objects are evaluated.
-* Quoting::                 Avoiding evaluation (to put constants in 
+* Quoting::                 Avoiding evaluation (to put constants in
                               the program).
 
 Kinds of Forms
@@ -488,11 +488,11 @@ Variables
 
 Scoping Rules for Variable Bindings
 
-* Scope::                   Scope means where in the program a value 
+* Scope::                   Scope means where in the program a value
                               is visible.  Comparison with other languages.
 * Extent::                  Extent means how long in time a value exists.
 * Impl of Scope::           Two ways to implement dynamic scoping.
-* Using Scoping::           How to use dynamic scoping carefully and 
+* Using Scoping::           How to use dynamic scoping carefully and
                               avoid problems.
 
 Buffer-Local Variables
@@ -510,11 +510,11 @@ Functions
 * Defining Functions::      Lisp expressions for defining functions.
 * Calling Functions::       How to use an existing function.
 * Mapping Functions::       Applying a function to each element of a list, etc.
-* Anonymous Functions::     Lambda-expressions are functions with no names.    
+* Anonymous Functions::     Lambda-expressions are functions with no names.
 * Function Cells::          Accessing or setting the function definition
                               of a symbol.
 * Related Topics::          Cross-references to specific Lisp primitives
-                              that have a special bearing on how 
+                              that have a special bearing on how
                               functions work.
 
 Lambda Expressions
@@ -550,10 +550,10 @@ Debugging Lisp Programs
 
 * Debugger::                How the Emacs Lisp debugger is implemented.
 * Syntax Errors::           How to find syntax errors.
-* Compilation Errors::      How to find errors that show up in 
+* Compilation Errors::      How to find errors that show up in
                               byte compilation.
 * Edebug::                  A source-level Emacs Lisp debugger.
-                                
+
 The Lisp Debugger
 
 * Error Debugging::         Entering the debugger when an error happens.
@@ -572,10 +572,10 @@ Debugging Invalid Lisp Syntax
 Reading and Printing Lisp Objects
 
 * Streams Intro::           Overview of streams, reading and printing.
-* Input Streams::           Various data types that can be used as 
+* Input Streams::           Various data types that can be used as
                               input streams.
 * Input Functions::         Functions to read Lisp objects from text.
-* Output Streams::          Various data types that can be used as 
+* Output Streams::          Various data types that can be used as
                               output streams.
 * Output Functions::        Functions to print Lisp objects as text.
 
@@ -647,7 +647,7 @@ Major and Minor Modes
 * Major Modes::             Defining major modes.
 * Minor Modes::             Defining minor modes.
 * Mode Line Format::        Customizing the text that appears in the mode line.
-* Hooks::                   How to use hooks; how to write code that 
+* Hooks::                   How to use hooks; how to write code that
                               provides hooks.
 
 Major Modes
@@ -707,7 +707,7 @@ File Names
 * File Name Components::    The directory part of a file name, and the rest.
 * Directory Names::         A directory's name as a directory
                               is different from its name as a file.
-* Relative File Names::     Some file names are relative to a 
+* Relative File Names::     Some file names are relative to a
                               current directory.
 * File Name Expansion::     Converting relative file names to absolute ones.
 * Unique File Names::       Generating names for temporary files.
@@ -715,17 +715,17 @@ File Names
 
 Backups and Auto-Saving
 
-* Backup Files::            How backup files are made; how their names 
+* Backup Files::            How backup files are made; how their names
                               are chosen.
 * Auto-Saving::             How auto-save files are made; how their
                               names are chosen.
-* Reverting::               @code{revert-buffer}, and how to customize 
+* Reverting::               @code{revert-buffer}, and how to customize
                               what it does.
 
 Backup Files
 
 * Making Backups::          How Emacs makes backup files, and when.
-* Rename or Copy::          Two alternatives: renaming the old file 
+* Rename or Copy::          Two alternatives: renaming the old file
                               or copying it.
 * Numbered Backups::        Keeping multiple backups for each source file.
 * Backup Names::            How backup file names are computed; customization.
@@ -759,7 +759,7 @@ Windows
                               and choosing a window for it.
 * Window Point::            Each window has its own location of point.
 * Window Start::            The display-start position controls which text
-                              is on-screen in the window. 
+                              is on-screen in the window.
 * Vertical Scrolling::      Moving text up and down in the window.
 * Horizontal Scrolling::    Moving text sideways on the window.
 * Size of Window::          Accessing the size of a window.
@@ -815,7 +815,7 @@ Markers
 * Predicates on Markers::   Testing whether an object is a marker.
 * Creating Markers::        Making empty markers or markers at certain places.
 * Information from Markers::  Finding the marker's buffer or character
-                                position. 
+                                position.
 * Changing Markers::        Moving the marker to a new buffer or position.
 * The Mark::                How ``the mark'' is implemented with a marker.
 * The Region::              How to access ``the region''.
@@ -841,7 +841,7 @@ Text
 * Substitution::            Replacing a given character wherever it appears.
 * Registers::               How registers are implemented.  Accessing
                               the text or position stored in a register.
-                              
+
 The Kill Ring
 
 * Kill Ring Concepts::      What text looks like in the kill ring.
index 4d7008607b9bc8ebf511d2e7e9b495058ac20dcd..1fc7a7e5022a69faa42123054fa5af07d955f7ba 100644 (file)
@@ -1685,7 +1685,7 @@ If @var{window} is @code{nil}, the function uses the selected window.
 
 @tindex window-body-height
 @defun window-body-height &optional window
-Like @code{window-height} but the value does not include the 
+Like @code{window-height} but the value does not include the
 mode line (if any) or the header line (if any).
 @end defun
 
index d5e6dadbeb43ddf714aeca924c650aa5f0301cd0..52da2ebc2ded6f6514e541616a6a97e632a84e41 100644 (file)
 
        * xlwmenu.c: Add #include <X11/ObjectP.h> for X11R4.
 
-1994-09-18  Fred Pierresteguy <F.Pierresteguy@frcl.bull.fr>
+1994-09-18  Fred Pierresteguy  <F.Pierresteguy@frcl.bull.fr>
 
        * lwlib-Xm.c (make_dialog): When there is more than two pushbuttons,
        set XmPACK_TIGHT and XmHORIZONTAL to the rowcolumn.  Also add a
        margin of 10 pixels.
 
-1994-09-16  Paul Reilly <pmr@geech.gnu.ai.mit.edu>
+1994-09-16  Paul Reilly  <pmr@geech.gnu.ai.mit.edu>
 
        * lwlib-Xm.c (make_main): New function to support toolkit
        independent creation of the main Emacs widget.
index 058899a9277a7f7b94ef8a8a50960d30f5895621..3ffc0d62f2b5c97aa300b81c7403586d0ea2fb92 100644 (file)
@@ -3,13 +3,13 @@
 
 This file is part of the Lucid Widget Library.
 
-The Lucid Widget Library is free software; you can redistribute it and/or 
+The Lucid Widget Library is free software; you can redistribute it and/or
 modify it under the terms of the GNU General Public License as published by
 the Free Software Foundation; either version 1, or (at your option)
 any later version.
 
 The Lucid Widget Library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of 
+but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
 
@@ -356,7 +356,7 @@ make_dialog (name, parent, pop_up_p, shell_title, icon_name, text_input_slot, ra
         I want the separator to take up the slack between the buttons on
         the right and the buttons on the left (that is I want the buttons
         after the separator to be packed against the right edge of the
-        window) but I can't seem to make it do it.  
+        window) but I can't seem to make it do it.
        */
       ac = 0;
       XtSetArg (av [ac], XtNfromHoriz, button); ac++;
@@ -440,7 +440,7 @@ xaw_create_dialog (instance)
     shell_name = "Question";
     break;
   }
-  
+
   total_buttons = name [1] - '0';
 
   if (name [3] == 'T' || name [3] == 't')
@@ -450,9 +450,9 @@ xaw_create_dialog (instance)
     }
   else if (name [3])
     right_buttons = name [4] - '0';
-  
+
   left_buttons = total_buttons - right_buttons;
-  
+
   widget = make_dialog (name, parent, pop_up_p,
                        shell_name, icon_name, text_input_slot, radio_box,
                        list, left_buttons, right_buttons);
@@ -619,7 +619,7 @@ xaw_create_scrollbar (instance)
   Widget scrollbar;
 
   XtVaGetValues (instance->parent, XtNwidth, &width, NULL);
-  
+
   XtSetArg (av[ac], XtNshowGrip, 0); ac++;
   XtSetArg (av[ac], XtNresizeToPreferred, 1); ac++;
   XtSetArg (av[ac], XtNallowResize, True); ac++;
index 88f9114a237d59b1c671f88ebed28cb76e3c1afa..6c9d73357526309fb6462e6cd6242b889d144ba7 100644 (file)
@@ -5,7 +5,7 @@
 
 extern widget_creation_entry xaw_creation_table [];
 
-Widget 
+Widget
 xaw_create_dialog __P ((widget_instance*));
 
 Boolean
index fc59c5652b1fcc912b7ca30fd93b724f75758060..cc1e8f7890f9c788555ba4c00a0eb361ad01dbe5 100644 (file)
@@ -3,13 +3,13 @@
 
 This file is part of the Lucid Widget Library.
 
-The Lucid Widget Library is free software; you can redistribute it and/or 
+The Lucid Widget Library is free software; you can redistribute it and/or
 modify it under the terms of the GNU General Public License as published by
 the Free Software Foundation; either version 1, or (at your option)
 any later version.
 
 The Lucid Widget Library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of 
+but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
 
@@ -162,7 +162,7 @@ xlw_create_popup_menu (instance)
   Widget popup_shell
     = XtCreatePopupShell (instance->info->name, overrideShellWidgetClass,
                          instance->parent, NULL, 0);
-  
+
   Widget widget;
   Arg al[2];
   int ac = 0;
@@ -182,7 +182,7 @@ xlw_create_popup_menu (instance)
   return popup_shell;
 }
 
-widget_creation_entry 
+widget_creation_entry
 xlw_creation_table [] =
 {
   {"menubar", xlw_create_menubar},
index f61b72534df57134fd03f177f1e9aa3e7c5817db..b22c59a7a1c34eb8eec50c6aa677096ed203c61b 100644 (file)
@@ -3,13 +3,13 @@
 
 This file is part of the Lucid Widget Library.
 
-The Lucid Widget Library is free software; you can redistribute it and/or 
+The Lucid Widget Library is free software; you can redistribute it and/or
 modify it under the terms of the GNU General Public License as published by
 the Free Software Foundation; either version 1, or (at your option)
 any later version.
 
 The Lucid Widget Library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of 
+but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
 
@@ -72,7 +72,7 @@ enum do_call_type { pre_activate, selection, no_selection, post_activate };
 
 
 \f/* Structures to keep destroyed instances */
-typedef struct _destroyed_instance 
+typedef struct _destroyed_instance
 {
   char*                name;
   char*                type;
@@ -188,7 +188,7 @@ make_destroyed_instance (name, type, widget, parent, pop_up_p)
   instance->next = NULL;
   return instance;
 }
-                        
+
 static void
 free_destroyed_instance (instance)
      destroyed_instance* instance;
@@ -210,7 +210,7 @@ Boolean
 lw_motif_widget_p (widget)
      Widget widget;
 {
-  return 
+  return
     XtClass (widget) == xmDialogShellWidgetClass
       || XmIsPrimitive (widget) || XmIsManager (widget) || XmIsGadget (widget);
 }
@@ -222,7 +222,7 @@ resource_motif_string (widget, name)
 {
   XtResource resource;
   XmString result = 0;
-  
+
   resource.resource_name = name;
   resource.resource_class = XmCXmString;
   resource.resource_type = XmRXmString;
@@ -254,7 +254,7 @@ destroy_all_children (widget, first_child_to_destroy)
       XtUnmanageChildren (children + first_child_to_destroy,
                          number - first_child_to_destroy);
 
-      /* Unmanage all children and destroy them.  They will only be 
+      /* Unmanage all children and destroy them.  They will only be
         really destroyed when we get out of DispatchEvent.  */
       for (i = first_child_to_destroy; i < number; i++)
        {
@@ -265,7 +265,7 @@ destroy_all_children (widget, first_child_to_destroy)
             XtCompositeChildren.  So get it out of the cascade button
             and free it.  If this child is not a cascade button,
             then submenu should remain unchanged.  */
-         XtSetArg (al[0], XmNsubMenuId, &submenu); 
+         XtSetArg (al[0], XmNsubMenuId, &submenu);
          XtGetValues (children[i], al, 1);
          if (submenu)
             {
@@ -329,7 +329,7 @@ xm_arm_callback (w, client_data, call_data)
    the value to update.
 
    Menus:
-   
+
    Emacs fills VAL->name with the text to display in the menu, and
    sets VAL->value to null.  Function make_menu_in_widget creates
    widgets with VAL->name as resource name.  This works because the
@@ -371,10 +371,10 @@ xm_update_label (instance, widget, val)
            XmStringCreateLtoR (val->value, XmSTRING_DEFAULT_CHARSET);
          XtSetArg (al [ac], XmNlabelString, built_string); ac++;
        }
-      
+
       XtSetArg (al [ac], XmNlabelType, XmSTRING); ac++;
     }
-  
+
   if (val->key)
     {
       key_string = XmStringCreateLtoR (val->key, XmSTRING_DEFAULT_CHARSET);
@@ -566,7 +566,7 @@ make_menu_in_widget (instance, widget, val, keep_first_children)
       XtSetArg (al[ac], XmNsensitive, cur->enabled); ac++;
       XtSetArg (al[ac], XmNalignment, XmALIGNMENT_BEGINNING); ac++;
       XtSetArg (al[ac], XmNuserData, cur->call_data); ac++;
-      
+
       if (instance->pop_up_p && !cur->contents && !cur->call_data
          && !lw_separator_p (cur->name, &separator, 1))
        {
@@ -605,9 +605,9 @@ make_menu_in_widget (instance, widget, val, keep_first_children)
              XtAddCallback (button, XmNarmCallback, xm_arm_callback, cur);
              XtAddCallback (button, XmNdisarmCallback, xm_arm_callback, cur);
            }
-         
+
          xm_update_label (instance, button, cur);
-         
+
          /* Add a callback that is called when the button is
             selected.  Toggle buttons don't support
             XmNactivateCallback, we use XmNvalueChangedCallback in
@@ -684,7 +684,7 @@ update_one_menu_entry (instance, widget, val, deep_p)
   menu = NULL;
   XtSetArg (al [ac], XmNsubMenuId, &menu); ac++;
   XtGetValues (widget, al, ac);
-  
+
   contents = val->contents;
 
   if (!menu)
@@ -715,8 +715,8 @@ update_one_menu_entry (instance, widget, val, deep_p)
          else
            {
              Widget button;
-             
-             /* The current menuitem is a XmPushButtonGadget, it 
+
+             /* The current menuitem is a XmPushButtonGadget, it
                 needs to be replaced by a CascadeButtonGadget */
              XtDestroyWidget (widget_list[i]);
              menu = XmCreatePulldownMenu (parent, val->name, NULL, 0);
@@ -732,7 +732,7 @@ update_one_menu_entry (instance, widget, val, deep_p)
 #endif
              button = XmCreateCascadeButton (parent, val->name, al, ac);
              xm_update_label (instance, button, val);
-             
+
              XtAddCallback (button, XmNcascadingCallback, xm_pull_down_callback,
                             (XtPointer)instance);
              XtManageChild (button);
@@ -779,7 +779,7 @@ xm_update_menu (instance, widget, val, deep_p)
     {
       if (children)
        {
-         for (i = 0, cur = val->contents; 
+         for (i = 0, cur = val->contents;
                (i < num_children
                && cur); /* how else to ditch unwanted children ?? - mgd */
               i++, cur = cur->next)
@@ -867,18 +867,18 @@ xm_update_one_widget (instance, widget, val, deep_p)
      Boolean deep_p;
 {
   WidgetClass class;
-  
+
   /* Mark as not edited */
   val->edited = False;
 
   /* Common to all widget types */
   XtSetSensitive (widget, val->enabled);
   XtVaSetValues (widget, XmNuserData, val->call_data, NULL);
-  
+
   /* Common to all label like widgets */
   if (XtIsSubclass (widget, xmLabelWidgetClass))
     xm_update_label (instance, widget, val);
-  
+
   class = XtClass (widget);
   /* Class specific things */
   if (class == xmPushButtonWidgetClass ||
@@ -900,10 +900,10 @@ xm_update_one_widget (instance, widget, val, deep_p)
       Boolean radiobox = 0;
       int ac = 0;
       Arg al [1];
-      
+
       XtSetArg (al [ac], XmNradioBehavior, &radiobox); ac++;
       XtGetValues (widget, al, ac);
-      
+
       if (radiobox)
        xm_update_radiobox (instance, widget, val);
       else
@@ -940,7 +940,7 @@ xm_update_one_value (instance, widget, val)
        val->call_data = old_wv->call_data;
        break;
       }
-  
+
   if (class == xmToggleButtonWidgetClass || class == xmToggleButtonGadgetClass)
     {
       XtVaGetValues (widget, XmNset, &val->selected, NULL);
@@ -965,10 +965,10 @@ xm_update_one_value (instance, widget, val)
       Boolean radiobox = 0;
       int ac = 0;
       Arg al [1];
-      
+
       XtSetArg (al [ac], XmNradioBehavior, &radiobox); ac++;
       XtGetValues (widget, al, ac);
-      
+
       if (radiobox)
        {
          CompositeWidget radio = (CompositeWidget)widget;
@@ -977,7 +977,7 @@ xm_update_one_value (instance, widget, val)
            {
              int set = False;
              Widget toggle = radio->composite.children [i];
-             
+
              XtVaGetValues (toggle, XmNset, &set, NULL);
              if (set)
                {
@@ -1020,7 +1020,7 @@ xm_update_one_value (instance, widget, val)
 /* This function is for activating a button from a program.  It's wrong because
    we pass a NULL argument in the call_data which is not Motif compatible.
    This is used from the XmNdefaultAction callback of the List widgets to
-   have a double-click put down a dialog box like the button would do. 
+   have a double-click put down a dialog box like the button would do.
    I could not find a way to do that with accelerators.
  */
 static void
@@ -1064,7 +1064,7 @@ make_dialog (name, parent, pop_up_p, shell_title, icon_name, text_input_slot,
   Arg  al[64];                 /* Arg List */
   int  ac;                     /* Arg Count */
   int  i;
-  
+
   if (pop_up_p)
     {
       ac = 0;
@@ -1089,9 +1089,9 @@ make_dialog (name, parent, pop_up_p, shell_title, icon_name, text_input_slot,
 
   n_children = left_buttons + right_buttons + 1;
   ac = 0;
-  XtSetArg(al[ac], XmNpacking, n_children == 3? 
+  XtSetArg(al[ac], XmNpacking, n_children == 3?
           XmPACK_COLUMN: XmPACK_TIGHT); ac++;
-  XtSetArg(al[ac], XmNorientation, n_children == 3? 
+  XtSetArg(al[ac], XmNorientation, n_children == 3?
           XmVERTICAL: XmHORIZONTAL); ac++;
   XtSetArg(al[ac], XmNnumColumns, left_buttons + right_buttons + 1); ac++;
   XtSetArg(al[ac], XmNmarginWidth, 0); ac++;
@@ -1108,7 +1108,7 @@ make_dialog (name, parent, pop_up_p, shell_title, icon_name, text_input_slot,
   XtSetArg(al[ac], XmNrightAttachment, XmATTACH_FORM); ac++;
   XtSetArg(al[ac], XmNrightOffset, 13); ac++;
   row = XmCreateRowColumn (form, "row", al, ac);
-  
+
   n_children = 0;
   for (i = 0; i < left_buttons; i++)
     {
@@ -1140,7 +1140,7 @@ make_dialog (name, parent, pop_up_p, shell_title, icon_name, text_input_slot,
   XtSetArg (al[ac], XmNmappedWhenManaged, FALSE); ac++;
   children [n_children] = XmCreateLabel (row, "separator_button", al, ac);
   n_children++;
-  
+
   for (i = 0; i < right_buttons; i++)
     {
       char button_name [16];
@@ -1152,9 +1152,9 @@ make_dialog (name, parent, pop_up_p, shell_title, icon_name, text_input_slot,
       if (! button) button = children [n_children];
       n_children++;
     }
-  
+
   XtManageChildren (children, n_children);
-  
+
   ac = 0;
   XtSetArg(al[ac], XmNtopAttachment, XmATTACH_NONE); ac++;
   XtSetArg(al[ac], XmNbottomAttachment, XmATTACH_WIDGET); ac++;
@@ -1250,7 +1250,7 @@ make_dialog (name, parent, pop_up_p, shell_title, icon_name, text_input_slot,
         list activate the default button */
       XtAddCallback (value, XmNdefaultActionCallback, activate_button, button);
     }
-  
+
   ac = 0;
   XtSetArg(al[ac], XmNalignment, XmALIGNMENT_BEGINNING); ac++;
   XtSetArg(al[ac], XmNtopAttachment, XmATTACH_FORM); ac++;
@@ -1265,7 +1265,7 @@ make_dialog (name, parent, pop_up_p, shell_title, icon_name, text_input_slot,
   XtSetArg(al[ac], XmNrightAttachment, XmATTACH_FORM); ac++;
   XtSetArg(al[ac], XmNrightOffset, 13); ac++;
   message = XmCreateLabel (form, "message", al, ac);
-  
+
   if (list)
     XtManageChild (value);
 
@@ -1280,7 +1280,7 @@ make_dialog (name, parent, pop_up_p, shell_title, icon_name, text_input_slot,
   children [i] = icon; i++;
   children [i] = icon_separator; i++;
   XtManageChildren (children, i);
-  
+
   if (text_input_slot || list)
     {
       XtInstallAccelerators (value, button);
@@ -1291,7 +1291,7 @@ make_dialog (name, parent, pop_up_p, shell_title, icon_name, text_input_slot,
       XtInstallAccelerators (form, button);
       XtSetKeyboardFocus (result, button);
     }
-  
+
   return result;
 }
 
@@ -1364,7 +1364,7 @@ recenter_widget (widget)
 
   x = (((Position)parent_width) - ((Position)child_width)) / 2;
   y = (((Position)parent_height) - ((Position)child_height)) / 2;
-  
+
   XtTranslateCoords (parent, x, y, &x, &y);
 
   if (x + child_width > screen_width)
@@ -1404,7 +1404,7 @@ recycle_instance (instance)
        focus = XtNameToWidget (widget, "*button1");
       if (focus)
        XtSetKeyboardFocus (widget, focus);
-      
+
       /* shrink the separator label back to their original size */
       separator = XtNameToWidget (widget, "*separator_button");
       if (separator)
@@ -1472,7 +1472,7 @@ xm_create_dialog (instance)
     shell_name = "Question";
     break;
   }
-  
+
   total_buttons = name [1] - '0';
 
   if (name [3] == 'T' || name [3] == 't')
@@ -1482,9 +1482,9 @@ xm_create_dialog (instance)
     }
   else if (name [3])
     right_buttons = name [4] - '0';
-  
+
   left_buttons = total_buttons - right_buttons;
-  
+
   widget = make_dialog (name, parent, pop_up_p,
                        shell_name, icon_name, text_input_slot, radio_box,
                        list, left_buttons, right_buttons);
@@ -1655,7 +1655,7 @@ make_project_display_dialog (widget_instance* instance)
 #endif /* ENERGIZE */
 
 widget_creation_entry
-xm_creation_table [] = 
+xm_creation_table [] =
 {
   {"menubar",                  make_menubar},
   {"popup",                    make_popup_menu},
@@ -1744,7 +1744,7 @@ xm_popup_menu (widget, event)
          /* This is so totally ridiculous: there's NO WAY to tell Motif
             that *any* button can select a menu item.  Only one button
             can have that honor.  */
-      
+
          char *trans = 0;
          if      (event->xbutton.state & Button5Mask) trans = "<Btn5Down>";
          else if (event->xbutton.state & Button4Mask) trans = "<Btn4Down>";
@@ -1754,10 +1754,10 @@ xm_popup_menu (widget, event)
          if (trans) XtVaSetValues (widget, XmNmenuPost, trans, NULL);
        }
 #endif
-      
+
       XmMenuPosition (widget, (XButtonPressedEvent *) event);
     }
-  
+
   XtManageChild (widget);
 }
 
@@ -1795,12 +1795,12 @@ xm_pop_instance (instance, up)
       if (up)
        XtManageChild (widget);
       else
-       XtUnmanageChild (widget);       
+       XtUnmanageChild (widget);
     }
 }
 
 \f
-/* motif callback */ 
+/* motif callback */
 
 static void
 do_call (widget, closure, type)
@@ -1829,36 +1829,36 @@ do_call (widget, closure, type)
   user_data = NULL;
   XtSetArg (al [ac], XmNuserData, &user_data); ac++;
   XtGetValues (widget, al, ac);
-  
+
   switch (type)
     {
     case pre_activate:
       if (instance->info->pre_activate_cb)
        instance->info->pre_activate_cb (widget, id, user_data);
       break;
-      
+
     case selection:
       if (instance->info->selection_cb)
        instance->info->selection_cb (widget, id, user_data);
       break;
-      
+
     case no_selection:
       if (instance->info->selection_cb)
        instance->info->selection_cb (widget, id, (XtPointer) -1);
       break;
-      
+
     case post_activate:
       if (instance->info->post_activate_cb)
        instance->info->post_activate_cb (widget, id, user_data);
       break;
-      
+
     default:
       abort ();
     }
 }
 
 /* Like lw_internal_update_other_instances except that it does not do
-   anything if its shell parent is not managed.  This is to protect 
+   anything if its shell parent is not managed.  This is to protect
    lw_internal_update_other_instances to dereference freed memory
    if the widget was ``destroyed'' by caching it in the all_destroyed_instances
    list */
@@ -1924,7 +1924,7 @@ xm_pull_down_callback (widget, closure, call_data)
 
 
 /* XmNpopdownCallback for MenuShell widgets.  WIDGET is the MenuShell,
-   CLOSURE is a pointer to the widget_instance of the shell, 
+   CLOSURE is a pointer to the widget_instance of the shell,
 
    Note that this callback is called for each cascade button in a
    menu, whether or not its submenu is visible.  */
index 9d4af609660a69beb1f56fb7bde0d7ef3b1b741f..79f03139f630a982b358f589d74685f329a28278 100644 (file)
@@ -5,7 +5,7 @@
 
 extern widget_creation_entry xm_creation_table [];
 
-Widget 
+Widget
 xm_create_dialog __P ((widget_instance* instance));
 
 Boolean
index 5cc39bcca7e2471ef7abb6812b7d6479471a02bb..3abff32579ae5c08e73718f9b6e07e29b67586e5 100644 (file)
@@ -3,13 +3,13 @@
 
 This file is part of the Lucid Widget Library.
 
-The Lucid Widget Library is free software; you can redistribute it and/or 
+The Lucid Widget Library is free software; you can redistribute it and/or
 modify it under the terms of the GNU General Public License as published by
 the Free Software Foundation; either version 1, or (at your option)
 any later version.
 
 The Lucid Widget Library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of 
+but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
 
@@ -60,7 +60,7 @@ XtNoClearRefreshWidget (widget)
 }
 
 
-/* 
+/*
  * Apply a function to all the subwidgets of a given widget recursively.
 */
 void
@@ -177,7 +177,7 @@ XtSafelyDestroyWidget (widget)
     }
   else
     XtDestroyWidget (widget);
-  
+
 #else
   abort ();
 #endif
index 5f68a365935307ed9aeab22b762924be54109631..624c75890845e8b1d8bb81d57fac48c744fa0c62 100644 (file)
@@ -3,13 +3,13 @@
 
 This file is part of the Lucid Widget Library.
 
-The Lucid Widget Library is free software; you can redistribute it and/or 
+The Lucid Widget Library is free software; you can redistribute it and/or
 modify it under the terms of the GNU General Public License as published by
 the Free Software Foundation; either version 2, or (at your option)
 any later version.
 
 The Lucid Widget Library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of 
+but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
 
@@ -101,7 +101,7 @@ static void destroy_one_instance P_ ((widget_instance *));
 static void lw_pop_all_widgets P_ ((LWLIB_ID, Boolean));
 static Boolean get_one_value P_ ((widget_instance *, widget_value *));
 static void show_one_widget_busy P_ ((Widget, Boolean));
-     
+
 void
 lwlib_memset (address, value, length)
      char *address;
@@ -190,7 +190,7 @@ malloc_widget_value ()
 }
 
 /* this is analogous to free().  It frees only what was allocated
-   by malloc_widget_value(), and no substructures. 
+   by malloc_widget_value(), and no substructures.
  */
 void
 free_widget_value (wv)
@@ -251,7 +251,7 @@ copy_widget_value_tree (val, change)
      change_type change;
 {
   widget_value* copy;
-  
+
   if (!val)
     return NULL;
   if (val == (widget_value *) 1)
@@ -523,7 +523,7 @@ merge_widget_value (val1, val2, level, change_p)
       free_widget_value_tree (val1);
       return NULL;
     }
-  
+
   change = NO_CHANGE;
 
   if (safe_strcmp (val1->name, val2->name))
@@ -591,7 +591,7 @@ merge_widget_value (val1, val2, level, change_p)
       merged_contents =
        merge_widget_value (val1->contents, val2->contents, level - 1,
                            change_p);
-      
+
       if (val1->contents && !merged_contents)
        {
          /* This used to say INVISIBLE_CHANGE,
@@ -614,7 +614,7 @@ merge_widget_value (val1, val2, level, change_p)
 #endif
 #endif
        }
-      
+
       val1->contents = merged_contents;
     }
 
@@ -640,7 +640,7 @@ merge_widget_value (val1, val2, level, change_p)
 
   val1->this_one_change = this_one_change;
   val1->change = change;
-  
+
   if (change > NO_CHANGE && val1->toolkit_data)
     {
       *change_p = 1;
@@ -672,7 +672,7 @@ name_to_widget (instance, name)
       char* real_name = (char *) xmalloc (length);
       real_name [0] = '*';
       strcpy (real_name + 1, name);
-      
+
       widget = XtNameToWidget (instance->widget, real_name);
 
       free (real_name);
@@ -691,7 +691,7 @@ set_one_value (instance, val, deep_p)
 #endif
 {
   Widget widget = name_to_widget (instance, val->name);
-  
+
   if (widget)
     {
 #if defined (USE_LUCID)
@@ -842,11 +842,11 @@ static Boolean
 dialog_spec_p (name)
      char* name;
 {
-  /* return True if name matches [EILPQeilpq][1-9][Bb] or 
+  /* return True if name matches [EILPQeilpq][1-9][Bb] or
      [EILPQeilpq][1-9][Bb][Rr][1-9] */
   if (!name)
     return False;
-  
+
   switch (name [0])
     {
     case 'E': case 'I': case 'L': case 'P': case 'Q':
@@ -866,7 +866,7 @@ dialog_spec_p (name)
        }
       else
        return False;
-    
+
     default:
       return False;
     }
@@ -908,7 +908,7 @@ instantiate_widget_instance (instance)
 #endif
        }
     }
-  
+
   if (!function)
     {
       printf ("No creation function for widget type %s\n",
@@ -924,7 +924,7 @@ instantiate_widget_instance (instance)
   /*   XtRealizeWidget (instance->widget);*/
 }
 
-void 
+void
 lw_register_widget (type, name, id, val, pre_activate_cb,
                    selection_cb, post_activate_cb, highlight_cb)
      char* type;
@@ -952,7 +952,7 @@ lw_get_widget (id, parent, pop_up_p)
 #endif
 {
   widget_instance* instance;
-  
+
   instance = find_instance (id, parent, pop_up_p);
   return instance ? instance->widget : NULL;
 }
@@ -969,7 +969,7 @@ lw_make_widget (id, parent, pop_up_p)
 {
   widget_instance* instance;
   widget_info* info;
-  
+
   instance = find_instance (id, parent, pop_up_p);
   if (!instance)
     {
@@ -1009,7 +1009,7 @@ lw_create_widget (type, name, id, val, parent, pop_up_p, pre_activate_cb,
                      post_activate_cb, highlight_cb);
   return lw_make_widget (id, parent, pop_up_p);
 }
-                 
+
 \f
 /* destroying the widgets */
 static void
@@ -1046,7 +1046,7 @@ destroy_one_instance (instance)
 #if defined (USE_XAW)
       if (lw_xaw_widget_p (instance->widget))
        xaw_destroy_instance (instance);
-      else 
+      else
 #endif
        /* do not remove the empty statement */
        ;
@@ -1060,7 +1060,7 @@ lw_destroy_widget (w)
      Widget w;
 {
   widget_instance* instance = get_widget_instance (w, True);
-  
+
   if (instance)
     {
       widget_info *info = instance->info;
@@ -1233,7 +1233,7 @@ get_one_value (instance, val)
      widget_value* val;
 {
   Widget widget = name_to_widget (instance, val->name);
-      
+
   if (widget)
     {
 #if defined (USE_LUCID)
@@ -1310,7 +1310,7 @@ lw_get_widget_value_for_widget (instance, w)
 /* To forbid recursive calls */
 static Boolean lwlib_updating;
 
-/* This function can be used as a an XtCallback for the widgets that get 
+/* This function can be used as a an XtCallback for the widgets that get
   modified to update other instances of the widgets.  Closure should be the
   widget_instance. */
 void
@@ -1390,7 +1390,7 @@ show_one_widget_busy (w, flag)
   Widget widget_to_invert = XtNameToWidget (w, "*sheet");
   if (!widget_to_invert)
     widget_to_invert = w;
-  
+
   XtVaGetValues (widget_to_invert,
                 XtNforeground, &foreground,
                 XtNbackground, &background,
@@ -1438,7 +1438,7 @@ lw_refigure_widget (w, doit)
      Boolean doit;
 #endif
 {
-#if defined (USE_XAW)  
+#if defined (USE_XAW)
   XawPanedSetRefigureMode (w, doit);
 #endif
 #if defined (USE_MOTIF)
index bf2a9c67bdf18882734b84584eb7d3ff598f8d9b..08aecd3e57ba25d11e40bf0d39f119d46e47d058 100644 (file)
@@ -5,12 +5,12 @@
 
 /*
 ** Widget values depend on the Widget type:
-** 
+**
 ** widget:   (name value key enabled data contents/selected)
 **
 ** label:    ("name" "string" NULL NULL NULL NULL)
 ** button:   ("name" "string" "key" T/F data <default-button-p>)
-** button w/menu: 
+** button w/menu:
 **           ("name" "string" "key" T/F data (label|button|button w/menu...))
 ** menubar:  ("name" NULL NULL T/F data (button w/menu))
 ** selectable thing:
@@ -67,7 +67,7 @@ typedef struct _widget_value
   char*                name;
   /* value (meaning depend on widget type) */
   char*                value;
-  /* keyboard equivalent. no implications for XtTranslations */ 
+  /* keyboard equivalent. no implications for XtTranslations */
   char*                key;
   /* Help string or nil if none.
      GC finds this string through the frame's menu_bar_vector
index fc3abef503b030abc6ab56e6889da0c64b724531..e7c783596f97064e66d1b2d992819086dd864b26 100644 (file)
@@ -1243,7 +1243,7 @@ xlwmenu_window_p (w, window)
 {
   XlwMenuWidget mw = (XlwMenuWidget) w;
   int i;
-  
+
   for (i = 0; i < mw->menu.windows_length; ++i)
     if (window == mw->menu.windows[i].window)
       break;
index 686d06238643d44a52a53f9391b05f7e4a0cd211..113e06a911e889e73a9729a50259d227245f3e3a 100644 (file)
@@ -8,13 +8,13 @@
        * INSTALL: Added documentation about --enable-carbon-app and
        changed documentation concerning Emacs.app location
        Removed some of the documentation about make-package that isn't
-       needed 
+       needed
        Changed comment about requiring root permission to install to
        saying that it might be necessary depending on where you install
        Refered to /usr caveat in more places
        * make-package (make_options): Use new carbon_appdir option to
        specify directory to install Application and lets the makefile
-       install 
+       install
 
 2003-01-01  Steven Tamm  <steventamm@mac.com>
 
index 51b306c463bf677cbdf9194a07a96ec9bcc4a09f..1c44aa529f883ae69c54c869297066bbc5dedcf0 100644 (file)
@@ -88,7 +88,7 @@ vt100|vt100-am|vt100am|dec vt100:\
     :sc=\E7:rc=\E8:cs=\E[%i%d;%dr:
 -----
 
-To build the `info' files in versions prior to Mac OS X 10.2, you need 
+To build the `info' files in versions prior to Mac OS X 10.2, you need
 to install the texinfo software.
 
 To install from source, obtain texinfo-4.2.tar.gz from ftp.gnu.org or
@@ -98,7 +98,7 @@ a mirror.  Un-tar it, enter its directory and type
   make
   make install
 
-The last step may need to be performed as root (sudo make install). 
+The last step may need to be performed as root (sudo make install).
 
 You may also like to install ispell, which will allow you to use
 ispell and flyspell-mode.  To install ispell from source, you first
@@ -110,7 +110,7 @@ Un-tar it, enter its directory, type
   ./configure --host=powerpc-apple-bsd
   make
   make install
-    
+
 Again, the last step may need to be performed as root.  Note that if you
 run `make check', the test for `pr' will fail.
 
@@ -148,14 +148,14 @@ in a file called EmacsInstaller.dmg.  This file can be then distributed
 to whomever would like a binary distribution.  Here are the common
 options to user
 
---with-x         -  Use the X11 GUI instead of the Carbon GUI. 
+--with-x         -  Use the X11 GUI instead of the Carbon GUI.
 --prefix=DIR     -  Place the common emacs files in the given DIR.  The
                    default is /usr/local.  See note below if placing
                    in /usr
 --self-contained -  Place the common emacs files inside the Emacs.app
                    itself.  This makes the application trivial to
                    uninstall and copy between computers.
---app-symlink    -  Use a symlink inside the Application to the 
+--app-symlink    -  Use a symlink inside the Application to the
                    $prefix/bin/emacs to reduce disk space.  Note, this
                    option may removed in the future.
 
index a536ee9e8775c6118df22b9f1b46775670e257ec..beb8c0a6373567b57ef178994ba8d3ec6d683dea 100644 (file)
@@ -24,7 +24,7 @@ Boston, MA 02111-1307, USA.  */
 
 
 /* No code in Emacs #includes config.h twice, but some of the code
-   intended to work with other packages as well (like gmalloc.c) 
+   intended to work with other packages as well (like gmalloc.c)
    think they can include it as many times as they like.  */
 #ifndef EMACS_CONFIG_H
 #define EMACS_CONFIG_H
@@ -41,7 +41,7 @@ Boston, MA 02111-1307, USA.  */
 /* Define REL_ALLOC if you want to use the relocating allocator for
    buffer space. */
 /* #undef REL_ALLOC */
-  
+
 /* Define HAVE_X_WINDOWS if you want to use the X window system.  */
 /* #undef HAVE_X_WINDOWS */
 
index 69f33a36131db1997f539063773b31a8e1941bd9..9e257a3121b85d55a069d725cfcdf2d66aef479f 100644 (file)
@@ -20,7 +20,7 @@ Boston, MA 02111-1307, USA.  */
 
 /* Contributed by Andrew Choi (akochoi@mac.com).  */
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="<name of system .h file here, without the s- or .h>"  */
 
index a1c10f88e2ca3224217278045024239d3959545a..5529d8811e4fa28a0f94545706583a86c9cdd740 100755 (executable)
@@ -116,10 +116,10 @@ fi
 
 if test "$display_usage" = "yes"; then
   cat <<EOF
-\`make-package' generates a Mac OS X installer package from an Emacs 
-distribution.  By default, this first runs ./configure on the emacs 
-directory.  Then make install to create the emacs distribution.  
-Then some mac-specific commands to generate the required information 
+\`make-package' generates a Mac OS X installer package from an Emacs
+distribution.  By default, this first runs ./configure on the emacs
+directory.  Then make install to create the emacs distribution.
+Then some mac-specific commands to generate the required information
 for the mac package.  The installer will, by default, create a
 Carbon application called Emacs in the ${appsdir} directory, with the
 shared emacs files in /usr/local
@@ -133,7 +133,7 @@ Options:
       --no-conf           Do not run the configure script before running
                           make install.
       --without-app       Do not create the Emacs application bundle
-      --with-x            Setup the install to use X Windows for its 
+      --with-x            Setup the install to use X Windows for its
                           windowed display, instead of carbon.  Implies
                           --without-app.
       --without-full-dist Do not include all the .el files in the distribution.
@@ -142,10 +142,10 @@ Options:
                           to the install in [prefix]/bin/emacs and have
                           the emacs executable link to emacs-${version}
       --self-contained    Create an Emacs.app that is self-contained;
-                          prefix will be ignored and all files installed 
-                          inside the application 
+                          prefix will be ignored and all files installed
+                          inside the application
       --build-in-place    Build the application in the source directory
-                          instead of a temporary directory.  
+                          instead of a temporary directory.
       --build-dir=DIR     Build the application in the specified directory
                           instead of a temporary directory.  Mutually exclusive
                           with --build-in-place.
@@ -357,7 +357,7 @@ echo 'UseUserMask NO' >> ${infofile}
 echo 'OverwritePermissions NO' >> ${infofile}
 echo 'InstallFat NO' >> ${infofile}
 
-### Set the install directory to install files as root...  
+### Set the install directory to install files as root...
 ### Not sure if this is a good diea
 # echo "Setting owner to root"
 # chown -Rh 0 ${tempparentfull}
@@ -402,7 +402,7 @@ fi
 
 if [ ! -d /Volumes/Emacs ]; then
   echo "Could not create disc image.  The Emacs installer package (Emacs.pkg)
-in this directory should be correct.  Please use the Disc Copy program to 
+in this directory should be correct.  Please use the Disc Copy program to
 create a disc image." >&2
   exit 0
 fi
index 4ad27efb460c12fae00bbcea9bc07e1a7c3c4c43..8e004249a0918f435559df6df038fe93481ae94d 100644 (file)
@@ -2,19 +2,19 @@
 #    Copyright (C) 1999, 2000 Free Software Foundation, Inc.
 #
 #    Author: Andrew Choi <akochoi@users.sourceforge.net>
-# 
+#
 # This file is part of GNU Emacs.
-# 
+#
 # GNU Emacs is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; either version 2, or (at your option)
 # any later version.
-# 
+#
 # GNU Emacs is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 # GNU General Public License for more details.
-# 
+#
 # You should have received a copy of the GNU General Public License
 # along with GNU Emacs; see the file COPYING.  If not, write to
 # the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
@@ -147,7 +147,7 @@ Emacs 
                "{PPCLibraries}PPCToolLibs.o" ¶
                -o "{EmacsTarget}"
 
-Emacs ÄÄ {Makefile} "{Source}"Emacs.maclf.r "{Source}"EmacsMPW.maclf.r 
+Emacs ÄÄ {Makefile} "{Source}"Emacs.maclf.r "{Source}"EmacsMPW.maclf.r
        Rez -a "{Source}"Emacs.maclf.r -o "{EmacsTarget}"
        Rez -a "{Source}"EmacsMPW.maclf.r -o "{EmacsTarget}"
        SetFile "{EmacsTarget}" -t APPL -c 'EMAx' -a B
@@ -373,7 +373,7 @@ Emacs 
                "{Src}macgui.h" ¶
                "{Src}frame.h" ¶
        "{Src}systime.h"
-       
+
 {Src}doc.c.x Ä ¶
        {CONFIG_H_GROUP} ¶
        "{Includes}sys:types.h" ¶
@@ -493,7 +493,7 @@ Emacs 
        "{Src}buffer.h" ¶
        "{Src}commands.h" ¶
        "{Src}keyboard.h"
-       
+
 {Src}getloadavg.c.x Ä ¶
        {CONFIG_H_GROUP} ¶
        "{Includes}sys:types.h"
@@ -586,7 +586,7 @@ Emacs 
        "{Src}commands.h" ¶
        "{Src}keyboard.h" ¶
        "{Src}termhooks.h"
-       
+
 {Src}macros.c.x Ä ¶
        {CONFIG_H_GROUP} ¶
        "{Src}lisp.h" ¶
@@ -630,7 +630,7 @@ Emacs 
        "{Src}termchar.h" ¶
        "{Src}keyboard.h" ¶
        {INTERVALS_H_GROUP}
-       
+
 {Src}process.c.x Ä ¶
        {CONFIG_H_GROUP} ¶
        "{Includes}sys:types.h" ¶
@@ -642,7 +642,7 @@ Emacs 
                "{Src}ccl.h" ¶
        "{Src}termopts.h" ¶
        "{Src}sysselect.h"
-       
+
 {Src}regex.c.x Ä ¶
        {CONFIG_H_GROUP} ¶
        "{Includes}sys:types.h" ¶
@@ -658,7 +658,7 @@ Emacs 
        "{Src}lisp.h" ¶
        "{Src}buffer.h" ¶
        "{Src}region-cache.h"
-       
+
 {Src}scroll.c.x Ä ¶
        {CONFIG_H_GROUP} ¶
        "{Src}termchar.h" ¶
@@ -666,7 +666,7 @@ Emacs 
        {DISPEXTERN_H_GROUP} ¶
        "{Src}frame.h" ¶
        {WINDOW_H_GROUP}
-       
+
 {Src}search.c.x Ä ¶
        {CONFIG_H_GROUP} ¶
        "{Src}lisp.h" ¶
@@ -680,12 +680,12 @@ Emacs 
        {INTERVALS_H_GROUP} ¶
        "{Includes}sys:types.h" ¶
        "{Src}regex.h"
-       
+
 {Src}strftime.c.x Ä ¶
        {CONFIG_H_GROUP} ¶
        "{Includes}sys:types.h" ¶
-       "{Includes}sys:time.h"  
-       
+       "{Includes}sys:time.h"
+
 {Src}syntax.c.x Ä ¶
        {CONFIG_H_GROUP} ¶
        "{Src}lisp.h" ¶
@@ -695,7 +695,7 @@ Emacs 
        "{Src}syntax.h" ¶
        {INTERVALS_H_GROUP} ¶
        "{Src}category.h"
-       
+
 {Src}sysdep.c.x Ä ¶
        {CONFIG_H_GROUP} ¶
        "{Src}lisp.h" ¶
@@ -737,7 +737,7 @@ Emacs 
        "{Src}macterm.h" ¶
                "{Src}macgui.h" ¶
                "{Src}frame.h"
-       
+
 {Src}termcap.c.x Ä ¶
        {CONFIG_H_GROUP} ¶
        "{Src}lisp.h" ¶
@@ -749,17 +749,17 @@ Emacs 
        {INTERVALS_H_GROUP} ¶
        "{Src}buffer.h" ¶
        {WINDOW_H_GROUP}
-       
+
 {Src}tparam.c.x Ä ¶
        {CONFIG_H_GROUP} ¶
        "{Src}lisp.h"
-       
+
 {Src}undo.c.x Ä ¶
        {CONFIG_H_GROUP} ¶
        "{Src}lisp.h" ¶
        "{Src}buffer.h" ¶
        "{Src}commands.h"
-       
+
 {Src}window.c.x Ä ¶
        {CONFIG_H_GROUP} ¶
        "{Src}lisp.h" ¶
@@ -776,8 +776,8 @@ Emacs 
        {INTERVALS_H_GROUP} ¶
        "{Src}macterm.h" ¶
                "{Src}macgui.h" ¶
-               "{Src}frame.h"  
-       
+               "{Src}frame.h"
+
 {Src}xdisp.c.x Ä ¶
        {CONFIG_H_GROUP} ¶
        "{Src}lisp.h" ¶
@@ -801,8 +801,8 @@ Emacs 
        "{Src}fontset.h" ¶
        "{Src}macterm.h" ¶
                "{Src}macgui.h" ¶
-               "{Src}frame.h"  
-       
+               "{Src}frame.h"
+
 {Src}xfaces.c.x Ä ¶
        {CONFIG_H_GROUP} ¶
        "{Includes}sys:types.h" ¶
@@ -907,8 +907,8 @@ Emacs 
        "{Src}termhooks.h" ¶
        "{Src}coding.h" ¶
                "{Src}ccl.h"
-               
-               
+
+
 #----------------------------------------#
 # Variables and rules for target "Clean" #
 #----------------------------------------#
@@ -1089,7 +1089,7 @@ Doc 
 #-----------------------------------------------#
 
 Make-DocFile-Includes          = -i :inc:
-Make-DocFile-Sym                       = 
+Make-DocFile-Sym                       =
 
 Make-DocFile-PPCCOptions       = -typecheck relaxed -w off -noMapCR ¶
                                                                {Make-DocFile-Includes} {Make-DocFile-Sym}
index 987df2008bf9f3204e3819f1bbf9d02df4e455e9..cfa77c8c44cdfa9135d667b0c4c10f7a2b2016e8 100644 (file)
@@ -33,7 +33,7 @@ int chdir(const char *path)
 
   strcpy(mypath, path);
   c2pstr(mypath);
-  
+
   wdpb.ioNamePtr = mypath;
   wdpb.ioVRefNum = 0;
   wdpb.ioWDDirID = 0;
index 98a07fcc44a1e036d3c4845bfc2e1eec2afca3c1..daea607e63dd587f1793bf77002c0ed337713b11 100755 (executable)
--- a/make-dist
+++ b/make-dist
@@ -129,7 +129,7 @@ then
     EMACS=`pwd`/src/emacs
   else
     if [ "x$EMACS" = "x" -o "x$EMACS" = "xt" ];
-    then 
+    then
       echo You must specify the EMACS environment variable 2>&1
       exit 1
     fi
@@ -362,7 +362,7 @@ echo "Making links to \`lisp' and its subdirectories"
  for file in `find . -type d -print`; do
    case $file in
      . | .. | */Old | */CVS | */RCS | */=*)
-       ;;      
+       ;;
      *)
        if [ -d $file ]; then
         subdirs="$file $subdirs"
@@ -537,7 +537,7 @@ echo "Making links to \`mac/Emacs.app/Contents'"
 echo "Making links to \`mac/Emacs.app/Contents/Resources/English.lproj'"
 (cd mac/Emacs.app/Contents/Resources/English.lproj
  ln InfoPlist.strings ../../../../../${tempdir}/mac/Emacs.app/Contents/Resources/English.lproj)
+
 echo "Making links to \`msdos'"
 (cd msdos
  ln  ChangeLog emacs.ico emacs.pif ../${tempdir}/msdos
index aaaccb3efb3805f0e43c52fe6872f5d3e7c19175..1958ce65d4546bb26900c554e1b0edd00bf245a1 100644 (file)
 
        * gnus.texi: File deleted.
 
-1995-11-02  Stephen Gildea <gildea@stop.mail-abuse.org>
+1995-11-02  Stephen Gildea  <gildea@stop.mail-abuse.org>
 
        * mh-e.texi: "Function Index" -> "Command Index" to work with
        Emacs 19.30 C-h C-k support of separately-documented commands.
        * Makefile.in (INFO_TARGETS, DVI_TARGETS): Add viper targets.
        (../info/viper, viper.dvi): New targets.
 
-1995-04-20  Kevin Rodgers <kevinr@ihs.com>
+1995-04-20  Kevin Rodgers  <kevinr@ihs.com>
 
        * dired-x.texi (Installation): Change the example to set
        buffer-local variables like dired-omit-files-p in
index 987e86580adac621b4d751e1a2bc5c56d601ae69..bbddf682522c80d348fd8a0297e8641b744190a9 100644 (file)
@@ -54,7 +54,7 @@ INFOSOURCES = info.texi
        texi2dvi $<
 
 TEXI2DVI = texi2dvi
-ENVADD = TEXINPUTS="$(srcdir):$(TEXINPUTS)" MAKEINFO="$(MAKEINFO) -I$(srcdir)" 
+ENVADD = TEXINPUTS="$(srcdir):$(TEXINPUTS)" MAKEINFO="$(MAKEINFO) -I$(srcdir)"
 
 EMACSSOURCES= \
        ${srcdir}/emacs.texi \
@@ -176,7 +176,7 @@ forms.dvi: forms.texi
 ../info/gnus: gnus.texi
        cd $(srcdir); $(MAKEINFO) gnus.texi
 gnus.dvi: gnus.texi
-       sed -e '/@iflatex/,/@end iflatex/d' ${srcdir}/gnus.texi > gnustmp.texi 
+       sed -e '/@iflatex/,/@end iflatex/d' ${srcdir}/gnus.texi > gnustmp.texi
        $(ENVADD) $(TEXI2DVI) gnustmp.texi
        cp gnustmp.dvi $*.dvi
        rm gnustmp.*
index 79bc8a54089601ada1399d36065402975d0969cd..0f8da05f4556a24224ecf4457a58a46e2cd0700e 100644 (file)
@@ -55,7 +55,7 @@ Steven L.@: Baur wrote
 @c If earcon.el actually works with Emacs 21, it isn't useful for lack
 @c of  sound files. -- fx
 @c @file{earcon.el}, a facility for sound effects
-@c for email and news messages, 
+@c for email and news messages,
 @file{footnote.el} which lets you include
 footnotes in email messages, and @file{gnus-audio.el} which provides
 sound effects for Gnus.
@@ -184,7 +184,7 @@ Matthieu Devin wrote @file{delsel.el}, a package to make newly-typed
 text replace the current selection.
 
 @item
-Eric Ding contributed @file{goto-addr.el}, 
+Eric Ding contributed @file{goto-addr.el},
 
 @item
 Carsten Dominik wrote @file{reftex.el}, a package for setting up
@@ -660,7 +660,7 @@ Shivers.
 Bengt Martensson, Mark Shapiro, Mike Newton, Aaron Larson, and Stefan
 Schoef, wrote @file{bibtex.el}, a mode for editing Bib@TeX{}
 bibliography files.
+
 @item
 Charlie Martin wrote @file{autoinsert.el}, which provides automatic
 mode-sensitive insertion of text into new files.
@@ -722,7 +722,7 @@ Richard Mlynarik wrote:
 @file{rfc822.el}, a parser for E-mail addresses in the RFC-822 format,
 used in mail messages and news articles,
 @item
-@file{terminal.el}, a terminal emulator for Emacs subprocesses, and 
+@file{terminal.el}, a terminal emulator for Emacs subprocesses, and
 @item
 @file{yow.el}, an essential utility (try @kbd{M-x yow}).
 @end itemize
@@ -821,7 +821,7 @@ Jeff Peck wrote:
 @item
 @file{sun.el}, key bindings for sunterm keys,
 @item
-@file{sun-curs.el}, cursor definitions for Sun Windows, and 
+@file{sun-curs.el}, cursor definitions for Sun Windows, and
 @item
 @file{sun-fns.el} and @file{sun-mouse.el}, providing mouse support for
 Sun Windows.
@@ -1153,7 +1153,7 @@ buffers.
 Tibor @v{S}imko and Milan Zamazal wrote @file{slovak.el}, support for
 editing text in Slovak language.
 
-@item 
+@item
 Naoto Takahashi wrote @file{utf-8.el}, support for encoding and
 decoding UTF-8 data.
 
index f88d91d0d0c280769b121c3f632eea41addab08e..a1012b8fbff50db24653b50f1570bd0b087d1a29 100644 (file)
@@ -161,7 +161,7 @@ not use these extensions and if you want Emacs to automatically start the
 Ada mode every time you edit an Ada file.
 
 Also, for general usage variables that you might want to set,
-see 
+see
 @iftex
 @cite{The GNU Emacs Manual}.
 @end iftex
@@ -337,7 +337,7 @@ choice is to use this variable settings, and otherwise
 @item C-c u
 @findex ada-customize
 Create or edit the project file for the current buffer (@code{ada-customize}).
-@item C-c c   
+@item C-c c
 @findex ada-change-prj
 Change the project file associated with the current Ada buffer (@code{ada-change-prj}).
 @item C-c d
index f7eb39d31de24e2a8bbb0b06e261ca9bba9be2d3..6029b76cfeaccc574fe64c1962bf386ed9e7073a 100644 (file)
@@ -262,7 +262,7 @@ if you set the variable @code{next-line-add-newlines} to a
 non-@code{nil} value, @kbd{C-n} on the last line of a buffer creates
 an additional line at the end and moves down onto it.
 
-@node Erasing  
+@node Erasing
 @section Erasing Text
 
 @table @kbd
@@ -611,7 +611,7 @@ point and the character after it.  It displays a line in the echo area
 that looks like this:
 
 @smallexample
-Char: c (0143, 99, 0x63)  point=21044 of 26883(78%)  column 53 
+Char: c (0143, 99, 0x63)  point=21044 of 26883(78%)  column 53
 @end smallexample
 
 @noindent
@@ -641,7 +641,7 @@ additional text describing the currently accessible range.  For example, it
 might display this:
 
 @smallexample
-Char: C (0103, 67, 0x43)  point=252 of 889(28%) <231 - 599>  column 0 
+Char: C (0103, 67, 0x43)  point=252 of 889(28%) <231 - 599>  column 0
 @end smallexample
 
 @noindent
index 8630a17bf957c6f7cc54332496b0a523d1bda334..6aa0c5eac2c45dc92f9d0b03adfa96494329ebde 100644 (file)
@@ -54,7 +54,7 @@ megabytes.
 * Kill Buffer::                Killing buffers you no longer need.
 * Several Buffers::     How to go through the list of all buffers
                          and operate variously on several of them.
-* Indirect Buffers::    An indirect buffer shares the text of another buffer. 
+* Indirect Buffers::    An indirect buffer shares the text of another buffer.
 * Buffer Convenience::  Convenience and customization features for
                           buffer handling.
 @end menu
@@ -155,10 +155,10 @@ current buffer.  Here is an example of a buffer list:@refill
  MR Buffer         Size  Mode           File
  -- ------         ----  ----           ----
 .*  emacs.tex      383402 Texinfo       /u2/emacs/man/emacs.tex
-    *Help*         1287  Fundamental   
+    *Help*         1287  Fundamental
     files.el       23076 Emacs-Lisp     /u2/emacs/lisp/files.el
   % RMAIL          64042 RMAIL          /u/rms/RMAIL
- *% man            747   Dired          /u2/emacs/man/         
+ *% man            747   Dired          /u2/emacs/man/
     net.emacs      343885 Fundamental   /u/rms/net.emacs
     fileio.c       27691 C              /u2/emacs/src/fileio.c
     NEWS           67340 Text           /u2/emacs/etc/NEWS
@@ -498,7 +498,7 @@ convenient to switch between buffers.
 @menu
 * Uniquify::               Buffer names can contain directory parts.
 * Iswitchb::               Switching between buffers with substrings.
-* Buffer Menus::           Configurable buffer menu.     
+* Buffer Menus::           Configurable buffer menu.
 @end menu
 
 @node Uniquify
index 9f8466eef6894e15938b08699d0208aa34dbf374..37af1db844a2a05b6c436fc4d28a5f241a0d8669 100644 (file)
@@ -18,14 +18,14 @@ in the larger process of developing and maintaining programs.
 * Compilation Mode::    The mode for visiting compiler errors.
 * Compilation Shell::   Customizing your shell properly
                           for use in the compilation buffer.
-* Debuggers::          Running symbolic debuggers for non-Lisp programs. 
-* Executing Lisp::      Various modes for editing Lisp programs, 
+* Debuggers::          Running symbolic debuggers for non-Lisp programs.
+* Executing Lisp::      Various modes for editing Lisp programs,
                           with different facilities for running
-                          the Lisp programs. 
+                          the Lisp programs.
 * Libraries: Lisp Libraries.      Creating Lisp programs to run in Emacs.
 * Interaction: Lisp Interaction.  Executing Lisp in an Emacs buffer.
 * Eval: Lisp Eval.      Executing a single Lisp expression in Emacs.
-* External Lisp::         Communicating through Emacs with a separate Lisp. 
+* External Lisp::         Communicating through Emacs with a separate Lisp.
 @end menu
 
 @node Compilation
index 3ef1b449e8b26fc1b4c60d8dcb3a5b8021e18d10..5d43afefd23f40d160fc2aa43425ea31d156bd3b 100644 (file)
@@ -12436,7 +12436,7 @@ this calculation has infinity as an input.
 @cindex Positive infinite mode
 The @kbd{m i} command with a numeric prefix argument of zero,
 i.e., @kbd{C-u 0 m i}, turns on a ``positive infinite mode'' in
-which zero is treated as positive instead of being directionless.  
+which zero is treated as positive instead of being directionless.
 Thus, @samp{1 / 0 = inf} and @samp{-1 / 0 = -inf} in this mode.
 Note that zero never actually has a sign in Calc; there are no
 separate representations for @i{+0} and @i{-0}.  Positive
@@ -14171,7 +14171,7 @@ Calc      TeX           eqn
 ----      ---           ---
 acute     \acute
 bar       \bar          bar
-breve     \breve        
+breve     \breve
 check     \check
 dot       \dot          dot
 dotdot    \ddot         dotdot
@@ -14458,7 +14458,7 @@ Subscripts use double square brackets: @samp{a[[i]]}.@refill
 @cindex Maple language
 The @kbd{d W} (@code{calc-maple-language}) command selects the
 conventions of Maple, another mathematical tool from the University
-of Waterloo.  
+of Waterloo.
 
 Maple's language is much like C.  Underscores are allowed in symbol
 names; square brackets are used for subscripts; explicit @samp{*}s for
@@ -15040,7 +15040,7 @@ as an algebraic entry.
 
 @example
 @group
- C  +  C 
+ C  +  C
 a b   7 3
 @end group
 @end example
@@ -15564,7 +15564,7 @@ and 3 (HMS).  The @kbd{m d} command accepts these prefixes.
 @item
 Symbolic mode.  Value is 0 or 1; default is 0.  Command is @kbd{m s}.
 
-@item 
+@item
 Fraction mode.  Value is 0 or 1; default is 0.  Command is @kbd{m f}.
 
 @item
@@ -17626,7 +17626,7 @@ fvb(rate, n, pmt) =     pmt * ----------------------------
 fvl(rate, n, pmt) =     pmt * (1 + rate)
 
                                             -n
-                              1 - (1 + rate)  
+                              1 - (1 + rate)
 pv(rate, n, pmt) =      pmt * ----------------
                                     rate
 
@@ -22984,7 +22984,7 @@ indefinite integral in terms of variable @code{v} instead of @code{x}.
 With four arguments, @samp{integ(f(x),x,a,b)} represents a definite
 integral from @code{a} to @code{b}.
 @end ifinfo
-@tex  
+@tex
 If you use the @code{integ} function directly in an algebraic formula,
 you can also write @samp{integ(f,x,v)} which expresses the resulting
 indefinite integral in terms of variable @code{v} instead of @code{x}.
@@ -23249,7 +23249,7 @@ Two useful commands for working with the result of @kbd{a S} are
 to @cite{y/3 - 2}, and @kbd{s l} (@pxref{Let Command}) which evaluates
 another formula with @cite{x} set equal to @cite{y/3 - 2}.
 
-@menu 
+@menu
 * Multiple Solutions::
 * Solving Systems of Equations::
 * Decomposing Polynomials::
@@ -34016,7 +34016,7 @@ If composition @var{c} is a ``flat'' composition, return the last
 
 @comment @node Lisp Variables, Hooks, Formatting Lisp Functions, Internals
 @comment @subsubsection Lisp Variables
-@comment 
+@comment
 @comment @noindent
 @comment (This section is currently unfinished.)
 
@@ -34397,8 +34397,8 @@ keystrokes are not listed in this summary.
 @r{       @:     M-# _  @:             @:    36  @:calc-grab-sum-across@:}
 @r{       @:     M-# `  @:editing      @:    30  @:calc-embedded-edit@:}
 @r{       @:     M-# 0  @:(zero)       @:        @:calc-reset@:}
-@c 
+
+@c
 @r{       @:      0-9   @:number       @:        @:@:number}
 @r{       @:      .     @:number       @:        @:@:0.number}
 @r{       @:      _     @:number       @:        @:-@:number}
@@ -34409,12 +34409,12 @@ keystrokes are not listed in this summary.
 @r{       @:      @@ ' " @:  (in number)@:        @:@:HMS form}
 @r{       @:      h m s @:  (in number)@:        @:@:HMS form}
 
-@c 
+@c
 @r{       @:      '     @:formula      @: 37,46  @:@:formula}
 @r{       @:      $     @:formula      @: 37,46  @:$@:formula}
 @r{       @:      "     @:string       @: 37,46  @:@:string}
-@c 
+
+@c
 @r{    a b@:      +     @:             @:     2  @:add@:(a,b)  a+b}
 @r{    a b@:      -     @:             @:     2  @:sub@:(a,b)  a@minus{}b}
 @r{    a b@:      *     @:             @:     2  @:mul@:(a,b)  a b, a*b}
@@ -34432,8 +34432,8 @@ keystrokes are not listed in this summary.
 @r{      a@:      !     @:             @:     1  @:fact@:(a)  a!}
 @r{      a@:      =     @:             @:     1  @:evalv@:(a)}
 @r{      a@:      M-%   @:             @:        @:percent@:(a)  a%}
-@c 
+
+@c
 @r{  ... a@:      @key{RET}   @:             @:     1  @:@:... a a}
 @r{  ... a@:      @key{SPC}   @:             @:     1  @:@:... a a}
 @r{... a b@:      @key{TAB}   @:             @:     3  @:@:... b a}
@@ -34443,8 +34443,8 @@ keystrokes are not listed in this summary.
 @r{... a b@:      M-@key{DEL} @:             @:     1  @:@:... b}
 @r{       @:      M-@key{RET} @:             @:     4  @:calc-last-args@:}
 @r{      a@:      `     @:editing      @:  1,30  @:calc-edit@:}
-@c 
+
+@c
 @r{  ... a@:      C-d   @:             @:     1  @:@:...}
 @r{       @:      C-k   @:             @:    27  @:calc-kill@:}
 @r{       @:      C-w   @:             @:    27  @:calc-kill-region@:}
@@ -34452,8 +34452,8 @@ keystrokes are not listed in this summary.
 @r{       @:      C-_   @:             @:     4  @:calc-undo@:}
 @r{       @:      M-k   @:             @:    27  @:calc-copy-as-kill@:}
 @r{       @:      M-w   @:             @:    27  @:calc-copy-region-as-kill@:}
-@c 
+
+@c
 @r{       @:      [     @:             @:        @:@:[...}
 @r{[.. a b@:      ]     @:             @:        @:@:[a,b]}
 @r{       @:      (     @:             @:        @:@:(...}
@@ -34462,15 +34462,15 @@ keystrokes are not listed in this summary.
 @r{       @:      ;     @:             @:        @:@:matrix or polar complex}
 @r{       @:      ..    @:             @:        @:@:interval}
 
-@c 
+@c
 @r{       @:      ~     @:             @:        @:calc-num-prefix@:}
 @r{       @:      <     @:             @:     4  @:calc-scroll-left@:}
 @r{       @:      >     @:             @:     4  @:calc-scroll-right@:}
 @r{       @:      @{     @:             @:     4  @:calc-scroll-down@:}
 @r{       @:      @}     @:             @:     4  @:calc-scroll-up@:}
 @r{       @:      ?     @:             @:        @:calc-help@:}
-@c 
+
+@c
 @r{      a@:      n     @:             @:     1  @:neg@:(a)  @minus{}a}
 @r{       @:      o     @:             @:     4  @:calc-realign@:}
 @r{       @:      p     @:precision    @:    31  @:calc-precision@:}
@@ -34478,8 +34478,8 @@ keystrokes are not listed in this summary.
 @r{       @:      w     @:             @:        @:calc-why@:}
 @r{       @:      x     @:command      @:        @:M-x calc-@:command}
 @r{      a@:      y     @:            @:1,28,49  @:calc-copy-to-buffer@:}
-@c 
+
+@c
 @r{      a@:      A     @:             @:     1  @:abs@:(a)}
 @r{    a b@:      B     @:             @:     2  @:log@:(a,b)}
 @r{    a b@:    I B     @:             @:     2  @:alog@:(a,b)  b^a}
@@ -34524,8 +34524,8 @@ keystrokes are not listed in this summary.
 @r{      a@:  I H T     @:             @:     1  @:arctanh@:(a)}
 @r{       @:      U     @:             @:     4  @:calc-undo@:}
 @r{       @:      X     @:             @:     4  @:calc-call-last-kbd-macro@:}
-@c 
+
+@c
 @r{    a b@:      a =   @:             @:     2  @:eq@:(a,b)  a=b}
 @r{    a b@:      a #   @:             @:     2  @:neq@:(a,b)  a!=b}
 @r{    a b@:      a <   @:             @:     2  @:lt@:(a,b)  a<b}
@@ -34539,20 +34539,20 @@ keystrokes are not listed in this summary.
 @r{  a b c@:      a :   @:             @:    45  @:if@:(a,b,c)  a?b:c}
 @r{      a@:      a .   @:             @:     1  @:rmeq@:(a)}
 @r{      a@:      a "   @:             @:   7,8  @:calc-expand-formula@:}
-@c 
+
+@c
 @r{      a@:      a +   @:i, l, h      @:  6,38  @:sum@:(a,i,l,h)}
 @r{      a@:      a -   @:i, l, h      @:  6,38  @:asum@:(a,i,l,h)}
 @r{      a@:      a *   @:i, l, h      @:  6,38  @:prod@:(a,i,l,h)}
 @r{    a b@:      a _   @:             @:     2  @:subscr@:(a,b)  a_b}
-@c 
+
+@c
 @r{    a b@:      a \   @:             @:     2  @:pdiv@:(a,b)}
 @r{    a b@:      a %   @:             @:     2  @:prem@:(a,b)}
 @r{    a b@:      a /   @:             @:     2  @:pdivrem@:(a,b)  [q,r]}
 @r{    a b@:    H a /   @:             @:     2  @:pdivide@:(a,b)  q+r/b}
-@c 
+
+@c
 @r{      a@:      a a   @:             @:     1  @:apart@:(a)}
 @r{      a@:      a b   @:old, new     @:    38  @:subst@:(a,old,new)}
 @r{      a@:      a c   @:v            @:    38  @:collect@:(a,v)}
@@ -34573,8 +34573,8 @@ keystrokes are not listed in this summary.
 @r{      a@:      a t   @:v, n         @: 31,39  @:taylor@:(a,v,n)}
 @r{      a@:      a v   @:             @:   7,8  @:calc-alg-evaluate@:}
 @r{      a@:      a x   @:             @:   4,8  @:expand@:(a)}
-@c 
+
+@c
 @r{   data@:      a F   @:model, vars  @:    48  @:fit@:(m,iv,pv,data)}
 @r{   data@:    I a F   @:model, vars  @:    48  @:xfit@:(m,iv,pv,data)}
 @r{   data@:    H a F   @:model, vars  @:    48  @:efit@:(m,iv,pv,data)}
@@ -34594,8 +34594,8 @@ keystrokes are not listed in this summary.
 @r{      a@:      a T   @:i, l, h      @:  6,38  @:table@:(a,i,l,h)}
 @r{    a g@:      a X   @:v            @:    38  @:maximize@:(a,v,g)}
 @r{    a g@:    H a X   @:v            @:    38  @:wmaximize@:(a,v,g)}
-@c 
+
+@c
 @r{    a b@:      b a   @:             @:     9  @:and@:(a,b,w)}
 @r{      a@:      b c   @:             @:     9  @:clip@:(a,w)}
 @r{    a b@:      b d   @:             @:     9  @:diff@:(a,b,w)}
@@ -34611,8 +34611,8 @@ keystrokes are not listed in this summary.
 @r{      a@:      b u   @:             @:     1  @:vunpack@:(a)}
 @r{       @:      b w   @:w            @:  9,50  @:calc-word-size@:}
 @r{    a b@:      b x   @:             @:     9  @:xor@:(a,b,w)}
-@c 
+
+@c
 @r{c s l p@:      b D   @:             @:        @:ddb@:(c,s,l,p)}
 @r{  r n p@:      b F   @:             @:        @:fv@:(r,n,p)}
 @r{  r n p@:    I b F   @:             @:        @:fvb@:(r,n,p)}
@@ -34641,8 +34641,8 @@ keystrokes are not listed in this summary.
 @r{  r p a@:    I b #   @:             @:        @:nperb@:(r,p,a)}
 @r{  r p a@:    H b #   @:             @:        @:nperl@:(r,p,a)}
 @r{    a b@:      b %   @:             @:        @:relch@:(a,b)}
-@c 
+
+@c
 @r{      a@:      c c   @:             @:     5  @:pclean@:(a,p)}
 @r{      a@:      c 0-9 @:             @:        @:pclean@:(a,p)}
 @r{      a@:    H c c   @:             @:     5  @:clean@:(a,p)}
@@ -34654,15 +34654,15 @@ keystrokes are not listed in this summary.
 @r{      a@:      c p   @:             @:        @:polar@:(a)}
 @r{      a@:    I c p   @:             @:        @:rect@:(a)}
 @r{      a@:      c r   @:             @:     1  @:rad@:(a)}
-@c 
+
+@c
 @r{      a@:      c F   @:             @:     5  @:pfrac@:(a,p)}
 @r{      a@:    H c F   @:             @:     5  @:frac@:(a,p)}
-@c 
+
+@c
 @r{      a@:      c %   @:             @:        @:percent@:(a*100)}
-@c 
+
+@c
 @r{       @:      d .   @:char         @:    50  @:calc-point-char@:}
 @r{       @:      d ,   @:char         @:    50  @:calc-group-char@:}
 @r{       @:      d <   @:             @: 13,50  @:calc-left-justify@:}
@@ -34675,14 +34675,14 @@ keystrokes are not listed in this summary.
 @r{       @:      d "   @:             @: 12,50  @:calc-display-strings@:}
 @r{       @:      d @key{SPC} @:             @:        @:calc-refresh@:}
 @r{       @:      d @key{RET} @:             @:     1  @:calc-refresh-top@:}
-@c 
+
+@c
 @r{       @:      d 0   @:             @:    50  @:calc-decimal-radix@:}
 @r{       @:      d 2   @:             @:    50  @:calc-binary-radix@:}
 @r{       @:      d 6   @:             @:    50  @:calc-hex-radix@:}
 @r{       @:      d 8   @:             @:    50  @:calc-octal-radix@:}
-@c 
+
+@c
 @r{       @:      d b   @:           @:12,13,50  @:calc-line-breaking@:}
 @r{       @:      d c   @:             @:    50  @:calc-complex-notation@:}
 @r{       @:      d d   @:format       @:    50  @:calc-date-notation@:}
@@ -34701,8 +34701,8 @@ keystrokes are not listed in this summary.
 @r{       @:      d t   @:             @:    27  @:calc-truncate-stack@:}
 @r{       @:      d w   @:             @: 12,13  @:calc-auto-why@:}
 @r{       @:      d z   @:             @: 12,50  @:calc-leading-zeros@:}
-@c 
+
+@c
 @r{       @:      d B   @:             @:    50  @:calc-big-language@:}
 @r{       @:      d C   @:             @:    50  @:calc-c-language@:}
 @r{       @:      d E   @:             @:    50  @:calc-eqn-language@:}
@@ -34714,12 +34714,12 @@ keystrokes are not listed in this summary.
 @r{       @:      d T   @:             @:    50  @:calc-tex-language@:}
 @r{       @:      d U   @:             @:    50  @:calc-unformatted-language@:}
 @r{       @:      d W   @:             @:    50  @:calc-maple-language@:}
-@c 
+
+@c
 @r{      a@:      f [   @:             @:     4  @:decr@:(a,n)}
 @r{      a@:      f ]   @:             @:     4  @:incr@:(a,n)}
-@c 
+
+@c
 @r{    a b@:      f b   @:             @:     2  @:beta@:(a,b)}
 @r{      a@:      f e   @:             @:     1  @:erf@:(a)}
 @r{      a@:    I f e   @:             @:     1  @:erfc@:(a)}
@@ -34732,8 +34732,8 @@ keystrokes are not listed in this summary.
 @r{      a@:      f s   @:             @:     1  @:sign@:(a)}
 @r{    a b@:      f x   @:             @:     2  @:max@:(a,b)}
 @r{    n a@:      f y   @:             @:     2  @:besY@:(n,a)}
-@c 
+
+@c
 @r{      a@:      f A   @:             @:     1  @:abssqr@:(a)}
 @r{  x a b@:      f B   @:             @:        @:betaI@:(x,a,b)}
 @r{  x a b@:    H f B   @:             @:        @:betaB@:(x,a,b)}
@@ -34751,8 +34751,8 @@ keystrokes are not listed in this summary.
 @r{    a n@:      f S   @:             @:     2  @:scf@:(a,n)}
 @r{    y x@:      f T   @:             @:        @:arctan2@:(y,x)}
 @r{      a@:      f X   @:             @:     1  @:xpon@:(a)}
-@c 
+
+@c
 @r{    x y@:      g a   @:             @: 28,40  @:calc-graph-add@:}
 @r{       @:      g b   @:             @:    12  @:calc-graph-border@:}
 @r{       @:      g c   @:             @:        @:calc-graph-clear@:}
@@ -34772,8 +34772,8 @@ keystrokes are not listed in this summary.
 @r{       @:      g v   @:             @:        @:calc-graph-view-commands@:}
 @r{       @:      g x   @:display      @:        @:calc-graph-display@:}
 @r{       @:      g z   @:             @:    12  @:calc-graph-zero-x@:}
-@c 
+
+@c
 @r{  x y z@:      g A   @:             @: 28,40  @:calc-graph-add-3d@:}
 @r{       @:      g C   @:command      @:        @:calc-graph-command@:}
 @r{       @:      g D   @:device       @: 43,44  @:calc-graph-device@:}
@@ -34790,13 +34790,13 @@ keystrokes are not listed in this summary.
 @r{       @:      g V   @:             @:        @:calc-graph-view-trail@:}
 @r{       @:      g X   @:format       @:        @:calc-graph-geometry@:}
 @r{       @:      g Z   @:             @:    12  @:calc-graph-zero-y@:}
-@c 
+
+@c
 @r{       @:      g C-l @:             @:    12  @:calc-graph-log-z@:}
 @r{       @:      g C-r @:range        @:        @:calc-graph-range-z@:}
 @r{       @:      g C-t @:title        @:        @:calc-graph-title-z@:}
-@c 
+
+@c
 @r{       @:      h b   @:             @:        @:calc-describe-bindings@:}
 @r{       @:      h c   @:key          @:        @:calc-describe-key-briefly@:}
 @r{       @:      h f   @:function     @:        @:calc-describe-function@:}
@@ -34807,23 +34807,23 @@ keystrokes are not listed in this summary.
 @r{       @:      h s   @:             @:        @:calc-info-summary@:}
 @r{       @:      h t   @:             @:        @:calc-tutorial@:}
 @r{       @:      h v   @:var          @:        @:calc-describe-variable@:}
-@c 
+
+@c
 @r{       @:      j 1-9 @:             @:        @:calc-select-part@:}
 @r{       @:      j @key{RET} @:             @:    27  @:calc-copy-selection@:}
 @r{       @:      j @key{DEL} @:             @:    27  @:calc-del-selection@:}
 @r{       @:      j '   @:formula      @:    27  @:calc-enter-selection@:}
 @r{       @:      j `   @:editing      @: 27,30  @:calc-edit-selection@:}
 @r{       @:      j "   @:             @:  7,27  @:calc-sel-expand-formula@:}
-@c 
+
+@c
 @r{       @:      j +   @:formula      @:    27  @:calc-sel-add-both-sides@:}
 @r{       @:      j -   @:formula      @:    27  @:calc-sel-sub-both-sides@:}
 @r{       @:      j *   @:formula      @:    27  @:calc-sel-mul-both-sides@:}
 @r{       @:      j /   @:formula      @:    27  @:calc-sel-div-both-sides@:}
 @r{       @:      j &   @:             @:    27  @:calc-sel-invert@:}
-@c 
+
+@c
 @r{       @:      j a   @:             @:    27  @:calc-select-additional@:}
 @r{       @:      j b   @:             @:    12  @:calc-break-selections@:}
 @r{       @:      j c   @:             @:        @:calc-clear-selections@:}
@@ -34838,8 +34838,8 @@ keystrokes are not listed in this summary.
 @r{       @:      j s   @:             @:  4,27  @:calc-select-here@:}
 @r{       @:      j u   @:             @:    27  @:calc-unselect@:}
 @r{       @:      j v   @:             @:  7,27  @:calc-sel-evaluate@:}
-@c 
+
+@c
 @r{       @:      j C   @:             @:    27  @:calc-sel-commute@:}
 @r{       @:      j D   @:             @:  4,27  @:calc-sel-distribute@:}
 @r{       @:      j E   @:             @:    27  @:calc-sel-jump-equals@:}
@@ -34852,8 +34852,8 @@ keystrokes are not listed in this summary.
 @r{       @:      j R   @:             @:  4,27  @:calc-commute-right@:}
 @r{       @:      j S   @:             @:  4,27  @:calc-select-here-maybe@:}
 @r{       @:      j U   @:             @:    27  @:calc-sel-unpack@:}
-@c 
+
+@c
 @r{       @:      k a   @:             @:        @:calc-random-again@:}
 @r{      n@:      k b   @:             @:     1  @:bern@:(n)}
 @r{    n x@:    H k b   @:             @:     2  @:bern@:(n,x)}
@@ -34874,8 +34874,8 @@ keystrokes are not listed in this summary.
 @r{    n m@:      k s   @:             @:     2  @:stir1@:(n,m)}
 @r{    n m@:    H k s   @:             @:     2  @:stir2@:(n,m)}
 @r{      n@:      k t   @:             @:     1  @:totient@:(n)}
-@c 
+
+@c
 @r{  n p x@:      k B   @:             @:        @:utpb@:(x,n,p)}
 @r{  n p x@:    I k B   @:             @:        @:ltpb@:(x,n,p)}
 @r{    v x@:      k C   @:             @:        @:utpc@:(x,v)}
@@ -34889,8 +34889,8 @@ keystrokes are not listed in this summary.
 @r{    m x@:    I k P   @:             @:        @:ltpp@:(x,m)}
 @r{    v x@:      k T   @:             @:        @:utpt@:(x,v)}
 @r{    v x@:    I k T   @:             @:        @:ltpt@:(x,v)}
-@c 
+
+@c
 @r{       @:      m a   @:             @: 12,13  @:calc-algebraic-mode@:}
 @r{       @:      m d   @:             @:        @:calc-degrees-mode@:}
 @r{       @:      m f   @:             @:    12  @:calc-frac-mode@:}
@@ -34905,8 +34905,8 @@ keystrokes are not listed in this summary.
 @r{       @:      m v   @:             @: 12,13  @:calc-matrix-mode@:}
 @r{       @:      m w   @:             @:    13  @:calc-working@:}
 @r{       @:      m x   @:             @:        @:calc-always-load-extensions@:}
-@c 
+
+@c
 @r{       @:      m A   @:             @:    12  @:calc-alg-simplify-mode@:}
 @r{       @:      m B   @:             @:    12  @:calc-bin-simplify-mode@:}
 @r{       @:      m C   @:             @:    12  @:calc-auto-recompute@:}
@@ -34918,8 +34918,8 @@ keystrokes are not listed in this summary.
 @r{       @:      m R   @:             @: 12,13  @:calc-mode-record-mode@:}
 @r{       @:      m S   @:             @:    12  @:calc-shift-prefix@:}
 @r{       @:      m U   @:             @:    12  @:calc-units-simplify-mode@:}
-@c 
+
+@c
 @r{       @:      s c   @:var1, var2   @:    29  @:calc-copy-variable@:}
 @r{       @:      s d   @:var, decl    @:        @:calc-declare-variable@:}
 @r{       @:      s e   @:var, editing @: 29,30  @:calc-edit-variable@:}
@@ -34936,8 +34936,8 @@ keystrokes are not listed in this summary.
 @r{      a@:      t 0-9 @:             @:        @:calc-store-into-quick@:}
 @r{       @:      s u   @:var          @:    29  @:calc-unstore@:}
 @r{      a@:      s x   @:var          @:    29  @:calc-store-exchange@:}
-@c 
+
+@c
 @r{       @:      s A   @:editing      @:    30  @:calc-edit-AlgSimpRules@:}
 @r{       @:      s D   @:editing      @:    30  @:calc-edit-Decls@:}
 @r{       @:      s E   @:editing      @:    30  @:calc-edit-EvalRules@:}
@@ -34951,8 +34951,8 @@ keystrokes are not listed in this summary.
 @r{       @:      s T   @:editing      @:    30  @:calc-edit-TimeZone@:}
 @r{       @:      s U   @:editing      @:    30  @:calc-edit-Units@:}
 @r{       @:      s X   @:editing      @:    30  @:calc-edit-ExtSimpRules@:}
-@c 
+
+@c
 @r{      a@:      s +   @:var          @: 29,47  @:calc-store-plus@:  (v+a)}
 @r{      a@:      s -   @:var          @: 29,47  @:calc-store-minus@:  (v-a)}
 @r{      a@:      s *   @:var          @: 29,47  @:calc-store-times@:  (v*a)}
@@ -34964,15 +34964,15 @@ keystrokes are not listed in this summary.
 @r{       @:      s ]   @:var          @: 29,47  @:calc-store-incr@:  (v-(-1))}
 @r{    a b@:      s :   @:             @:     2  @:assign@:(a,b)  a @t{:=} b}
 @r{      a@:      s =   @:             @:     1  @:evalto@:(a,b)  a @t{=>}}
-@c 
+
+@c
 @r{       @:      t [   @:             @:     4  @:calc-trail-first@:}
 @r{       @:      t ]   @:             @:     4  @:calc-trail-last@:}
 @r{       @:      t <   @:             @:     4  @:calc-trail-scroll-left@:}
 @r{       @:      t >   @:             @:     4  @:calc-trail-scroll-right@:}
 @r{       @:      t .   @:             @:    12  @:calc-full-trail-vectors@:}
-@c 
+
+@c
 @r{       @:      t b   @:             @:     4  @:calc-trail-backward@:}
 @r{       @:      t d   @:             @: 12,50  @:calc-trail-display@:}
 @r{       @:      t f   @:             @:     4  @:calc-trail-forward@:}
@@ -34986,8 +34986,8 @@ keystrokes are not listed in this summary.
 @r{       @:      t r   @:string       @:        @:calc-trail-isearch-backward@:}
 @r{       @:      t s   @:string       @:        @:calc-trail-isearch-forward@:}
 @r{       @:      t y   @:             @:     4  @:calc-trail-yank@:}
-@c 
+
+@c
 @r{      d@:      t C   @:oz, nz       @:        @:tzconv@:(d,oz,nz)}
 @r{d oz nz@:      t C   @:$            @:        @:tzconv@:(d,oz,nz)}
 @r{      d@:      t D   @:             @:    15  @:date@:(d)}
@@ -35007,12 +35007,12 @@ keystrokes are not listed in this summary.
 @r{      d@:      t U   @:             @:    16  @:unixtime@:(d,z)}
 @r{      d@:      t W   @:             @:    17  @:newweek@:(d,w)}
 @r{      d@:      t Y   @:             @:    17  @:newyear@:(d,n)}
-@c 
+
+@c
 @r{    a b@:      t +   @:             @:     2  @:badd@:(a,b)}
 @r{    a b@:      t -   @:             @:     2  @:bsub@:(a,b)}
-@c 
+
+@c
 @r{       @:      u a   @:             @:    12  @:calc-autorange-units@:}
 @r{      a@:      u b   @:             @:        @:calc-base-units@:}
 @r{      a@:      u c   @:units        @:    18  @:calc-convert-units@:}
@@ -35027,8 +35027,8 @@ keystrokes are not listed in this summary.
 @r{       @:      u v   @:             @:        @:calc-enter-units-table@:}
 @r{      a@:      u x   @:             @:        @:calc-extract-units@:}
 @r{      a@:      u 0-9 @:             @:        @:calc-quick-units@:}
-@c 
+
+@c
 @r{  v1 v2@:      u C   @:             @:    20  @:vcov@:(v1,v2)}
 @r{  v1 v2@:    I u C   @:             @:    20  @:vpcov@:(v1,v2)}
 @r{  v1 v2@:    H u C   @:             @:    20  @:vcorr@:(v1,v2)}
@@ -35045,13 +35045,13 @@ keystrokes are not listed in this summary.
 @r{      v@:  I H u S   @:             @:    19  @:vpvar@:(v)}
 @r{       @:      u V   @:             @:        @:calc-view-units-table@:}
 @r{      v@:      u X   @:             @:    19  @:vmax@:(v)}
-@c 
+
+@c
 @r{      v@:      u +   @:             @:    19  @:vsum@:(v)}
 @r{      v@:      u *   @:             @:    19  @:vprod@:(v)}
 @r{      v@:      u #   @:             @:    19  @:vcount@:(v)}
-@c 
+
+@c
 @r{       @:      V (   @:             @:    50  @:calc-vector-parens@:}
 @r{       @:      V @{   @:             @:    50  @:calc-vector-braces@:}
 @r{       @:      V [   @:             @:    50  @:calc-vector-brackets@:}
@@ -35062,19 +35062,19 @@ keystrokes are not listed in this summary.
 @r{       @:      V >   @:             @:    50  @:calc-matrix-right-justify@:}
 @r{       @:      V /   @:             @: 12,50  @:calc-break-vectors@:}
 @r{       @:      V .   @:             @: 12,50  @:calc-full-vectors@:}
-@c 
+
+@c
 @r{    s t@:      V ^   @:             @:     2  @:vint@:(s,t)}
 @r{    s t@:      V -   @:             @:     2  @:vdiff@:(s,t)}
 @r{      s@:      V ~   @:             @:     1  @:vcompl@:(s)}
 @r{      s@:      V #   @:             @:     1  @:vcard@:(s)}
 @r{      s@:      V :   @:             @:     1  @:vspan@:(s)}
 @r{      s@:      V +   @:             @:     1  @:rdup@:(s)}
-@c 
+
+@c
 @r{      m@:      V &   @:             @:     1  @:inv@:(m)  1/m}
-@c 
+
+@c
 @r{      v@:      v a   @:n            @:        @:arrange@:(v,n)}
 @r{      a@:      v b   @:n            @:        @:cvec@:(a,n)}
 @r{      v@:      v c   @:n >0         @: 21,31  @:mcol@:(v,n)}
@@ -35107,8 +35107,8 @@ keystrokes are not listed in this summary.
 @r{      v@:      v v   @:             @:     1  @:rev@:(v)}
 @r{       @:      v x   @:n            @:    31  @:index@:(n)}
 @r{  n s i@:  C-u v x   @:             @:        @:index@:(n,s,i)}
-@c 
+
+@c
 @r{      v@:      V A   @:op           @:    22  @:apply@:(op,v)}
 @r{  v1 v2@:      V C   @:             @:     2  @:cross@:(v1,v2)}
 @r{      m@:      V D   @:             @:     1  @:det@:(m)}
@@ -35137,20 +35137,20 @@ keystrokes are not listed in this summary.
 @r{      a@:  I H V U   @:op           @:    22  @:afixp@:(op,a)}
 @r{    s t@:      V V   @:             @:     2  @:vunion@:(s,t)}
 @r{    s t@:      V X   @:             @:     2  @:vxor@:(s,t)}
-@c 
+
+@c
 @r{       @:      Y     @:             @:        @:@:user commands}
-@c 
+
+@c
 @r{       @:      z     @:             @:        @:@:user commands}
-@c 
+
+@c
 @r{      c@:      Z [   @:             @:    45  @:calc-kbd-if@:}
 @r{      c@:      Z |   @:             @:    45  @:calc-kbd-else-if@:}
 @r{       @:      Z :   @:             @:        @:calc-kbd-else@:}
 @r{       @:      Z ]   @:             @:        @:calc-kbd-end-if@:}
-@c 
+
+@c
 @r{       @:      Z @{   @:             @:     4  @:calc-kbd-loop@:}
 @r{      c@:      Z /   @:             @:    45  @:calc-kbd-break@:}
 @r{       @:      Z @}   @:             @:        @:calc-kbd-end-loop@:}
@@ -35158,17 +35158,17 @@ keystrokes are not listed in this summary.
 @r{       @:      Z >   @:             @:        @:calc-kbd-end-repeat@:}
 @r{    n m@:      Z (   @:             @:        @:calc-kbd-for@:}
 @r{      s@:      Z )   @:             @:        @:calc-kbd-end-for@:}
-@c 
+
+@c
 @r{       @:      Z C-g @:             @:        @:@:cancel if/loop command}
-@c 
+
+@c
 @r{       @:      Z `   @:             @:        @:calc-kbd-push@:}
 @r{       @:      Z '   @:             @:        @:calc-kbd-pop@:}
 @r{      a@:      Z =   @:message      @:    28  @:calc-kbd-report@:}
 @r{       @:      Z #   @:prompt       @:        @:calc-kbd-query@:}
-@c 
+
+@c
 @r{   comp@:      Z C   @:func, args   @:    50  @:calc-user-define-composition@:}
 @r{       @:      Z D   @:key, command @:        @:calc-user-define@:}
 @r{       @:      Z E   @:key, editing @:    30  @:calc-user-define-edit@:}
index 3b06d30fef4e351d29b498e76b3f520ac0336fbc..fb486ae01c81842951dbadb5a9d07a58a8ce8268 100644 (file)
@@ -1350,7 +1350,7 @@ them.
 @example
 Monday
   9:30am Coffee break
- 12:00pm Lunch        
+ 12:00pm Lunch
 @end example
 
 @noindent
index 41f1be4f57ed51fa354ebd0d79efc210f87caa79..25f39d75cd64ede4c9cc985181cf17c4e108f7a3 100644 (file)
@@ -18,7 +18,7 @@
 
 
 @comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-@comment 
+@comment
 @comment Texinfo manual for CC Mode
 @comment Generated from the original README file by Krishna Padmasola
 @comment <krishna@earth-gw.njit.edu>
@@ -28,7 +28,7 @@
 @comment Martin Stjernholm
 @comment
 @comment Maintained by Martin Stjernholm <bug-cc-mode@gnu.org>
-@comment 
+@comment
 @comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
 @copying
@@ -398,7 +398,7 @@ level function block, and is indented relative to buffer position 29,
 which is the brace just after the function header.
 
 Here's another example:
-@example 
+@example
 @group
 
   1: int add( int val, int incr, int doit )
@@ -889,7 +889,7 @@ in:
 @example
 @group
 
-void spam( int i ) 
+void spam( int i )
 @{
         // this is a comment-only line...
     if( i == 7 )                             // but this is not
@@ -1480,9 +1480,9 @@ that bit.
 @comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
 The following list of commands re-indent C constructs.  Note that when
-you change your coding style, either interactively or through some other 
+you change your coding style, either interactively or through some other
 means, your file does @emph{not} automatically get re-indented.  You
-will need to execute one of the following commands to see the effects of 
+will need to execute one of the following commands to see the effects of
 your changes.
 
 @cindex GNU indent program
@@ -1495,7 +1495,7 @@ among other things.
 
 Re-indenting large sections of code can take a long time.  When
 @ccmode{} reindents a region of code, it is essentially equivalent to
-hitting @kbd{TAB} on every line of the region.  Especially vulnerable is 
+hitting @kbd{TAB} on every line of the region.  Especially vulnerable is
 code generator output@footnote{In particular, I have had people
 complain about the speed with which @code{lex(1)} output is re-indented.
 Lex, yacc, and other code generators usually output some pretty
@@ -1589,7 +1589,7 @@ in a line's indentation, otherwise only spaces can be used.
 @vindex c-progress-interval
 @vindex progress-interval (c-)
 @item c-progress-interval
-When indenting large regions of code, this variable controls how often a 
+When indenting large regions of code, this variable controls how often a
 progress message is displayed.  Set this variable to @code{nil} to
 inhibit the progress messages, or set it to an integer which is the
 interval in seconds that progress messages are displayed.
@@ -2355,22 +2355,22 @@ modes.
 
 @item
 When @code{c-default-style} is an association list, the current major
-mode is looked up to find a style name string.  In this case, this style 
-is always used exactly as specified and an error will occur if the named 
+mode is looked up to find a style name string.  In this case, this style
+is always used exactly as specified and an error will occur if the named
 style does not exist.
 
 @item
 If @code{c-default-style} is an association list, but the current major
-mode isn't found, then the special symbol @samp{other} is looked up.  If 
+mode isn't found, then the special symbol @samp{other} is looked up.  If
 this value is found, the associated style is used.
 
 @item
 If @samp{other} is not found, then the @samp{gnu} style is used.
 
 @item
-In all cases, the style described in @code{c-default-style} is installed 
+In all cases, the style described in @code{c-default-style} is installed
 @emph{before} the language hooks are run, so you can always override
-this setting by including an explicit call to @code{c-set-style} in your 
+this setting by including an explicit call to @code{c-set-style} in your
 language mode hook, or in @code{c-mode-common-hook}.
 
 @end enumerate
@@ -2533,7 +2533,7 @@ are simply indented two spaces to the right of line 3.  But perhaps we'd
 like @ccmode{} to be a little more intelligent so that it aligns
 all the @samp{<<} symbols in lines 3 through 6.  To do this, we have
 to write a custom indentation function which finds the column of first
-stream operator on the first line of the statement.  Here is sample 
+stream operator on the first line of the statement.  Here is sample
 lisp code implementing this:
 @example
 @group
@@ -2823,7 +2823,7 @@ i.e. they want the comments to always indent as they would for normal
 code, regardless of whether @kbd{TAB} or @kbd{M-;} were used.  This
 behavior is controlled by the variable
 @code{c-indent-comments-syntactically-p}.  When @code{nil} (the
-default), @kbd{M-;} indents comment-only lines to @code{comment-column}, 
+default), @kbd{M-;} indents comment-only lines to @code{comment-column},
 otherwise, they are indented just as they would be if @kbd{TAB} were
 typed.
 
@@ -3374,7 +3374,7 @@ symbols.  In this example:
 @example
 @group
 
-   1: extern "C" 
+   1: extern "C"
    2: @{
    3:     int thing_one( int );
    4:     int thing_two( double );
@@ -3412,7 +3412,7 @@ symbols.  In this example:
 @noindent
 line 2 is given the @code{namespace-open} syntax, while line 4 is given
 the @code{namespace-close} syntax.  The analysis for line 3 yields:
-@code{((innamespace) (topmost-intro . 17))}, where @code{innamespace} is 
+@code{((innamespace) (topmost-intro . 17))}, where @code{innamespace} is
 a modifier similar in purpose to @code{inextern-lang} and @code{inclass}.
 
 A number of syntactic symbols are associated with parenthesis lists,
@@ -3423,19 +3423,19 @@ calls.  This example illustrates these:
 
    1: void a_function( int line1,
    2:                  int line2 );
-   3: 
+   3:
    4: void a_longer_function(
    5:     int line1,
    6:     int line2
    7:     );
-   8: 
+   8:
    9: void call_them( int line1, int line2 )
   10: @{
   11:     a_function(
   12:         line1,
   13:         line2
   14:         );
-  15: 
+  15:
   16:     a_longer_function( line1,
   17:                        line2 );
   18: @}
@@ -3475,10 +3475,10 @@ covered are illustrated by this C++ example:
    3: @{
    4:     /* this line starts a multi-line
    5:      * comment.  This line should get `c' syntax */
-   6: 
+   6:
    7:     char* a_multiline_string = "This line starts a multi-line \
    8: string.  This line should get `string' syntax.";
-   9: 
+   9:
   10:   note:
   11:     @{
   12: #ifdef LOCK
@@ -3567,7 +3567,7 @@ example:
 @end example
 @noindent
 line 1 is given the syntactic symbol @code{cpp-macro}.  This first line
-of a macro is always given this symbol.  The second and subsequent lines 
+of a macro is always given this symbol.  The second and subsequent lines
 (e.g. lines 2 through 5) are given the @code{cpp-macro-cont} syntactic
 symbol, with a relative buffer position pointing to the @code{#} which
 starts the macro definition.
@@ -3778,7 +3778,7 @@ indentation is added.  E.g:
 @group
 
 main (int,
-      char **           
+      char **
      )                   // c-lineup-close-paren
 
 @end group
@@ -3857,7 +3857,7 @@ E.g:
 @group
 
 class Foo
-    extends           
+    extends
         Bar              // c-lineup-java-inher
 
     <--> c-basic-offset
@@ -3921,8 +3921,8 @@ Indent a one line block @code{c-basic-offset} extra.  E.g:
 
 if (n > 0)
     @{m+=n; n=0;@}         // c-indent-one-line-block
-                           
-<--> c-basic-offset        
+
+<--> c-basic-offset
 
 @end group
 @end example
@@ -3954,7 +3954,7 @@ Indent a multi line block @code{c-basic-offset} extra.  E.g:
 @group
 
 int *foo[] = @{
-    NULL,                 
+    NULL,
     @{17@},                // c-indent-multi-line-block
 
 @end group
@@ -4440,7 +4440,7 @@ in the @file{README} file.
 XEmacs since 19.16.
 
 Due to release schedule skew, it is likely that all of these Emacsen
-have old versions of @ccmode{} and so should be upgraded.  Access to the 
+have old versions of @ccmode{} and so should be upgraded.  Access to the
 @ccmode{} source code, as well as more detailed information on Emacsen
 compatibility, etc. are all available via the Web at:
 
index 6c717066e22e6b816af9a24e69e1cd0dae946bd4..eebd3ae4b5f8baa4833cabd8261a34196a582f36 100644 (file)
@@ -1031,41 +1031,41 @@ to standard Common Lisp.
 The following Emacs-specific functions are also @code{setf}-able.
 
 @smallexample
-buffer-file-name                  marker-position          
-buffer-modified-p                 match-data               
-buffer-name                       mouse-position           
-buffer-string                     overlay-end              
-buffer-substring                  overlay-get              
-current-buffer                    overlay-start            
-current-case-table                point                    
-current-column                    point-marker             
-current-global-map                point-max                
-current-input-mode                point-min                
-current-local-map                 process-buffer           
-current-window-configuration      process-filter           
-default-file-modes                process-sentinel         
-default-value                     read-mouse-position      
-documentation-property            screen-height            
-extent-data                       screen-menubar           
-extent-end-position               screen-width             
-extent-start-position             selected-window          
-face-background                   selected-screen          
-face-background-pixmap            selected-frame           
-face-font                         standard-case-table      
-face-foreground                   syntax-table             
-face-underline-p                  window-buffer            
-file-modes                        window-dedicated-p       
-frame-height                      window-display-table     
-frame-parameters                  window-height            
-frame-visible-p                   window-hscroll           
-frame-width                       window-point             
-get-register                      window-start             
-getenv                            window-width             
-global-key-binding                x-get-cut-buffer         
-keymap-parent                     x-get-cutbuffer          
+buffer-file-name                  marker-position
+buffer-modified-p                 match-data
+buffer-name                       mouse-position
+buffer-string                     overlay-end
+buffer-substring                  overlay-get
+current-buffer                    overlay-start
+current-case-table                point
+current-column                    point-marker
+current-global-map                point-max
+current-input-mode                point-min
+current-local-map                 process-buffer
+current-window-configuration      process-filter
+default-file-modes                process-sentinel
+default-value                     read-mouse-position
+documentation-property            screen-height
+extent-data                       screen-menubar
+extent-end-position               screen-width
+extent-start-position             selected-window
+face-background                   selected-screen
+face-background-pixmap            selected-frame
+face-font                         standard-case-table
+face-foreground                   syntax-table
+face-underline-p                  window-buffer
+file-modes                        window-dedicated-p
+frame-height                      window-display-table
+frame-parameters                  window-height
+frame-visible-p                   window-hscroll
+frame-width                       window-point
+get-register                      window-start
+getenv                            window-width
+global-key-binding                x-get-cut-buffer
+keymap-parent                     x-get-cutbuffer
 local-key-binding                 x-get-secondary-selection
-mark                              x-get-selection          
-mark-marker                       
+mark                              x-get-selection
+mark-marker
 @end smallexample
 
 Most of these have directly corresponding ``set'' functions, like
@@ -2001,7 +2001,7 @@ just as in Common Lisp.
 Because they are implemented in terms of Emacs Lisp @code{catch}
 and @code{throw}, blocks have the same overhead as actual
 @code{catch} constructs (roughly two function calls).  However,
-the optimizing byte compiler will optimize away the @code{catch} 
+the optimizing byte compiler will optimize away the @code{catch}
 if the block does
 not in fact contain any @code{return} or @code{return-from} calls
 that jump to it.  This means that @code{do} loops and @code{defun*}
index 964e943433ddd7b1993153b8ffc88f9e0d2f446f..497b31698c711a5406694b66ae3ef43dd7ff5f00 100644 (file)
@@ -432,7 +432,7 @@ removed from the end if it was present.  On Windows, the default value
 of @env{HOME} is @file{C:/}, the root directory of drive @file{C:}.
 @item HOSTNAME
 The name of the machine that Emacs is running on.
-@item INCPATH 
+@item INCPATH
 A colon-separated list of directories.  Used by the @code{complete} package
 to search for files.
 @item INFOPATH
@@ -629,7 +629,7 @@ all users of the machine.  Settings you add to the
 override machine wide settings.
 
 @node Display X
-@appendixsec Specifying the Display Name 
+@appendixsec Specifying the Display Name
 @cindex display name (X Window System)
 @cindex @env{DISPLAY} environment variable
 
@@ -913,7 +913,7 @@ text-only terminals as well as on window systems.
 @cindex specifying fullscreen for Emacs frame
 
   Here is a list of the command-line options for specifying size and
-position of the initial Emacs frame: 
+position of the initial Emacs frame:
 
 @table @samp
 @item -g @var{width}x@var{height}@r{[@{}+-@r{@}}@var{xoffset}@r{@{}+-@r{@}}@var{yoffset}@r{]]}
index a751b9fbf16a493a9935fd141cf74d592e588ccf..b0727cfa1e47f5f6f0fa6f5f57c57b5a0589a2a8 100644 (file)
@@ -84,7 +84,7 @@ don't hold down @key{ESC} while typing the next character; instead,
 you press it and release it, then you enter the next character.
 @key{ESC} is allowed on terminals with @key{META} keys, too, in case
 you have formed a habit of using it.
-  
+
   The X Window System provides several other modifier keys that can be
 applied to any input character.  These are called @key{SUPER},
 @key{HYPER} and @key{ALT}.  We write @samp{s-}, @samp{H-} and @samp{A-}
@@ -183,7 +183,7 @@ There are a few prefix keys for which @kbd{C-h} does not
 work---for historical reasons, they have other meanings for @kbd{C-h}
 which are not easy to change.  But @key{F1} should work for all prefix
 keys.
-  
+
 @node Commands, Text Characters, Keys, Top
 @section Keys and Commands
 
index 50221628faf704c78a560d4e04118680820ddc29..6d80368388033f55a137a2601fa31f0169cb036e 100644 (file)
@@ -27,17 +27,17 @@ customizations for future sessions, this actually works by editing
                          you can control their functioning.
 * Keyboard Macros::    A keyboard macro records a sequence of
                          keystrokes to be replayed with a single
-                         command. 
+                         command.
 * Key Bindings::       The keymaps say what command each key runs.
                          By changing them, you can "redefine keys".
 * Keyboard Translations::
                         If your keyboard passes an undesired code
                           for a key, you can tell Emacs to
-                          substitute another code. 
+                          substitute another code.
 * Syntax::             The syntax table controls how words and
                           expressions are parsed.
 * Init File::          How to write common customizations in the
-                         @file{.emacs} file. 
+                         @file{.emacs} file.
 @end menu
 
 @node Minor Modes
@@ -328,10 +328,10 @@ Confirm Kill Emacs: [Hide] [Value Menu] Don't confirm
    [State]: this option is unchanged from its standard setting.
 How to ask for confirmation when leaving Emacs. [More]
 
-Editing group: [Go to Group] 
+Editing group: [Go to Group]
 Basic text editing facilities.
 
-External group: [Go to Group] 
+External group: [Go to Group]
 Interfacing to external utilities.
 
 @var{more second-level groups}
@@ -693,7 +693,7 @@ that match @var{regexp}.
 @item M-x customize-changed-options @key{RET} @var{version} @key{RET}
 Set up a customization buffer with all the options, faces and groups
 whose meaning has changed since Emacs version @var{version}.
-@item M-x customize-saved 
+@item M-x customize-saved
 Set up a customization buffer containing all options and faces that you
 have saved with customization buffers.
 @item M-x customize-customized
@@ -1575,7 +1575,7 @@ press the key, a message like this appears so that you can confirm that
 you are binding the key you want:
 
 @example
-Set key C-z to command: 
+Set key C-z to command:
 @end example
 
   You can redefine function keys and mouse events in the same way; just
index 6a5ce041994b9f4a2eb141f877a81589995c0169..a1172019544d4e3cdba17d89e1913db9d7b7d78c 100644 (file)
@@ -1,7 +1,7 @@
 \input texinfo  @comment -*-texinfo-*-
 
 @c dired-x.texi --- Sebastian Kremer's Extra DIRED hacked up for GNU Emacs19
-@c 
+@c
 @c Author: Sebastian Kremer <sk@thp.uni-koeln.de>
 @c     Lawrence R. Dodd <dodd@roebling.poly.edu>
 @c [Dodd's address no longer valid.]
@@ -108,10 +108,10 @@ provided by the file @file{dired-x.el}.
 Based on @file{dired.texi} by Sebastian Kremer <sk@@thp.uni-koeln.de>
 
 @c dired-x.el REVISION NUMBER
-@item 
+@item
 For @file{dired-x.el} revision 2
 
-@c @item 
+@c @item
 @c Revision of this manual: 2.53 (2001/02/25 14:05:46)
 
 @c @item
@@ -137,10 +137,10 @@ For @file{dired-x.el} revision 2
 * Miscellaneous Commands::
 * Bugs::
 
-* Concept Index::              
-* Command Index::      
-* Key Index::          
-* Variable Index::     
+* Concept Index::
+* Command Index::
+* Key Index::
+* Variable Index::
 
 @end menu
 
@@ -177,7 +177,7 @@ Some features provided by Dired Extra
 
 @enumerate
 @item
-Omitting uninteresting files from Dired listing. 
+Omitting uninteresting files from Dired listing.
 @itemize @bullet
 @xref{Omitting Files in Dired}.
 @end itemize
@@ -298,7 +298,7 @@ for these functions.  In your @file{.emacs} file put
 
 @example
 ;;; Autoload `dired-jump' and `dired-jump-other-window'.
-;;; We autoload from FILE dired.el.  This will then load dired-x.el 
+;;; We autoload from FILE dired.el.  This will then load dired-x.el
 ;;; and hence define `dired-jump' and `dired-jump-other-window'.
 (define-key global-map "\C-x\C-j" 'dired-jump)
 (define-key global-map "\C-x4\C-j" 'dired-jump-other-window)
@@ -337,7 +337,7 @@ If you choose to have @file{dired-x.el} bind @code{dired-x-find-file} over
 @code{dired-x-bind-find-file} in the @code{dired-load-hook}:
 
 @example
-(add-hook 'dired-load-hook 
+(add-hook 'dired-load-hook
           (lambda ()
             (load "dired-x")
             ;; Bind dired-x-find-file.
@@ -351,7 +351,7 @@ Alternatively, you can set the variable @emph{before} @file{dired-x.el} is
 loaded
 
 @example
-(add-hook 'dired-load-hook 
+(add-hook 'dired-load-hook
           (lambda ()
             ;; Bind dired-x-find-file.
             (setq dired-x-hands-off-my-keys nil)
@@ -596,7 +596,7 @@ in your @code{dired-mode-hook}.
 When Dired visits a directory, it looks for a file whose name is the value of
 variable @code{dired-local-variables-file} (default: @file{.dired}).  If such
 a file is found, Dired will temporarily insert it into the Dired buffer and
-run @code{hack-local-variables}.  
+run @code{hack-local-variables}.
 
 @noindent
 For example, if the user puts
@@ -614,7 +614,7 @@ viewed it will be
 
 @enumerate
 @item
-sorted by date 
+sorted by date
 @item
 omitted automatically
 @end enumerate
@@ -623,7 +623,7 @@ omitted automatically
 You can set @code{dired-local-variables-file} to @code{nil} to suppress this.
 The value of @code{dired-enable-local-variables} controls if and how these
 local variables are read.  This variable exists so that if may override the
-default value of @code{enable-local-variables}.  
+default value of @code{enable-local-variables}.
 
 @noindent
 Please see the GNU Emacs Manual to learn more about local variables.
@@ -1273,7 +1273,7 @@ If you encounter a bug in this package, wish to suggest an
 enhancement, or want to make a smart remark, then type
 
 @example
-@kbd{M-x dired-x-submit-report} 
+@kbd{M-x dired-x-submit-report}
 @end example
 
 @noindent
@@ -1283,7 +1283,7 @@ This command also inserts information that the Dired X maintainer can use to
 recreate your exact setup, making it easier to verify your bug or social
 maladjustment.
 
-Lawrence R. Dodd 
+Lawrence R. Dodd
 @c <dodd@@roebling.poly.edu>
 
 @node     Concept Index, Command Index, Bugs, Top
index 0dbd96210165c881be87f04526d805d6e8e0f99f..e192db56a5171d8353e39cec77c103a1aaa68c4a 100644 (file)
@@ -529,7 +529,7 @@ back on screen.  By default, @code{scroll-conservatively} is 0.
 
 @cindex aggressive scrolling
 @vindex scroll-up-aggressively
-@vindex scroll-down-aggressively 
+@vindex scroll-down-aggressively
   When the window does scroll by a longer distance, you can control
 how aggressively it scrolls, by setting the variables
 @code{scroll-up-aggressively} and @code{scroll-down-aggressively}.
index f82d1e8988fa0c0ed3c618306866041999356a98..8a500a0feba7efb0940a054f4e4f5b9bb8b82be6 100644 (file)
@@ -33,7 +33,7 @@ license to the document, as described in section 6 of the license.
 @end copying
 
 @dircategory Emacs
-@direntry 
+@direntry
 * Ebrowse: (ebrowse).   A C++ class browser for Emacs.
 @end direntry
 
@@ -94,7 +94,7 @@ knows what identifiers are defined in your program@dots{}.
 
 The design of Ebrowse reflects these two needs.
 
-How does it work? 
+How does it work?
 
 @cindex parser for C++ sources
 A fast parser written in C is used to process C++ source files.
@@ -288,7 +288,7 @@ might want to add this to your init file:
 (add-to-list 'auto-mode-alist '(@var{NAME} . ebrowse-tree-mode))
 @end lisp
 
-@noindent 
+@noindent
 where @var{NAME} is the Lisp data base name you are using.
 
 @findex --append
@@ -621,7 +621,7 @@ This command is also provided in the tree buffer's context menu.
 
 @item s
 Display file names for the current line, or for the number of lines
-given by a prefix argument. 
+given by a prefix argument.
 @end table
 
 Here is an example of a tree buffer with file names displayed.
@@ -664,7 +664,7 @@ name like in the example below.
 @table @kbd
 @item -
 This command collapses the branch of the tree starting at the class the
-cursor is on. 
+cursor is on.
 
 @item +
 This command expands the branch of the tree starting at the class the
@@ -760,7 +760,7 @@ also @xref{Tags-like Functions}.)@refill
 @item M t
 Toggle the mark of the line point is in or for as many lines as given by
 a prefix command.  This command can also be found in the class' context
-menu. 
+menu.
 
 @cindex unmark all
 @item M a
@@ -861,7 +861,7 @@ list.
 @item L f
 Switch to the list of member functions.
 
-@cindex static 
+@cindex static
 @item L F
 Switch to the list of static member functions.
 
@@ -880,7 +880,7 @@ Switch to the list of types.
 
 Both commands cycle through the member list.
 
-Most of the commands are also available from the member buffer's 
+Most of the commands are also available from the member buffer's
 context menu.
 
 
@@ -996,7 +996,7 @@ displayed in the member buffer.
 
 @table @kbd
 @cindex @code{public} members
-@item F a u 
+@item F a u
 This command toggles the display of @code{public} members.  The
 @samp{a} stands for `access'.
 
@@ -1217,7 +1217,7 @@ This command sets the column width depending on the display form used
 This command forces a redisplay of the member buffer.  If the width
 of the window displaying the member buffer is changed this command
 redraws the member list with the appropriate column widths and number of
-columns. 
+columns.
 @end table
 
 
@@ -1348,7 +1348,7 @@ This command moves forward in the position stack, setting point to
 the next position stored in the position stack.
 
 @item C-c b p
-Displays an electric buffer showing all positions saved in the stack. 
+Displays an electric buffer showing all positions saved in the stack.
 You can select a position by pressing @kbd{SPC} in a line.  You can
 view a position with @kbd{v}.
 @end table
@@ -1388,7 +1388,7 @@ All three operations above stop when finding a match.  You can restart
 the operation with this command.
 
 @item C-c b n
-This restarts the last tags operation with the next file in the list. 
+This restarts the last tags operation with the next file in the list.
 @end table
 
 
@@ -1410,7 +1410,7 @@ name is read from the minibuffer with completion.
 
 @node Apropos, Symbol Completion, Members in Files, Tags-like Functions
 @comment  node-name,       next,       previous,      up
-@section Member Apropos 
+@section Member Apropos
 @cindex apropos on class members
 @cindex members, matching regexp
 
index 0bd6909d2482b927662417b2ea3995828d195d4c..ab47e5a900ae9a38cbab4211508d5c6dc355dbf1 100644 (file)
@@ -900,7 +900,7 @@ options.
 
 @defopt mm-inline-media-tests
 This is an alist where the key is a @sc{mime} type, the second element
-is a function to display the part @dfn{inline} (i.e., inside Emacs), and 
+is a function to display the part @dfn{inline} (i.e., inside Emacs), and
 the third element is a form to be @code{eval}ed to say whether the part
 can be displayed inline.
 
@@ -923,7 +923,7 @@ be displayed automatically.
 
 @defopt mm-attachment-override-types
 Some @sc{mime} agents create parts that have a content-disposition of
-@samp{attachment}.  This variable allows overriding that disposition and 
+@samp{attachment}.  This variable allows overriding that disposition and
 displaying the part inline.  (Note that the disposition is only
 overridden if we are able to, and want to, display the part inline.)
 @end defopt
@@ -981,7 +981,7 @@ Here's an example viewer for displaying @samp{text/enriched} inline:
 @end lisp
 
 We see that the function takes a @sc{mime} handle as its parameter.  It
-then goes to a temporary buffer, inserts the text of the part, does some 
+then goes to a temporary buffer, inserts the text of the part, does some
 work on the text, stores the result, goes back to the buffer it was
 called from and inserts the result.
 
index bc6ddbf480f8be730c3827778969bc96afbcb648..ca5ddf039ba151bf56c6da39b85c76b7b46725ba 100644 (file)
@@ -37,7 +37,7 @@ Software Foundation raise funds for GNU development.''
 
 @c in general, keep the following line commented out, unless doing a
 @c copy of this manual that will be published.  the manual should go
-@c onto the distribution in the full, 8.5 x 11" size.  
+@c onto the distribution in the full, 8.5 x 11" size.
 
 @c @smallbook
 
@@ -144,7 +144,7 @@ Important General Concepts
 * Keys::               Key sequences: what you type to request one
                           editing action.
 * Commands::           Named functions run by key sequences to do editing.
-* Text Characters::     Character set for text (the contents of buffers 
+* Text Characters::     Character set for text (the contents of buffers
                          and strings).
 * Entering Emacs::      Starting Emacs from the shell.
 * Exiting::            Stopping or killing Emacs.
@@ -282,7 +282,7 @@ Deletion and Killing
                          blank areas.
 * Killing by Lines::   How to kill entire lines of text at one time.
 * Other Kill Commands:: Commands to kill large regions of text and
-                         syntactic units such as words and sentences. 
+                         syntactic units such as words and sentences.
 
 Yanking
 
@@ -376,7 +376,7 @@ Using Multiple Buffers
 * Kill Buffer::                Killing buffers you no longer need.
 * Several Buffers::     How to go through the list of all buffers
                          and operate variously on several of them.
-* Indirect Buffers::    An indirect buffer shares the text of another buffer. 
+* Indirect Buffers::    An indirect buffer shares the text of another buffer.
 
 Multiple Windows
 
@@ -547,14 +547,14 @@ Compiling and Testing Programs
 * Compilation Mode::    The mode for visiting compiler errors.
 * Compilation Shell::   Customizing your shell properly
                           for use in the compilation buffer.
-* Debuggers::          Running symbolic debuggers for non-Lisp programs. 
-* Executing Lisp::     Various modes for editing Lisp programs, 
+* Debuggers::          Running symbolic debuggers for non-Lisp programs.
+* Executing Lisp::     Various modes for editing Lisp programs,
                          with different facilities for running
-                         the Lisp programs. 
+                         the Lisp programs.
 * Lisp Libraries::      Creating Lisp programs to run in Emacs.
 * Lisp Interaction::    Executing Lisp in an Emacs buffer.
 * Lisp Eval::          Executing a single Lisp expression in Emacs.
-* External Lisp::      Communicating through Emacs with a separate Lisp. 
+* External Lisp::      Communicating through Emacs with a separate Lisp.
 
 Running Debuggers Under Emacs
 
@@ -575,10 +575,10 @@ Maintaining Programs
 
 Tags Tables
 
-* Tag Syntax::         Tag syntax for various types of code and text files.  
+* Tag Syntax::         Tag syntax for various types of code and text files.
 * Create Tags Table::  Creating a tags table with @code{etags}.
 * Select Tags Table::  How to visit a tags table.
-* Find Tag::           Commands to find the definition of a specific tag. 
+* Find Tag::           Commands to find the definition of a specific tag.
 * Tags Search::                Using a tags table for searching and replacing.
 * List Tags::          Listing and finding tags defined in a file.
 
@@ -722,17 +722,17 @@ Customization
                          to decide what to do; by setting variables,
                          you can control their functioning.
 * Keyboard Macros::    A keyboard macro records a sequence of
-                         keystrokes to be replayed with a single command. 
+                         keystrokes to be replayed with a single command.
 * Key Bindings::       The keymaps say what command each key runs.
                          By changing them, you can "redefine keys".
 * Keyboard Translations::
                         If your keyboard passes an undesired code
                           for a key, you can tell Emacs to
-                          substitute another code. 
+                          substitute another code.
 * Syntax::             The syntax table controls how words and
                           expressions are parsed.
 * Init File::          How to write common customizations in the
-                         @file{.emacs} file. 
+                         @file{.emacs} file.
 
 Variables
 
@@ -865,7 +865,7 @@ chapters when you need them.
 properly.  It explains how to cope with some common problems
 (@pxref{Lossage}), as well as when and how to report Emacs bugs
 (@pxref{Bugs}).
+
   To find the documentation on a particular command, look in the index.
 Keys (character commands) and command names have separate indexes.  There
 is also a glossary, with a cross reference for each term.
@@ -1359,7 +1359,7 @@ when it starts in an interactive mode:
 Gnomovision version 69, Copyright (C) 20@var{yy} @var{name of author}
 Gnomovision comes with ABSOLUTELY NO WARRANTY; for details
 type `show w'.  This is free software, and you are welcome
-to redistribute it under certain conditions; type `show c' 
+to redistribute it under certain conditions; type `show c'
 for details.
 @end smallexample
 
@@ -1377,7 +1377,7 @@ necessary.  Here is a sample; alter the names:
 @group
 Yoyodyne, Inc., hereby disclaims all copyright
 interest in the program `Gnomovision'
-(which makes passes at compilers) written 
+(which makes passes at compilers) written
 by James Hacker.
 
 @var{signature of Ty Coon}, 1 April 1989
index f33cd73940151a9fc08f6332c6d19333d3bb9541..5b6c28472bf77e234f0705bb7b08329118a17545 100644 (file)
@@ -4,7 +4,7 @@
 @node Entering Emacs, Exiting, Text Characters, Top
 @chapter Entering and Exiting Emacs
 @cindex entering Emacs
-@cindex starting Emacs 
+@cindex starting Emacs
 
   The usual way to invoke Emacs is with the shell command @command{emacs}.
 Emacs clears the screen and then displays an initial help message and
index c5e2d517d5d1810911fa2b605b0c6a2ef6b4d92a..188ac520a16fbb53acd88125490a2b5a69727ef0 100644 (file)
@@ -1,5 +1,5 @@
 \input texinfo  @c -*-texinfo-*-
-@c "@(#)$Name:  $:$Id: eshell.texi,v 1.16 2002/10/02 23:24:31 karl Exp $"
+@c "@(#)$Name:  $:$Id: eshell.texi,v 1.17 2002/12/10 13:16:31 pj Exp $"
 @c %**start of header
 @setfilename ../info/eshell
 @settitle Eshell: The Emacs Shell
@@ -82,17 +82,17 @@ handling the sort of tasks accomplished by those tools.
 @menu
 * What is Eshell?::             A brief introduction to the Emacs Shell.
 * Installation::                For users of Emacs 20 and XEmacs.
-* Command basics::              The basics of command usage.     
-* Commands::                    
-* Arguments::                   
-* Input/Output::                
-* Process control::             
-* Extension modules::           
-* Extras and Goodies::          
+* Command basics::              The basics of command usage.
+* Commands::
+* Arguments::
+* Input/Output::
+* Process control::
+* Extension modules::
+* Extras and Goodies::
 * Bugs and ideas::              Known problems, and future ideas.
-* Concept Index::               
-* Function and Variable Index::  
-* Key Index::                   
+* Concept Index::
+* Function and Variable Index::
+* Key Index::
 @end menu
 
 @node What is Eshell?
@@ -479,11 +479,11 @@ on your mind.  Have fun!
 @chapter Commands
 
 @menu
-* Invocation::                  
-* Completion::                  
-* Aliases::                     
-* History::                     
-* Scripts::                     
+* Invocation::
+* Completion::
+* Aliases::
+* History::
+* Scripts::
 * Built-ins::
 @end menu
 
@@ -507,7 +507,7 @@ command, follows these steps:
 
 @enumerate
 @item Parse the command string into separate arguments.
-@item 
+@item
 @end enumerate
 
 @node Completion
@@ -572,11 +572,11 @@ With @samp{cd -42}, you can access the directory stack by number.
 @chapter Arguments
 
 @menu
-* The Parser::                  
-* Variables::                   
-* Substitution::                
-* Globbing::                    
-* Predicates::                  
+* The Parser::
+* Variables::
+* Substitution::
+* Globbing::
+* Predicates::
 @end menu
 
 @node The Parser
@@ -606,13 +606,13 @@ With @samp{cd -42}, you can access the directory stack by number.
 @chapter Extension modules
 
 @menu
-* Writing a module::            
-* Module testing::              
-* Directory handling::          
-* Key rebinding::               
-* Smart scrolling::             
-* Terminal emulation::          
-* Built-in UNIX commands::      
+* Writing a module::
+* Module testing::
+* Directory handling::
+* Key rebinding::
+* Smart scrolling::
+* Terminal emulation::
+* Built-in UNIX commands::
 @end menu
 
 @node Writing a module
@@ -659,7 +659,7 @@ extensions to this package, I would like to hear from you.  I hope you
 find this package useful!
 
 @menu
-* Known problems::              
+* Known problems::
 @end menu
 
 @node Known problems
@@ -1091,7 +1091,7 @@ perform this on-thy-fly rewriting.
 @item Write an alias for @command{less} that brings up a @code{view-mode} buffer
 
 Such that the user can press @key{SPC} and @key{DEL}, and then @key{q}
-to return to Eshell.  It would be equivalent to: 
+to return to Eshell.  It would be equivalent to:
 @samp{X > #<buffer Y>; view-buffer #<buffer Y>}.
 
 @item Make @code{eshell-mode} as much a full citizen as @code{shell-mode}
index a32e8d43aaed3147b8dc8355fa9868a8bd8034c1..511069973df855d8fda9c34d2d280a48d61353ff 100644 (file)
@@ -70,7 +70,7 @@ LDAP or the CCSO white pages directory system (PH/QI)
 * Usage::                       The various usage possibilities explained
 * Credits::                     Who's done what
 * Command and Function Index::
-* Variables Index::             
+* Variables Index::
 @end menu
 
 
@@ -83,7 +83,7 @@ LDAP or the CCSO white pages directory system (PH/QI)
 
 EUDC, the @dfn{Emacs Unified Directory Client}, provides a common user
 interface to access directory servers using different directory
-protocols. 
+protocols.
 
 Currently supported back-ends are:
 
@@ -99,7 +99,7 @@ BBDB, Big Brother's Insiduous Database
 The main features of the EUDC interface are:
 
 @itemize @bullet
-@item 
+@item
 Queries using a customizable form
 @item
 Inline query expansion (for instance you can expand a name
@@ -216,10 +216,10 @@ initialization file to add a shortcut for email address expansion in
 email composition buffers (@pxref{Inline Query Expansion})
 
 @lisp
-(eval-after-load 
+(eval-after-load
  "message"
  '(define-key message-mode-map [(control ?c) (tab)] 'eudc-expand-inline))
-(eval-after-load 
+(eval-after-load
  "sendmail"
  '(define-key mail-mode-map [(control ?c) (tab)] 'eudc-expand-inline))
 @end lisp
@@ -255,7 +255,7 @@ customization options are available through the @samp{Directory Search}
 submenu of the @samp{Tools} submenu.
 
 @menu
-* Querying Servers::            How queries are performed and handled 
+* Querying Servers::            How queries are performed and handled
 * Query Form::                  How to use and customize the query form
 * Display of Query Results::    Controlling how query results are presented
 * Inline Query Expansion::      How to use and customize inline queries
@@ -463,7 +463,7 @@ containing the results of the query.
 
 The fields that are returned for each record
 are controlled by @code{eudc-default-return-attributes} (@pxref{Return
-Attributes}).  
+Attributes}).
 
 The display of each individual field can be performed by an arbitrary
 function which allows specific processing for binary values, such as
@@ -484,12 +484,12 @@ This variable has protocol-local definitions (see @pxref{Server/Protocol
 Locals}).  For instance, it is defined as follows for LDAP:
 
 @lisp
-(eudc-protocol-set 'eudc-attribute-display-method-alist 
+(eudc-protocol-set 'eudc-attribute-display-method-alist
                    '(("jpegphoto" . eudc-display-jpeg-inline)
                      ("labeledurl" . eudc-display-url)
                      ("audio" . eudc-display-sound)
                      ("labeledurl" . eudc-display-url)
-                     ("url" . eudc-display-url)) 
+                     ("url" . eudc-display-url))
                    'ldap)
 @end lisp
 
@@ -547,7 +547,7 @@ controlled by the variables @code{eudc-inline-expansion-format},
 @code{eudc-expanding-overwrites-query} and
 @code{eudc-multiple-match-handling-method}.
 
-If the query fails for a server, other servers may be tried successively 
+If the query fails for a server, other servers may be tried successively
 until one of them finds a match (@pxref{Multi-server Queries}).
 
 @deffn Command eudc-expand-inline replace-p
@@ -564,7 +564,7 @@ is non-@code{nil} then the meaning of @var{replace-p} is negated.
 @end deffn
 
 @defvar eudc-inline-query-format
-Format of an inline expansion query.  
+Format of an inline expansion query.
 This is actually a list of @var{format}s.  A @var{format} is a list of
 one or more EUDC attribute names.  A @var{format} applies if it contains
 as many attributes as individual words in the inline query string.  If
@@ -572,7 +572,7 @@ several @var{format}s apply then they are tried in order until a match
 is found.  If @code{nil} all the words will be mapped onto the default
 server/protocol attribute name (generally @code{name}).
 
-For instance, use the following 
+For instance, use the following
 @lisp
 (setq eudc-inline-query-format '((name)
                                  (firstname)
@@ -582,7 +582,7 @@ For instance, use the following
 to indicate that single word expansion queries are to be considered as
 surnames and if no match is found then they should be tried as first
 names.  Inline queries consisting of two words are considered as
-consisting of a first name followed by a surname.  If the query consists 
+consisting of a first name followed by a surname.  If the query consists
 of more than two words, then the first one is considered as the first
 name and the remaining words are all considered as surname constituents.
 
@@ -620,7 +620,7 @@ for an inline expansion.  Possible values are:
 The first match is considered as being the only one, the others are
 discarded.
 @item select
-A selection buffer pops up where you can choose a particular match.  This 
+A selection buffer pops up where you can choose a particular match.  This
 is the default value of the variable.
 @item all
 The expansion uses all records successively
@@ -637,7 +637,7 @@ Default is @code{select}
 @comment  node-name,  next,  previous,  up
 @section The Server Hotlist
 
-EUDC lets you maintain a list of frequently used servers so that you 
+EUDC lets you maintain a list of frequently used servers so that you
 can easily switch from one to another.  This hotlist appears in the
 @samp{Server} submenu.  You select a server in this list by clicking on
 its name.  You can add the current server to the list with the command
@@ -661,7 +661,7 @@ Add the current server to the hotlist of servers
 
 @defvar eudc-options-file
 The name of a file where EUDC stores its internal variables
-(the hotlist and the current server).  EUDC will try to load 
+(the hotlist and the current server).  EUDC will try to load
 that file upon initialization so, if you choose a file name
 different from the defaults @file{~/.eudc-options}, be sure to set this
 variable to the appropriate value @emph{before} EUDC is itself
@@ -775,25 +775,25 @@ The value of this variable should be a symbol naming an alist defining a
 mapping between BBDB field names onto directory attribute names records.
 This is a protocol-local variable and is initialized upon protocol
 switch (@pxref{Server/Protocol Locals}).  The alist is made of cells of the
-form @code{(@var{bbdb-field} . @var{spec-or-list})}. 
+form @code{(@var{bbdb-field} . @var{spec-or-list})}.
 @var{bbdb-field} is the name of a field
 that must be defined in your BBDB environment (standard field names are
 @code{name}, @code{company}, @code{net}, @code{phone}, @code{address}
-and @code{notes}). 
+and @code{notes}).
 @var{spec-or-list} is either a single mapping specification or a list of
 mapping specifications.  Lists of mapping specifications are valid for
 the @code{phone} and @code{address} BBDB fields only. @var{spec}s are
 actually s-expressions which are evaluated as follows:
 
 @table @asis
-@item a string 
+@item a string
 evaluates to itself
 @item a symbol
 evaluates to the symbol value.  Symbols corresponding to directory
 attribute names present in the record evaluate to the value of the field
 in the record
 @item a form
-is evaluated as a function.  The argument list may contain attribute 
+is evaluated as a function.  The argument list may contain attribute
 names which evaluate to the corresponding values in the record.  The form
 evaluation should return something appropriate for the particular
 @var{bbdb-field} (see @code{bbdb-create-internal}).
@@ -816,7 +816,7 @@ The default value of the PH-specific value of that variable is
 This means that:
 
 @itemize @bullet
-@item 
+@item
 the @code{name} field of the BBDB record gets its value
 from the @code{name} attribute of the directory record
 @item
@@ -932,7 +932,7 @@ Return the value of @var{var} local to @var{protocol}.  Return
 @end defun
 
 @defun eudc-variable-server-value var [server]
-Return the value of @var{var} local to @var{server}.  
+Return the value of @var{var} local to @var{server}.
 Return @code{unbound} if @var{var} has no value local to @var{server}.
 @var{server} defaults to @code{eudc-server}.
 @end defun
@@ -952,7 +952,7 @@ Update all EUDC variables according to their local settings.
 @comment  node-name,  next,  previous,  up
 @chapter Credits
 
-EUDC was written by Oscar Figueiredo based on @file{ph.el} by the 
+EUDC was written by Oscar Figueiredo based on @file{ph.el} by the
 same author.
 
 Thanks to Soren Dayton for his suggestions, his enthusiasm and his help
index e6729601b84522b964a8b2a8359d9ec51e37a0ac..2c18092286c299492d787fb92e3250c43d48940e 100644 (file)
@@ -1083,7 +1083,7 @@ links point to directories.
   If you visit two names for the same file, normally Emacs makes
 two different buffers, but it warns you about the situation.
 
-@vindex find-file-existing-other-name 
+@vindex find-file-existing-other-name
 @vindex find-file-suppress-same-file-warnings
   Normally, if you visit a file which Emacs is already visiting under
 a different name, Emacs displays a message in the echo area and uses
@@ -1112,7 +1112,7 @@ implies the effect of @code{find-file-existing-other-name}.
   @dfn{Version control systems} are packages that can record multiple
 versions of a source file, usually storing the unchanged parts of the
 file just once.  Version control systems also record history information
-such as the creation time of each version, who created it, and a 
+such as the creation time of each version, who created it, and a
 description of what was changed in that version.
 
   The Emacs version control interface is called VC.  Its commands work
@@ -1239,7 +1239,7 @@ check-in time.  However, CVS can also be set up to require locking.
 @node Types of Log File
 @subsubsection Types of Log File
 @cindex types of log file
-@cindex log File, types of 
+@cindex log File, types of
 @cindex version control log
 
 GNU projects under a revision control system generally possess
@@ -1310,8 +1310,8 @@ in your @file{~/.emacs} file.  (@xref{Init Rebinding}.)
 * Advanced C-x v v::    Advanced features available with a prefix argument.
 * Log Buffer::          Features available in log entry buffers.
 @end menu
-               
-@node VC with Locking                 
+
+@node VC with Locking
 @subsubsection Basic Version Control with Locking
 
   If locking is used for the file (as with SCCS, and RCS in its default
@@ -1540,7 +1540,7 @@ use once a day.
 * Registering::         Putting a file under version control.
 * VC Status::           Viewing the VC status of files.
 * VC Undo::             Cancelling changes before or after check-in.
-* VC Dired Mode::       Listing files managed by version control. 
+* VC Dired Mode::       Listing files managed by version control.
 * VC Dired Commands::   Commands to use in a VC Dired buffer.
 @end menu
 
@@ -1807,7 +1807,7 @@ example above have branch numbers 1.2.1 and 1.2.2.
 * Switching Branches::    How to get to another existing branch.
 * Creating Branches::     How to start a new branch.
 * Merging::               Transferring changes between branches.
-* Multi-User Branching::  Multiple users working at multiple branches 
+* Multi-User Branching::  Multiple users working at multiple branches
                             in parallel.
 @end menu
 
@@ -2225,7 +2225,7 @@ won't really work as retrieved.
 
 @menu
 * Change Logs and VC::  Generating a change log file from log entries.
-* Renaming and VC::     A command to rename both the source and master 
+* Renaming and VC::     A command to rename both the source and master
                           file correctly.
 * Version Headers::     Inserting version control headers into working files.
 @end menu
index a4b843f07b53a3cc00064edf98a865a2b9ab4993..21f613a93ad667298e1fd8a1a074b74a455f8137 100644 (file)
@@ -173,7 +173,7 @@ Check and correct spelling of each word in the buffer.
 @item M-x ispell-region
 Check and correct spelling of each word in the region.
 @item M-x ispell-message
-Check and correct spelling of each word in a draft mail message, 
+Check and correct spelling of each word in a draft mail message,
 excluding cited material.
 @item M-x ispell-change-dictionary @key{RET} @var{dict} @key{RET}
 Restart the Ispell process, using @var{dict} as the dictionary.
index 7c323094112975fa05709525adc81af56f0d0883..91a1f456f24046350d16600c117fbba3c8567f88 100644 (file)
@@ -82,7 +82,7 @@ how to present it.
 * Forms Example::               An example: editing the password data base.
 * Entering and Exiting Forms Mode::
                                 How to visit a file in Forms mode.
-* Forms Commands::              Special commands to use while in Forms mode. 
+* Forms Commands::              Special commands to use while in Forms mode.
 * Data File Format::            How to format the data file.
 * Control File Format::         How to control forms mode.
 * Format Description::          How to define the forms layout.
@@ -254,7 +254,7 @@ Create a new record and insert it before the current record
 contents for its fields; you can then edit the fields.  With a numeric
 argument, the new record is created @emph{after} the current one.
 See also @code{forms-modified-record-filter} in @ref{Modifying Forms
-Contents}. 
+Contents}.
 
 @findex forms-delete-record
 @kindex C-c C-k
@@ -531,7 +531,7 @@ modified, just before updating the Forms data file.  If it is
 
 @findex forms-insert-after
 @item forms-insert-after
-If this variable is not @code{nil}, new records are created @emph{after} the 
+If this variable is not @code{nil}, new records are created @emph{after} the
 current record. Also, upon visiting a file, the initial position will be
 at the last record instead of the first one.
 
@@ -613,7 +613,7 @@ in the beginning of this manual might look as follows:
 @end example
 
 When you construct the value of  @code{forms-format-list}, you should
-usually either quote the whole value, like this, 
+usually either quote the whole value, like this,
 
 @example
 (setq forms-format-list
@@ -654,7 +654,7 @@ If @code{forms-read-only} is @code{nil}, the user can modify the fields
 and records of the database.
 
 All normal editing commands are available for editing the contents of the
-displayed record.  You cannot delete or modify the fixed, explanatory 
+displayed record.  You cannot delete or modify the fixed, explanatory
 text that comes from string formatting elements, but you can modify the
 actual field contents.
 
@@ -762,7 +762,7 @@ file.
 
 @item Forms control file error: `forms-number-of-fields' must be a number > 0
 The variable @code{forms-number-of-fields} did not contain a positive
-number. 
+number.
 
 @item Forms control file error: `forms-field-sep' is not a string
 @itemx Forms control file error: `forms-multi-line' must be nil or a one-character string
@@ -835,7 +835,7 @@ An internal error prevented a specific record from being retrieved.
 
 @item No write access to @code{"}@var{file}@code{"}
 An attempt was made to enable edit mode on a file that has been write
-protected. 
+protected.
 
 @item Search failed: @var{regexp}
 The @var{regexp} could not be found in the data file. Forward searching
@@ -899,7 +899,7 @@ The optional FILL should be a character, used to fill to the column."
       (concat "\n" (make-string target fill))
     (make-string (- target (current-column)) fill)))
 ;;
-(defun arch-rj (target field &optional fill) 
+(defun arch-rj (target field &optional fill)
   "Produces a string to skip to column TARGET\
  minus the width of field FIELD.
 Prepends newline if needed.
index 2fdc1b7c4fc5d482c756c0183926a4baf18ce0f9..4542893894c7c1499358c152b1f989134495739f 100644 (file)
@@ -273,7 +273,7 @@ particularly under OpenWindows and Gnome.
   The command @kbd{M-x menu-bar-enable-clipboard} makes the @code{Cut},
 @code{Paste} and @code{Copy} menu items, as well as the keys of the same
 names, all use the clipboard.
+
   You can customize the option @code{x-select-enable-clipboard} to make
 the Emacs yank functions consult the clipboard before the primary
 selection, and to make the kill functions to store in the clipboard as
@@ -394,7 +394,7 @@ subcommands.  The difference is that @kbd{C-x 5} commands create a new
 frame rather than just a new window in the selected frame (@pxref{Pop
 Up Window}).  If an existing visible or iconified frame already displays
 the requested material, these commands use the existing frame, after
-raising or deiconifying as necessary. 
+raising or deiconifying as necessary.
 
   The various @kbd{C-x 5} commands differ in how they find or create the
 buffer to select:
index bf5e1a357489e112985cfa06d2c779ad46a871fe..c347eb3f9823ca8d31be8cc64ff813eafaee382b 100644 (file)
@@ -895,7 +895,7 @@ Point is the place in the buffer at which insertion and deletion
 occur.  Point is considered to be between two characters, not at one
 character.  The terminal's cursor (q.v.@:) indicates the location of
 point.  @xref{Basic,Point,Basic Editing}.
-       
+
 @item Prefix Argument
 See `numeric argument.'
 
index 95ddf3234e8e22746c93df479d1e70af55d8df19..acdb0edd5e4035b09d14613dad9cc466c0b732c6 100644 (file)
@@ -100,7 +100,7 @@ Per Abrahamsen <abraham@@dina.kvl.dk> writes :@*
 The internal easymenu.el interface changed between 19.28 and 19.29 in
 order to make it possible to create byte compiled files that can be
 shared between Gnu Emacs and XEmacs.  The change is upward
-compatible, but not downward compatible. 
+compatible, but not downward compatible.
 This gives the following compatibility table:
 
 @example
@@ -131,10 +131,10 @@ list is mainly for developers and testers.
 
 Gnus has a home World Wide Web page at@*
 @file{http://www.gnus.org/}.
-   
+
 Gnus has a write up in the X Applications FAQ at@*
 @file{http://www.ee.ryerson.ca:8080/~elf/xapps/Q-III.html}.
-   
+
 The Gnus manual is also available on the World Wide Web. The canonical
 source is in Norway at@*
 @file{http://www.gnus.org/manual/gnus_toc.html}.
@@ -158,7 +158,7 @@ PostScript copies of the Gnus Reference card are available from@*
 United States. And@*
 @file{ftp://marvin.fkphy.uni-duesseldorf.de/pub/gnus/}
 in Germany.
-   
+
 An online version of the Gnus FAQ is available at@*
 @file{http://www.miranova.com/~steve/gnus-faq.html}. Off-line formats
 are also available:@*
@@ -277,7 +277,7 @@ Q2.3 How can I keep my nnvirtual:* groups sorted?
 How can I most efficiently arrange matters so as to keep my nnvirtual:*
 (etc) groups at the top of my group selection buffer, whilst keeping
 everything sorted in alphabetical order.
-   
+
 If you don't subscribe often to new groups then the easiest way is to
 first sort the groups and then manually kill and yank the virtuals
 wherever you want them.
@@ -307,7 +307,7 @@ The most vital entries in my (still young) all.SCORE:
   ("alt.fan.oj-simpson" -1000 nil s))
  ("subject"
   (concat "\\<\\(make\\|fast\\|big\\)\\s-*"
-          "\\(money\\|cash\\|bucks?\\)\\>" 
+          "\\(money\\|cash\\|bucks?\\)\\>"
    -1000 nil r)
   ("$$$$" -1000 nil s)))
 @end lisp
@@ -336,7 +336,7 @@ I  would like to contribute with mine.
   ;; $$$ Make Money $$$
   ("$$" -10 nil s)
   ;; Empty subjects are worthless!
-  ("^ *\\([(<]none[>)]\\|(no subject\\( given\\)?)\\)? *$" 
+  ("^ *\\([(<]none[>)]\\|(no subject\\( given\\)?)\\)? *$"
    -10 nil r)
   ;; Sometimes interesting announces occur!
   ("ANN?OU?NC\\(E\\|ING\\)" +10 nil r)
@@ -571,7 +571,7 @@ like this:
   (gnus-auto-select-first nil)))
 @end lisp
 
-and insert 
+and insert
 @lisp
        (setq gnus-auto-select-first t)
 @end lisp
index 66fd0f915dfd615db6e66535ac465497bd0f1d5d..b9e6dfc84a2e42e85e4ec5580313d0b357bffa4e 100644 (file)
@@ -627,7 +627,7 @@ Getting News
 
 Getting Mail
 
-* Mail in a Newsreader::         Important introductory notes.  
+* Mail in a Newsreader::         Important introductory notes.
 * Getting Started Reading Mail:: A simple cookbook example.
 * Splitting Mail::               How to create mail groups.
 * Mail Sources::                 How to tell Gnus where to get mail from.
@@ -1188,7 +1188,7 @@ Kill all new groups.
 
 @item gnus-subscribe-topics
 @vindex gnus-subscribe-topics
-Put the groups into the topic that has a matching @code{subscribe} topic 
+Put the groups into the topic that has a matching @code{subscribe} topic
 parameter (@pxref{Topic Parameters}).  For instance, a @code{subscribe}
 topic parameter that looks like
 
@@ -1196,7 +1196,7 @@ topic parameter that looks like
 "nnslashdot"
 @end example
 
-will mean that all groups that match that regex will be subscribed under 
+will mean that all groups that match that regex will be subscribed under
 that topic.
 
 If no topics match the groups, the groups will be subscribed in the
@@ -1486,7 +1486,7 @@ performance, but if the server does not support the aforementioned
 @code{LIST ACTIVE group} command, this isn't very nice to the server.
 
 If you think that starting up Gnus takes too long, try all the three
-different values for this variable and see what works best for you. 
+different values for this variable and see what works best for you.
 
 In any case, if you use @code{some} or @code{nil}, you should definitely
 kill all groups that you aren't interested in to speed things up.
@@ -2698,7 +2698,7 @@ will make @code{iso-8859-1} and @code{x-unknown} ignored; that is, the
 default charset will be used for decoding articles.
 
 See also @code{gnus-group-ignored-charsets-alist}.
+
 @item posting-style
 You can store additional posting style information for this group only
 here (@pxref{Posting Styles}).  The format is that of an entry in the
@@ -3278,7 +3278,7 @@ convention (@pxref{Process/Prefix}).
 @item T j
 @kindex T j (Topic)
 @findex gnus-topic-jump-to-topic
-Go to a topic (@code{gnus-topic-jump-to-topic}).  
+Go to a topic (@code{gnus-topic-jump-to-topic}).
 
 @item T c
 @kindex T c (Topic)
@@ -3523,10 +3523,10 @@ parameters:
 
 @table @code
 @item subscribe
-When subscribing new groups by topic (@pxref{Subscription Methods}), the 
-@code{subscribe} topic parameter says what groups go in what topic.  Its 
+When subscribing new groups by topic (@pxref{Subscription Methods}), the
+@code{subscribe} topic parameter says what groups go in what topic.  Its
 value should be a regexp to match the groups that should go in that
-topic. 
+topic.
 
 @end table
 
@@ -3642,7 +3642,7 @@ For example:
 
 @item gnus-group-name-charset-group-alist
 @vindex gnus-group-name-charset-group-alist
-An alist of regexp of group name and the charset for group names. 
+An alist of regexp of group name and the charset for group names.
 It is used to show non-ASCII group names.
 
 For example:
@@ -4498,8 +4498,8 @@ If given a numerical prefix, you can do semi-manual charset stuff.
 encoded in the @code{cn-gb-2312} charset.  If you have
 
 @lisp
-(setq gnus-summary-show-article-charset-alist 
-      '((1 . cn-gb-2312) 
+(setq gnus-summary-show-article-charset-alist
+      '((1 . cn-gb-2312)
         (2 . big5)))
 @end lisp
 
@@ -4731,7 +4731,7 @@ the process/prefix convention.
 @kindex S o p @r{(Summary)}
 @findex gnus-summary-post-forward
 Forward the current article to a newsgroup
-(@code{gnus-summary-post-forward}).  
+(@code{gnus-summary-post-forward}).
  If no prefix is given, the message is forwarded according to the value
 of (@code{message-forward-as-mime}) and
 (@code{message-forward-show-mml}); if the prefix is 1, decode the
@@ -6554,7 +6554,7 @@ a spool, you could
 
 @lisp
 (setq gnus-use-long-file-name '(not-save)) ; to get a hierarchy
-(setq gnus-default-article-saver 
+(setq gnus-default-article-saver
       'gnus-summary-save-in-file) ; no encoding
 @end lisp
 
@@ -7432,7 +7432,7 @@ when filling.
 
 @item W Q
 @kindex W Q @r{(Summary)}
-@findex gnus-article-fill-long-lines 
+@findex gnus-article-fill-long-lines
 Fill long lines (@code{gnus-article-fill-long-lines}).
 
 @item W C
@@ -7480,7 +7480,7 @@ makes strings look like @samp{~@{<:Ky2;S@{#,NpJ)l6HK!#~@}}.
 @item W h
 @kindex W h @r{(Summary)}
 @findex gnus-article-wash-html
-Treat HTML (@code{gnus-article-wash-html}).  
+Treat HTML (@code{gnus-article-wash-html}).
 Note that the this is usually done automatically by Gnus if the message
 in question has a @code{Content-Type} header that says that this type
 has been done.
@@ -7824,7 +7824,7 @@ signature after all.
 @kindex A t @r{(Summary)}
 @findex gnus-article-babel
 Translate the article from one language to another
-(@code{gnus-article-babel}). 
+(@code{gnus-article-babel}).
 
 @end table
 
@@ -8529,7 +8529,7 @@ disk forever and ever, never to return again.'' Use with caution.
 @vindex gnus-preserve-marks
 Move the article from one mail group to another
 (@code{gnus-summary-move-article}).  Marks will be preserved if
-@var{gnus-preserve-marks} is non-@code{nil} (which is the default). 
+@var{gnus-preserve-marks} is non-@code{nil} (which is the default).
 
 @item B c
 @kindex B c @r{(Summary)}
@@ -9277,7 +9277,7 @@ Copy the @sc{mime} object to a fresh buffer and display this buffer
 @findex gnus-mime-view-part-as-type
 @item t @r{(Article)}
 View the @sc{mime} object as if it were a different @sc{mime} media type
-(@code{gnus-mime-view-part-as-type}). 
+(@code{gnus-mime-view-part-as-type}).
 
 @findex gnus-mime-pipe-part
 @item | @r{(Article)}
@@ -9427,7 +9427,7 @@ You can, of course, write your own functions to be called from
 @code{gnus-part-display-hook}.  The functions are called narrowed to the
 part, and you can do anything you like, pretty much.  There is no
 information that you have to keep in the buffer---you can change
-everything.  
+everything.
 
 
 @node Article Keymap
@@ -10514,7 +10514,7 @@ manual page, but here are the salient facts:
 The file contains one or more line, each of which define one server.
 
 @item
-Each line may contain an arbitrary number of token/value pairs.  
+Each line may contain an arbitrary number of token/value pairs.
 
 The valid tokens include @samp{machine}, @samp{login}, @samp{password},
 @samp{default}.  In addition Gnus introduces two new tokens, not present
@@ -10573,7 +10573,7 @@ The default value is
 
 @lisp
 '(("nntpd 1\\.5\\.11t"
-   (remove-hook 'nntp-server-opened-hook 
+   (remove-hook 'nntp-server-opened-hook
                 'nntp-send-mode-reader)))
 @end lisp
 
@@ -10714,11 +10714,11 @@ define a server as follows:
 @lisp
 ;; Type `C-c C-c' after you've finished editing.
 ;;
-;; "snews" is port 563 and is predefined 
+;; "snews" is port 563 and is predefined
 ;; in our /etc/services
 ;;
 (nntp "snews.bar.com"
-      (nntp-open-connection-function 
+      (nntp-open-connection-function
         nntp-open-ssl-stream)
       (nntp-port-number "snews")
       (nntp-address "snews.bar.com"))
@@ -10878,7 +10878,7 @@ Reading mail with a newsreader---isn't that just plain WeIrD? But of
 course.
 
 @menu
-* Mail in a Newsreader::         Important introductory notes.  
+* Mail in a Newsreader::         Important introductory notes.
 * Getting Started Reading Mail:: A simple cookbook example.
 * Splitting Mail::               How to create mail groups.
 * Mail Sources::                 How to tell Gnus where to get mail from.
@@ -10897,11 +10897,11 @@ course.
 @node Mail in a Newsreader
 @subsection Mail in a Newsreader
 
-If you are used to traditional mail readers, but have decided to switch 
+If you are used to traditional mail readers, but have decided to switch
 to reading mail with Gnus, you may find yourself experiencing something
 of a culture shock.
 
-Gnus does not behave like traditional mail readers.  If you want to make 
+Gnus does not behave like traditional mail readers.  If you want to make
 it behave that way, you can, but it's an uphill battle.
 
 Gnus, by default, handles all its groups using the same approach.  This
@@ -10915,7 +10915,7 @@ Does this mean that all the messages that have been marked as read are
 deleted?  How awful!
 
 But, no, it means that old messages are @dfn{expired} according to some
-scheme or other.  For news messages, the expire process is controlled by 
+scheme or other.  For news messages, the expire process is controlled by
 the news administrator; for mail, the expire process is controlled by
 you.  The expire process for mail is covered in depth in @pxref{Expiring
 Mail}.
@@ -11071,7 +11071,7 @@ If you wish to see where the previous mail split put the messages, you
 can use the @kbd{M-x nnmail-split-history} command.  If you wish to see
 where re-spooling messages would put the messages, you can use
 @code{gnus-summary-respool-trace} and related commands (@pxref{Mail
-Group Commands}). 
+Group Commands}).
 
 Gnus gives you all the opportunity you could possibly want for shooting
 yourself in the foot.  Let's say you create a group that will contain
@@ -11146,8 +11146,8 @@ Or using the default file name:
 (file)
 @end lisp
 
-If the mail spool file is not located on the local machine, it's best to 
-use POP or @sc{imap} or the like to fetch the mail.  You can not use ange-ftp 
+If the mail spool file is not located on the local machine, it's best to
+use POP or @sc{imap} or the like to fetch the mail.  You can not use ange-ftp
 file names here---it has no way to lock the mail spool while moving the
 mail.
 
@@ -11337,12 +11337,12 @@ from locking problems).
 Two example maildir mail sources:
 
 @lisp
-(maildir :path "/home/user-name/Maildir/" 
+(maildir :path "/home/user-name/Maildir/"
          :subdirs ("cur" "new"))
 @end lisp
 
 @lisp
-(maildir :path "/user@@remotehost.org:~/Maildir/" 
+(maildir :path "/user@@remotehost.org:~/Maildir/"
          :subdirs ("new"))
 @end lisp
 
@@ -11435,8 +11435,8 @@ after finishing the fetch.
 An example @sc{imap} mail source:
 
 @lisp
-(imap :server "mail.mycorp.com" 
-      :stream kerberos4 
+(imap :server "mail.mycorp.com"
+      :stream kerberos4
       :fetchflag "\\Seen")
 @end lisp
 
@@ -11476,8 +11476,8 @@ folder after finishing the fetch.
 An example webmail source:
 
 @lisp
-(webmail :subtype 'hotmail 
-         :user "user-name" 
+(webmail :subtype 'hotmail
+         :user "user-name"
          :password "secret")
 @end lisp
 @end table
@@ -11495,7 +11495,7 @@ directory source to get mail, you can specify it as in this example:
 
 @lisp
 (setq mail-sources
-      '((directory :path "/home/pavel/.Spool/" 
+      '((directory :path "/home/pavel/.Spool/"
                    :suffix ""
                    :plugged t)))
 @end lisp
@@ -11704,7 +11704,7 @@ Let's look at an example value of this variable first:
       (any "procmail@@informatik\\.rwth-aachen\\.de" "procmail.list")
       (any "SmartList@@informatik\\.rwth-aachen\\.de" "SmartList.list")
       ;; Both lists below have the same suffix, so prevent
-      ;; cross-posting to mkpkg.list of messages posted only to 
+      ;; cross-posting to mkpkg.list of messages posted only to
       ;; the bugs- list, but allow cross-posting when the
       ;; message was really cross-posted.
       (any "bugs-mypackage@@somewhere" "mypkg.bugs")
@@ -12719,8 +12719,8 @@ itself puts *all* one's mail in one file; @code{nnfolder} provides a
 little bit of optimization to this so that each of one's mail groups has
 a Unix mail box file.  It's faster than @code{nnmbox} because each group
 can be parsed separately, and still provides the simple Unix mail box
-format requiring minimal effort in moving the mail around.  In addition, 
-it maintains an ``active'' file making it much faster for Gnus to figure 
+format requiring minimal effort in moving the mail around.  In addition,
+it maintains an ``active'' file making it much faster for Gnus to figure
 out how many messages there are in each separate group.
 
 If you have groups that are expected to have a massive amount of
@@ -12746,13 +12746,13 @@ and click, and there's the discussion.  With mailing lists, you have to
 go through a cumbersome subscription procedure, and most people don't
 even know what a news group is.
 
-The problem with this scenario is that web browsers are not very good at 
-being newsreaders.  They do not keep track of what articles you've read; 
-they do not allow you to score on subjects you're interested in; they do 
+The problem with this scenario is that web browsers are not very good at
+being newsreaders.  They do not keep track of what articles you've read;
+they do not allow you to score on subjects you're interested in; they do
 not allow off-line browsing; they require you to click around and drive
 you mad in the end.
 
-So---if web browsers suck at reading discussion forums, why not use Gnus 
+So---if web browsers suck at reading discussion forums, why not use Gnus
 to do it instead?
 
 Gnus has been getting a bit of a collection of back ends for providing
@@ -12769,7 +12769,7 @@ interfaces to these sources.
 All the web sources require Emacs/w3 and the url library to work.
 
 The main caveat with all these web sources is that they probably won't
-work for a very long time.  Gleaning information from the @sc{html} data 
+work for a very long time.  Gleaning information from the @sc{html} data
 is guesswork at best, and when the layout is altered, the Gnus back end
 will fail.  If you have reasonably new versions of these back ends,
 though, you should be ok.
@@ -12971,7 +12971,7 @@ quite regular and nice interface, and it's possible to get the
 information Gnus needs to keep groups updated.
 
 The easiest way to get started with @code{nnultimate} is to say
-something like the following in the group buffer:  @kbd{B nnultimate @key{RET} 
+something like the following in the group buffer:  @kbd{B nnultimate @key{RET}
 http://www.tcj.com/messboard/ubbcgi/ @key{RET}}.  (Substitute the @sc{url}
 (not including @samp{Ultimate.cgi} or the like at the end) for a forum
 you're interested in; there's quite a list of them on the Ultimate web
@@ -13032,12 +13032,12 @@ The password for your account on the web server.
 @cindex url
 @cindex Netscape
 
-Gnus uses the url library to fetch web pages and Emacs/w3 to display web 
+Gnus uses the url library to fetch web pages and Emacs/w3 to display web
 pages.  Emacs/w3 is documented in its own manual, but there are some
 things that may be more relevant for Gnus users.
 
 For instance, a common question is how to make Emacs/w3 follow links
-using the @code{browse-url} functions (which will call some external web 
+using the @code{browse-url} functions (which will call some external web
 browser like Netscape).  Here's one way:
 
 @lisp
@@ -13722,7 +13722,7 @@ Here's an example:
 
 @lisp
 (setq gnus-post-method
-      '(nngateway 
+      '(nngateway
         "mail2news@@replay.com"
         (nngateway-header-transformation
          nngateway-mail2news-header-transformation)))
@@ -13771,7 +13771,7 @@ A server configuration in @code{~/.gnus} with a few @sc{imap} servers
 might look something like this:
 
 @lisp
-(setq gnus-secondary-select-methods 
+(setq gnus-secondary-select-methods
       '((nnimap "simpleserver") ; no special configuration
         ; perhaps a ssh port forwarded server:
         (nnimap "dolk"
@@ -13833,7 +13833,7 @@ Example server specification:
 
 @lisp
 (nnimap "mail.server.com"
-        (nnimap-list-pattern ("INBOX" "Mail/*" "alt.sex.*" 
+        (nnimap-list-pattern ("INBOX" "Mail/*" "alt.sex.*"
                                ("~friend/Mail/" . "list/*"))))
 @end lisp
 
@@ -14041,7 +14041,7 @@ Neither did I, we need examples.
 
 @lisp
 (setq nnimap-split-rule
-      '(("INBOX.nnimap"  
+      '(("INBOX.nnimap"
          "^Sender: owner-nnimap@@vic20.globalcom.se")
         ("INBOX.junk"    "^Subject:.*MAKE MONEY")
         ("INBOX.private" "")))
@@ -15618,7 +15618,7 @@ returned is the local score file.  Phu.
 For example, to do hierarchical scoring but use a non-server-specific
 overall score file, you could use the value
 @example
-(list (lambda (group) ("all.SCORE")) 
+(list (lambda (group) ("all.SCORE"))
       'gnus-score-find-hierarchical)
 @end example
 
@@ -16297,7 +16297,7 @@ the @code{Xref} header.
 If you want to lower the score of articles that have been crossposted to
 more than, say, 3 groups:
 @lisp
-("xref" 
+("xref"
   ("[^:\n]+:[0-9]+ +[^:\n]+:[0-9]+ +[^:\n]+:[0-9]+"
    -1000 nil r))
 @end lisp
@@ -17533,7 +17533,7 @@ for composing mail and news while leaving the original frame intact.  To
 accomplish that, something like the following can be done:
 
 @lisp
-(message 
+(message
   (frame 1.0
          (if (not (buffer-live-p gnus-summary-buffer))
              (car (cdr (assoc 'group gnus-buffer-configuration)))
@@ -17575,7 +17575,7 @@ windows resized.
 @subsection Example Window Configurations
 
 @itemize @bullet
-@item 
+@item
 Narrow left hand side occupied by group buffer.  Right hand side split
 between summary buffer (top one-sixth) and article buffer (bottom).
 
@@ -18090,7 +18090,7 @@ never be totally undoable.
 @findex gnus-undo
 The undoability is provided by the @code{gnus-undo-mode} minor mode.  It
 is used if @code{gnus-use-undo} is non-@code{nil}, which is the
-default.  The @kbd{C-M-_} key performs the @code{gnus-undo} 
+default.  The @kbd{C-M-_} key performs the @code{gnus-undo}
 command, which should feel kinda like the normal Emacs @code{undo}
 command.
 
@@ -18915,7 +18915,7 @@ If was released as ``Gnus 5.6'' on March 8th 1998 (46 releases).
 
 Gnus 5.6 begat Pterodactyl Gnus on August 29th 1998 and was released as
 ``Gnus 5.8'' (after 99 releases and a CVS repository) on December 3rd
-1999. 
+1999.
 
 If you happen upon a version of Gnus that has a prefixed name --
 ``(ding) Gnus'', ``September Gnus'', ``Red Gnus'', ``Quassia Gnus'' --
@@ -20150,7 +20150,7 @@ If you used procmail like in
 (setq nnmail-procmail-suffix "\\.in")
 @end lisp
 
-this now has changed to 
+this now has changed to
 
 @lisp
 (setq mail-sources
@@ -20179,7 +20179,7 @@ of variables starting with @code{gnus-treat-} have been added.
 @item The Gnus posting styles have been redone again and now works in a
 subtly different manner.
 
-@item New web-based back ends have been added: @code{nnslashdot}, 
+@item New web-based back ends have been added: @code{nnslashdot},
 @code{nnwarchive} and @code{nnultimate}.  nnweb has been revamped,
 again, to keep up with ever-changing layouts.
 
@@ -20258,16 +20258,16 @@ I guess most manuals are written after-the-fact; documenting a program
 that's already there.  This is not how this manual is written.  When
 implementing something, I write the manual entry for that something
 straight away.  I then see that it's difficult to explain the
-functionality, so I write how it's supposed to be, and then I change the 
+functionality, so I write how it's supposed to be, and then I change the
 implementation.  Writing the documentation and writing the code goes
 hand in hand.
 
 This, of course, means that this manual has no, or little, flow.  It
 documents absolutely everything in Gnus, but often not where you're
-looking for it.  It is a reference manual, and not a guide to how to get 
+looking for it.  It is a reference manual, and not a guide to how to get
 started with Gnus.
 
-That would be a totally different book, that should be written using the 
+That would be a totally different book, that should be written using the
 reference manual as source material.  It would look quite differently.
 
 
@@ -21488,8 +21488,8 @@ Below is a slightly shortened version of the @code{nndir} back end.
   "*Non-nil means that nndir will never retrieve NOV headers."
   nnml-nov-is-evil)
 
-(defvoo nndir-current-group "" 
-  nil 
+(defvoo nndir-current-group ""
+  nil
   nnml-current-group nnmh-current-group)
 (defvoo nndir-top-directory nil nil nnml-directory nnmh-directory)
 (defvoo nndir-get-new-mail nil nil nnml-get-new-mail nnmh-get-new-mail)
@@ -21508,7 +21508,7 @@ Below is a slightly shortened version of the @code{nndir} back end.
   (unless (assq 'nndir-directory defs)
     (push `(nndir-directory ,server) defs))
   (push `(nndir-current-group
-          ,(file-name-nondirectory 
+          ,(file-name-nondirectory
             (directory-file-name nndir-directory)))
         defs)
   (push `(nndir-top-directory
index d812156cf48dbf57769ec62c321fee103b69b592..6cd3cb0f1b9b197be4041517c487680d174d449f 100644 (file)
@@ -87,9 +87,9 @@ shell.
 * Getting Started::             Tutorial
 * The IDLWAVE Major Mode::      The mode to edit IDL programs
 * The IDLWAVE Shell::           The mode to run IDL as an inferior program
-* Installation::                How to Install or Upgrade               
+* Installation::                How to Install or Upgrade
 * Acknowledgements::            Who did what
-* Sources of Routine Info::     How does IDLWAVE know about routine XYZ     
+* Sources of Routine Info::     How does IDLWAVE know about routine XYZ
 * Configuration Examples::      The user is king...
 * Windows and MacOS::           What still works, and how
 * Index::                       Fast access
@@ -99,9 +99,9 @@ shell.
 
 Getting Started (Tutorial)
 
-* Lesson I -- Development Cycle::  
-* Lesson II -- Customization::  
-* Lesson III -- Library Catalog::  
+* Lesson I -- Development Cycle::
+* Lesson II -- Customization::
+* Lesson III -- Library Catalog::
 
 The IDLWAVE Major Mode
 
@@ -121,7 +121,7 @@ The IDLWAVE Major Mode
 Code Formatting
 
 * Code Indentation::            Reflecting the logical structure
-* Continued Statement Indentation::  
+* Continued Statement Indentation::
 * Comment Indentation::         Special indentation for comment lines
 * Continuation Lines::          Splitting statements over lines
 * Syntax Highlighting::         Font-lock support
@@ -131,7 +131,7 @@ Completion
 
 * Case of Completed Words::     CaseOFcomPletedWords
 * Object Method Completion and Class Ambiguity::  obj->Method, what?
-* Object Method Completion in the Shell::  
+* Object Method Completion in the Shell::
 * Class and Keyword Inheritance::  obj->Method, _EXTRA=e
 * Structure Tag Completion::    Completing state.Tag
 
@@ -145,17 +145,17 @@ The IDLWAVE Shell
 
 * Starting the Shell::          How to launch IDL as a subprocess
 * Using the Shell::             Interactively working with the Shell
-* Commands Sent to the Shell::  
-* Debugging IDL Programs::      
-* Examining Variables::         
-* Custom Expression Examination::  
+* Commands Sent to the Shell::
+* Debugging IDL Programs::
+* Examining Variables::
+* Custom Expression Examination::
 
 Debugging IDL Programs
 
-* Debug Key Bindings::          
-* Compiling Programs::          
-* Breakpoints and Stepping::    
-* Walking the Calling Stack::   
+* Debug Key Bindings::
+* Compiling Programs::
+* Breakpoints and Stepping::
+* Walking the Calling Stack::
 
 Installation
 
@@ -192,7 +192,7 @@ inferior shell@footnote{Note that this package has nothing to do with
 the Interface Definition Language, part of the Common Object Request
 Broker Architecture (CORBA)}.  It can also be used for editing source
 files for the related WAVE/CL language, but with only limited
-support. 
+support.
 
 IDLWAVE consists of two main parts: a major mode for editing IDL source
 files files (@code{idlwave-mode}) and a mode for running the IDL program
@@ -201,11 +201,11 @@ be used without the other, both work together closely to form a complete
 development environment. Here is a brief summary of what IDLWAVE does:
 
 @itemize @bullet
-@item 
+@item
 Code indentation and formatting.
 @item
 Three level syntax highlighting support.
-@item 
+@item
 Context-sensitive display of calling sequences and keywords for more
 than 1000 native IDL routines, extendible to any number of additional
 routines in your local IDL libraries.
@@ -367,9 +367,9 @@ at point.
 @cindex Getting Started
 
 @menu
-* Lesson I -- Development Cycle::  
-* Lesson II -- Customization::  
-* Lesson III -- Library Catalog::  
+* Lesson I -- Development Cycle::
+* Lesson II -- Customization::
+* Lesson III -- Library Catalog::
 @end menu
 
 @node  Lesson I -- Development Cycle, Lesson II -- Customization, Getting Started, Getting Started
@@ -412,13 +412,13 @@ function daynr,d,m,y
   y1 = y * delta
   return, d + floor(m1*30.6)+floor(y1*365.25)+5
 end
-     
+
 function weekday,day,month,year
   ;; compute weekday number for date
   nr = daynr(day,month,year)
   return, nr mod 7
 end
-     
+
 pro plot_wday,day,month
   ;; Plot the weekday of a date in the first 10 years of this century.
   years = 2000,+indgen(10)
@@ -649,7 +649,7 @@ keys f5-f8 to common debugging commands.
 @section Lesson III: Library Catalog
 
 We have already used the routine info display in the first part of this
-tutorial.  This was the key @kbd{C-c ?} which displays information about 
+tutorial.  This was the key @kbd{C-c ?} which displays information about
 the IDL routine near the cursor position.  Wouldn't it be nice
 to have the same available for your own library routines and for the
 huge amount of code in major extension libraries like JHUPL or the
@@ -727,7 +727,7 @@ them.
 
 @menu
 * Code Indentation::            Reflecting the logical structure
-* Continued Statement Indentation::  
+* Continued Statement Indentation::
 * Comment Indentation::         Special indentation for comment lines
 * Continuation Lines::          Splitting statements over lines
 * Syntax Highlighting::         Font-lock support
@@ -769,7 +769,7 @@ governed by a number of variables.  IDLWAVE indents blocks (between
 @code{PRO}/@code{FUNCTION}/@code{BEGIN} and @code{END}), and
 continuation lines.
 
-@defopt idlwave-main-block-indent (@code{0}) 
+@defopt idlwave-main-block-indent (@code{0})
 Extra indentation for the main block of code.  That is the block between
 the FUNCTION/PRO statement and the END statement for that program
 unit.
@@ -966,7 +966,7 @@ in the first line of a comment paragraph.
 
 @defopt idlwave-use-last-hang-indent (@code{nil})
 Non-@code{nil} means use last match on line for
-@code{idlwave-indent-regexp}. 
+@code{idlwave-indent-regexp}.
 @end defopt
 
 @node Syntax Highlighting, Octals and Highlighting, Continuation Lines, Code Formatting
@@ -994,7 +994,7 @@ for highlighting using the variable
 
 @defopt idlwave-default-font-lock-items
 Items which should be fontified on the default fontification level
-2. 
+2.
 @end defopt
 
 @node Octals and Highlighting,  , Syntax Highlighting, Code Formatting
@@ -1071,7 +1071,7 @@ plot,x,alog(x+5*sin(x) + 2),
 On positions 1,2 and 8, information about the @samp{plot} procedure will
 be shown.  On positions 3,4, and 7, the @samp{alog} function will be
 described, while positions 5 and 6 will investigate the @samp{sin}
-function.  
+function.
 
 When you ask for routine information about an object method, and the
 method exists in several classes, IDLWAVE queries for the class of the
@@ -1127,7 +1127,7 @@ split into the next two.
 @item @i{Other}
 @tab Any other routine with a file not known to be on the search path.
 @item @i{Unresolved}
-@tab An otherwise unkown routine the shell lists as unresolved 
+@tab An otherwise unkown routine the shell lists as unresolved
 (referenced, but not compiled).
 @end multitable
 
@@ -1162,7 +1162,7 @@ with the middle mouse button inserts keywords or visits files:
 @item @i{Usage}
 @tab If online help is installed, a click with the @emph{right} mouse
 button on the @i{Usage:} line will access the help for the
-routine (@pxref{Online Help}).  
+routine (@pxref{Online Help}).
 @item @i{Keyword}
 @tab Online help about keywords is also available with the
 @emph{right} mouse button.  Clicking on a keyword with the @emph{middle}
@@ -1489,7 +1489,7 @@ available.
 @menu
 * Case of Completed Words::     CaseOFcomPletedWords
 * Object Method Completion and Class Ambiguity::  obj->Method, what?
-* Object Method Completion in the Shell::  
+* Object Method Completion in the Shell::
 * Class and Keyword Inheritance::  obj->Method, _EXTRA=e
 * Structure Tag Completion::    Completing state.Tag
 @end menu
@@ -1554,7 +1554,7 @@ narrow down the number of possible completions.  The variable
 @code{idlwave-query-class} can be configured to make such prompting the
 default for all methods (not recommended), or selectively for very
 common methods for which the number of completing keywords would be too
-large (e.g. @code{Init}).  
+large (e.g. @code{Init}).
 
 @cindex Saving object class on @code{->}
 @cindex @code{->}
@@ -1646,7 +1646,7 @@ class.
 Non-@code{nil} means consider inheritance during completion, online help etc.
 @end defopt
 
-@defopt idlwave-keyword-class-inheritance 
+@defopt idlwave-keyword-class-inheritance
 A list of regular expressions to match methods for which simple
 class-driven keyword inheritance will be used for Completion.
 @end defopt
@@ -1676,7 +1676,7 @@ Structure tag completion is not enabled by default.  To enable it,
 simply add the following to your @file{.emacs}:
 
 @lisp
-   (add-hook 'idlwave-load-hook 
+   (add-hook 'idlwave-load-hook
              (lambda () (require 'idlw-complete-structtag)))
 @end lisp
 
@@ -2069,7 +2069,7 @@ your @file{.emacs} file:
      (idlwave-action-and-binding "\\<\\(pro\\|function\\)\\>[ \t]*\\<"
                                  '(capitalize-word 1) t)
      ;;  Capitalize common block name
-     (idlwave-action-and-binding "\\<common\\>[ \t]+\\<" 
+     (idlwave-action-and-binding "\\<common\\>[ \t]+\\<"
                                  '(capitalize-word 1) t)))
 @end lisp
 
@@ -2231,10 +2231,10 @@ currently only works under Unix.
 @menu
 * Starting the Shell::          How to launch IDL as a subprocess
 * Using the Shell::             Interactively working with the Shell
-* Commands Sent to the Shell::  
-* Debugging IDL Programs::      
-* Examining Variables::         
-* Custom Expression Examination::  
+* Commands Sent to the Shell::
+* Debugging IDL Programs::
+* Examining Variables::
+* Custom Expression Examination::
 @end menu
 
 @node Starting the Shell, Using the Shell, The IDLWAVE Shell, The IDLWAVE Shell
@@ -2260,7 +2260,7 @@ In order to create a separate frame for the IDLWAVE shell buffer, call
 @code{idlwave-shell} with a prefix argument: @kbd{C-u C-c C-s} or
 @kbd{C-u C-c C-l}.  If you always want a dedicated frame for the shell
 window, configure the variable
-@code{idlwave-shell-use-dedicated-frame}. 
+@code{idlwave-shell-use-dedicated-frame}.
 
 To launch a quick IDLWAVE shell directly from a shell prompt without an
 IDLWAVE buffer (e.g., as a replacement for running inside an xterm),
@@ -2305,10 +2305,10 @@ Non-@code{nil} means preserve command history between sessions.
 @defopt idlwave-shell-command-history-file (@file{~/.idlwhist})
 The file in which the command history of the idlwave shell is saved.
 @end defopt
-  
+
 @defopt idlwave-shell-use-dedicated-frame (@code{nil})
 Non-@code{nil} means IDLWAVE should use a special frame to display
-shell buffer. 
+shell buffer.
 @end defopt
 
 @defopt idlwave-shell-frame-parameters
@@ -2515,10 +2515,10 @@ buffers.
 @end defopt
 
 @menu
-* Debug Key Bindings::          
-* Compiling Programs::          
-* Breakpoints and Stepping::    
-* Walking the Calling Stack::   
+* Debug Key Bindings::
+* Compiling Programs::
+* Breakpoints and Stepping::
+* Walking the Calling Stack::
 @end menu
 
 @node Debug Key Bindings, Compiling Programs, Debugging IDL Programs, Debugging IDL Programs
@@ -2575,12 +2575,12 @@ commands in the shell and source buffers.  Can be one or more of
 @kindex C-c C-d C-c
 In order to compile the current buffer under the IDLWAVE shell, press
 @kbd{C-c C-d C-c} (@code{idlwave-save-and-run}).  This first saves the
-current buffer and then sends the command @samp{.run path/to/file} to the 
-shell.  You can also execute @kbd{C-c C-d C-c} from the shell buffer, in 
+current buffer and then sends the command @samp{.run path/to/file} to the
+shell.  You can also execute @kbd{C-c C-d C-c} from the shell buffer, in
 which case the most recently compiled buffer will be saved and
 re-compiled.
 
-When developing or debugging a program, it is often necessary to execute 
+When developing or debugging a program, it is often necessary to execute
 the same command line many times.  A convenient way to do this is
 @kbd{C-c C-d C-y} (@code{idlwave-shell-execute-default-command-line}).
 This command first resets IDL from a state of interrupted execution by
@@ -2792,14 +2792,14 @@ the expression printed by IDL.
 @end defopt
 
 @defopt idlwave-shell-output-face
-The face for @code{idlwave-shell-output-overlay}.  
+The face for @code{idlwave-shell-output-overlay}.
 Allows to choose the font, color and other properties for the most
 recent output of IDL when examining an expression."
 @end defopt
 
 @defopt idlwave-shell-separate-examine-output (@code{t})
 If non-@code{nil}, re-direct the output of examine commands to a special
-@file{*Examine*} buffer, instead of in the shell itself. 
+@file{*Examine*} buffer, instead of in the shell itself.
 @end defopt
 
 @node Custom Expression Examination,  , Examining Variables, The IDLWAVE Shell
@@ -2840,17 +2840,17 @@ single string argument sharing the syntax of the
 @lisp
 (add-hook 'idlwave-shell-mode-hook
           (lambda ()
-            (idlwave-shell-define-key-both [s-down-mouse-2] 
-                                 (idlwave-shell-mouse-examine 
+            (idlwave-shell-define-key-both [s-down-mouse-2]
+                                 (idlwave-shell-mouse-examine
                                   "print, size(___,/DIMENSIONS)"))
             (idlwave-shell-define-key-both [f9] (idlwave-shell-examine
                                        "print, size(___,/DIMENSIONS)"))
-            (idlwave-shell-define-key-both [f10] (idlwave-shell-examine 
+            (idlwave-shell-define-key-both [f10] (idlwave-shell-examine
                                         "print,size(___,/TNAME)"))
             (idlwave-shell-define-key-both [f11] (idlwave-shell-examine
                                         "help,___,/STRUCTURE"))))
-@end lisp                                        
-            
+@end lisp
+
 @noindent Now pressing @key{f9}, or middle-mouse dragging with the
 @key{SUPER} key depressed, will print the dimensions of the nearby or
 highlighted expression.  Pressing @key{f10} will give the type string,
@@ -2941,7 +2941,7 @@ to get a separate frame for the IDL shell, remove that command from your
 @lisp
 (setq idlwave-shell-use-dedicated-frame t)
 @end lisp
-@item 
+@item
 The key sequence @kbd{M-@key{TAB}} no longer inserts a TAB character.
 Like in many other Emacs modes, @kbd{M-@key{TAB}} now does
 completion.  Inserting a TAB has therefore been moved to
@@ -2973,7 +2973,7 @@ of the package from version 3.0, during which time he overhauled almost
 everything, modernized IDLWAVE with many new features, and developed the
 manual.
 
-@item 
+@item
 @uref{mailto:jdsmith@@as.arizona.edu, @b{J.D. Smith}}, the current
 maintainer, as of version 4.10, helped shape object method completion
 and most new features introduced in versions 4.x.
@@ -3051,14 +3051,14 @@ know about the accessible routines.
 several places:
 
 @enumerate
-@item 
+@item
 @emph{Builtin routines} are defined inside IDL itself.  The source
 code of such routines is not available.
 @item
 Routines which are @emph{part of the current program}, are defined in a
 file explicitly compiled by the user.  This file may or may not be
 located on the IDL search path.
-@item 
+@item
 @emph{Library routines} are defined in files located on IDL's search
 path, and will not need to be manually compiled.  When a library routine
 is called for the first time, IDL will find the source file and compile
@@ -3095,7 +3095,7 @@ by scanning the IDL manuals and is stored in the file
 @file{idlw-rinfo.el}.  @xref{Documentation Scan}, for information on how
 to regenerate this file for new versions of IDL.
 
-@item 
+@item
 It @emph{scans} all @emph{buffers} of the current Emacs session for
 routine definitions.  This is done automatically when routine
 information or completion is first requested by the user.  Each new
@@ -3182,7 +3182,7 @@ or all directories on the search path.  If you only want to have routine
 and completion info of some libraries, it is sufficient to scan those
 directories.  However, if you want IDLWAVE to detect possible name
 conflicts with routines defined in other libraries, the whole pass
-should be scanned. 
+should be scanned.
 
 After selecting directories, click on the @w{@samp{[Scan & Save]}}
 button in the widget to scan all files in the selected directories and
@@ -3279,7 +3279,7 @@ Another way to find out if a specific routine has multiple definitions
 on the load path is routine info display (@pxref{Routine Info}).
 
 @node Documentation Scan,  , Load-Path Shadows, Sources of Routine Info
-@appendixsec Documentation Scan 
+@appendixsec Documentation Scan
 @cindex @file{get_rinfo}
 @cindex @file{idlw-rinfo.el}
 @cindex @file{idlw-help.txt}
@@ -3370,7 +3370,7 @@ user is King!
 (setq idlwave-main-block-indent 3)
 (setq idlwave-end-offset -3)
 (setq idlwave-continuation-indent 1)
-(setq idlwave-begin-line-comment "^;[^;]")  ; Leave ";" but not ";;" 
+(setq idlwave-begin-line-comment "^;[^;]")  ; Leave ";" but not ";;"
                                             ; anchored at start of line.
 (setq idlwave-surround-by-blank t)      ; Turn on padding ops =,<,>
 (setq idlwave-pad-keyword nil)          ; Remove spaces for keyword '='
@@ -3424,10 +3424,10 @@ user is King!
     ;; (local-set-key "\C-j" 'idlwave-newline) ; My preference.
 
     ;; Some personal abbreviations
-    (define-abbrev idlwave-mode-abbrev-table  
+    (define-abbrev idlwave-mode-abbrev-table
       (concat idlwave-abbrev-start-char "wb") "widget_base()"
       (idlwave-keyword-abbrev 1))
-    (define-abbrev idlwave-mode-abbrev-table  
+    (define-abbrev idlwave-mode-abbrev-table
       (concat idlwave-abbrev-start-char "on") "obj_new()"
       (idlwave-keyword-abbrev 1))
     ))
@@ -3445,12 +3445,12 @@ user is King!
 (add-hook 'idlwave-shell-mode-hook
           (lambda ()
             ;; Set up some custom key and mouse examine commands
-            (idlwave-shell-define-key-both [s-down-mouse-2] 
-                                 (idlwave-shell-mouse-examine 
+            (idlwave-shell-define-key-both [s-down-mouse-2]
+                                 (idlwave-shell-mouse-examine
                                   "print, size(___,/DIMENSIONS)"))
             (idlwave-shell-define-key-both [f9] (idlwave-shell-examine
                                        "print, size(___,/DIMENSIONS)"))
-            (idlwave-shell-define-key-both [f10] (idlwave-shell-examine 
+            (idlwave-shell-define-key-both [f10] (idlwave-shell-examine
                                         "print,size(___,/TNAME)"))
             (idlwave-shell-define-key-both [f11] (idlwave-shell-examine
                                         "help,___,/STRUCTURE"))))
@@ -3487,7 +3487,7 @@ system.  I am assuming that IDLWAVE has been installed in
 @w{@samp{C:\RSI\IDL55}}.
 
 @lisp
-;; location of the lisp files (needed if IDLWAVE is not part of 
+;; location of the lisp files (needed if IDLWAVE is not part of
 ;; the X/Emacs installation)
 (setq load-path (cons "c:/program files/IDLWAVE" load-path))
 
@@ -3510,7 +3510,7 @@ system.  I am assuming that IDLWAVE has been installed in
 sure you check the following things:
 
 @itemize @bullet
-@item When you download the IDLWAVE distribution, make sure you save the 
+@item When you download the IDLWAVE distribution, make sure you save the
 files under the names @file{idlwave.tar.gz} and
 @file{idlwave-help-tar.gz}.
 @item Be sure that your software for untarring/ungzipping is @emph{NOT}
index 1a7310f8c8023914a5f4b472ccd0db67c0f7787c..3fb3718f85f91f37a0ae1918f10f39dc9ddddb27 100644 (file)
@@ -151,7 +151,7 @@ indentation for part of your text.
 @node Tab Stops, Just Spaces, Indentation Commands, Indentation
 @section Tab Stops
 
-@cindex tab stops 
+@cindex tab stops
 @cindex using tab stops in making tables
 @cindex tables, indentation for
 @kindex M-i
index f66fc6a20ad068a91806b1aad72864b7e208f35b..4118a4c56f530884be307d8483f5b87b647226f1 100644 (file)
@@ -80,7 +80,7 @@ mode (@pxref{Transient Mark}).
                           blank areas.
 * Killing by Lines::    How to kill entire lines of text at one time.
 * Other Kill Commands:: Commands to kill large regions of text and
-                          syntactic units such as words and sentences. 
+                          syntactic units such as words and sentences.
 @end menu
 
 @need 1500
@@ -550,7 +550,7 @@ a line.
 
 @table @kbd
 @item C-x r k
-Kill the text of the region-rectangle, saving its contents as the 
+Kill the text of the region-rectangle, saving its contents as the
 ``last killed rectangle'' (@code{kill-rectangle}).
 @item C-x r d
 Delete the text of the region-rectangle (@code{delete-rectangle}).
@@ -641,6 +641,6 @@ if the string is wider than the rectangle, the text after the
 rectangle shifts right.
 
 @findex string-insert-rectangle
-  The command @kbd{M-x string-insert-rectangle} is similar to 
-@code{string-rectangle}, but inserts the string on each line, 
+  The command @kbd{M-x string-insert-rectangle} is similar to
+@code{string-rectangle}, but inserts the string on each line,
 shifting the original text to the right.
index 6a7b291e7faf7f14a5b28cb8fca316a5eb53d05b..7a2666977816fef8bbb755425d19a2163fd57f44 100644 (file)
@@ -173,7 +173,7 @@ EMACS_UNIBYTE=1
 @section Volumes and Directories on the Mac
 @cindex file names (Mac OS)
 
-  The directory structure in the Mac OS is seen by Emacs as 
+  The directory structure in the Mac OS is seen by Emacs as
 
 @example
 /@var{volumename}/@var{filename}
index 1889ec2e725ef16c05706988f323d59c4246648a..9683ffa62d8c90d21e6748f5d364f50645d61023 100644 (file)
@@ -480,7 +480,7 @@ knows, and the file name rules for guessing the language.  It also prints
 a list of all the available @code{etags} options, together with a short
 explanation.  If followed by one or more @samp{--language=@var{lang}}
 options, prints detailed information about how tags are generated for
-@var{lang}. 
+@var{lang}.
 
 @node Etags Regexps
 @subsection Etags Regexps
index 09a567ea4c451d7ac7455ddbeb010272b12ba3c5..ec91e66fb217a65538fc5cfb61079ef449f96fef 100644 (file)
@@ -162,7 +162,7 @@ This makes the mark active and thus begins highlighting of the region.
 As you move point, you will see the highlighted region grow and
 shrink.
 
-@item 
+@item
 The mouse commands for specifying the mark also make it active.  So do
 keyboard commands whose purpose is to specify a region, including
 @kbd{M-@@}, @kbd{C-M-@@}, @kbd{M-h}, @kbd{C-M-h}, @kbd{C-x C-p}, and
index a4b046f8400fdb6ca715862ad3ed86d0c65e722f..d26ae9a5e3320acad4ca0058ef59c266f60ed460 100644 (file)
@@ -1092,8 +1092,8 @@ posting a prepared news message.
 Symbol naming a @sc{mime} charset.  Non-ASCII characters in messages are
 assumed to be encoded using this charset.  The default is @code{nil},
 which means ask the user.  (This variable is used only on non-@sc{mule}
-Emacsen.  
-@xref{Charset Translation, , Charset Translation, emacs-mime, 
+Emacsen.
+@xref{Charset Translation, , Charset Translation, emacs-mime,
       Emacs MIME Manual}, for details on the @sc{mule}-to-@sc{mime}
 translation process.
 
index eb8ba5b8b0ad03e6fedd21f736fd9d57a437cadb..406506d36a0a2ebbf0fcbb1f9448afb603758169 100644 (file)
@@ -1,5 +1,5 @@
 \input texinfo   @c -*-texinfo-*-
-@c $Id: mh-e.texi,v 1.12 2001/09/12 20:59:49 rms Exp $
+@c $Id: mh-e.texi,v 1.13 2002/10/02 23:24:31 karl Exp $
 @c %**start of header
 @setfilename ../info/mh-e
 @settitle mh-e
@@ -78,9 +78,9 @@ MH}, last updated @value{UPDATED} for mh-e Version @value{VERSION}.
                                 list and FAQ.
 * History::                     The authors speak up!
 * Copying::                     The GNU General Public License
-* Command Index::               
-* Variable Index::              
-* Concept Index::               
+* Command Index::
+* Variable Index::
+* Concept Index::
 @end menu
 @end ifnottex
 
@@ -154,12 +154,12 @@ the other two as you wish.
 
 @menu
 * Conventions::                 GNU Emacs Terms and Conventions
-* Getting Started::             
-* Sending Mail Tour::           
-* Reading Mail Tour::           
-* Processing Mail Tour::        
-* Leaving mh-e::                
-* More About mh-e::             
+* Getting Started::
+* Sending Mail Tour::
+* Reading Mail Tour::
+* Processing Mail Tour::
+* Leaving mh-e::
+* More About mh-e::
 @end menu
 
 @node Conventions, Getting Started, Tour Through mh-e, Tour Through mh-e
@@ -626,13 +626,13 @@ conventions are strange to you.
 Let's get started!
 
 @menu
-* Reading Mail::                
-* Sending Mail::                
-* Draft Editing::               
-* Moving Mail::                 
-* Searching::                   
-* Sequences::                   
-* Miscellaneous::               
+* Reading Mail::
+* Sending Mail::
+* Draft Editing::
+* Moving Mail::
+* Searching::
+* Sequences::
+* Miscellaneous::
 @end menu
 
 @node Reading Mail, Sending Mail, Using mh-e, Using mh-e
@@ -700,8 +700,8 @@ Toggle between MH-Folder and MH-Folder Show modes (@code{mh-toggle-showing}).
 @end table
 
 @menu
-* Viewing::                     
-* Moving Around::               
+* Viewing::
+* Moving Around::
 @end menu
 
 @node Viewing, Moving Around, Reading Mail, Reading Mail
@@ -724,8 +724,8 @@ to see all of them, use the @kbd{,} (comma; @code{mh-header-display})
 command.
 
 @menu
-* Reading Digests::             
-* Reading MIME::                
+* Reading Digests::
+* Reading MIME::
 @end menu
 
 @node Reading Digests, Reading MIME, Viewing, Viewing
@@ -896,10 +896,10 @@ buffer on top and the draft on the bottom.  If you would rather preserve
 the window layout, use @kbd{M-x mh-smail-other-window}.
 
 @menu
-* Replying::                    
-* Forwarding::                  
-* Redistributing::              
-* Old Drafts::                  
+* Replying::
+* Forwarding::
+* Redistributing::
+* Old Drafts::
 @end menu
 
 @node Replying, Forwarding, Sending Mail, Sending Mail
@@ -1096,10 +1096,10 @@ Quit editing and delete draft message (@code{mh-fully-kill-draft}).
 @end table
 
 @menu
-* Editing Textual::             
-* Editing MIME::                
-* Sending Message::             
-* Killing Draft::               
+* Editing Textual::
+* Editing MIME::
+* Sending Message::
+* Killing Draft::
 @end menu
 
 @node Editing Textual, Editing MIME, Draft Editing, Draft Editing
@@ -1110,11 +1110,11 @@ The commands described here are also applicable to messages that have
 multimedia components.
 
 @menu
-* Inserting Letter::            
-* Inserting Messages::          
-* Header::                      
-* Recipients::                  
-* Signature::                   
+* Inserting Letter::
+* Inserting Messages::
+* Header::
+* Recipients::
+* Signature::
 @end menu
 
 @node Inserting Letter, Inserting Messages, Editing Textual, Editing Textual
@@ -1242,7 +1242,7 @@ the content types that mh-e currently knows about.  Several of the mh-e
 commands fill in the content type for you, whereas others require you to
 enter one.  Most of the time, it should be obvious which one to use
 (e.g., use @kbd{image/jpeg} to include a @sc{jpeg} image).  If not, you
-can refer to @sc{rfc} 1521, 
+can refer to @sc{rfc} 1521,
 @c Footnotes are very fragile.  Hence the duplication.
 @c The line break in the footnote was necessary since TeX wasn't creating one.
 @ifclear html
@@ -1269,11 +1269,11 @@ multimedia fields unless the content description is compelling.
 Remember: you can always add @code{mhn} directives by hand.
 
 @menu
-* Forwarding MIME::             
-* FTP::                         
-* Tar::                         
-* Other MIME Objects::          
-* Sending MIME::                
+* Forwarding MIME::
+* FTP::
+* Tar::
+* Other MIME Objects::
+* Sending MIME::
 @end menu
 
 @node Forwarding MIME, FTP, Editing MIME, Editing MIME
@@ -1518,12 +1518,12 @@ Quit (@code{mh-quit}).
 @end table
 
 @menu
-* Incorporating::               
-* Deleting::                    
-* Organizing::                  
-* Printing::                    
-* Files and Pipes::             
-* Finishing Up::                
+* Incorporating::
+* Deleting::
+* Organizing::
+* Printing::
+* Files and Pipes::
+* Finishing Up::
 @end menu
 
 @node Incorporating, Deleting, Moving Mail, Moving Mail
@@ -1958,7 +1958,7 @@ always be included with any bug report you submit (@pxref{Bug Reports}).
 @chapter Customizing mh-e
 
 Until now, we've talked about the mh-e commands as they work ``out of the
-box.''  Of course, it is also possible to reconfigure mh-e 
+box.''  Of course, it is also possible to reconfigure mh-e
 to fit the needs of even the most demanding user.
 The following sections describe all of the
 customization variables, show the defaults, and make recommendations for
@@ -2067,11 +2067,11 @@ avoid conflicts with existing mh-e symbols, use a prefix like @code{my-}
 or your initials.
 
 @menu
-* Customizing Reading::         
-* Customizing Sending::         
-* Customizing Draft Editing::   
-* Customizing Moving Mail::     
-* Customizing Searching::       
+* Customizing Reading::
+* Customizing Sending::
+* Customizing Draft Editing::
+* Customizing Moving Mail::
+* Customizing Searching::
 @end menu
 
 @node Customizing Reading, Customizing Sending, Customizing mh-e, Customizing mh-e
@@ -2279,8 +2279,8 @@ key bindings, for example:
 @end lisp
 
 @menu
-* Customizing Viewing::         
-* Customizing Moving Around::   
+* Customizing Viewing::
+* Customizing Moving Around::
 @end menu
 
 @node Customizing Viewing, Customizing Moving Around, Customizing Reading, Customizing Reading
@@ -2526,10 +2526,10 @@ This function is passed three arguments: the contents of the @samp{To:},
 @samp{Subject:}, and @samp{cc:} header fields.
 
 @menu
-* Customizing Replying::        
-* Customizing Forwarding::      
-* Customizing Redistributing::  
-* Customizing Old Drafts::      
+* Customizing Replying::
+* Customizing Forwarding::
+* Customizing Redistributing::
+* Customizing Old Drafts::
 @end menu
 
 @node Customizing Replying, Customizing Forwarding, Customizing Sending, Customizing Sending
@@ -2665,9 +2665,9 @@ MH program used to send messages (default: @samp{"send"}).
 @end table
 
 @menu
-* Customizing Editing Textual::  
-* Customizing Editing MIME::    
-* Customizing Sending Message::  
+* Customizing Editing Textual::
+* Customizing Editing MIME::
+* Customizing Sending Message::
 @end menu
 
 @node Customizing Editing Textual, Customizing Editing MIME, Customizing Draft Editing, Customizing Draft Editing
@@ -2678,8 +2678,8 @@ edit a draft.  The discussion here applies to editing multimedia
 messages as well.
 
 @menu
-* Customizing Inserting Letter::  
-* Customizing Signature::       
+* Customizing Inserting Letter::
+* Customizing Signature::
 @end menu
 
 @node Customizing Inserting Letter, Customizing Signature, Customizing Editing Textual, Customizing Editing Textual
@@ -2711,7 +2711,7 @@ default, which means that when a message is inserted into the letter,
 each line is prefixed by @code{mh-ins-buf-prefix}.  Otherwise, it can be
 set to a function that modifies an included
 @cindex Emacs, packages, supercite
-citation. 
+citation.
 @c Footnotes are fragile; hence the redundancy.
 @c TeX not inserting a line break; hence the @*
 @ifclear html
@@ -2805,7 +2805,7 @@ like: @samp{You should be <bold>very</bold>}.  You may also be
 interested in investigating @code{sgml-mode}.
 
 @menu
-* Customizing Sending MIME::    
+* Customizing Sending MIME::
 @end menu
 
 @node Customizing Sending MIME,  , Customizing Editing MIME, Customizing Editing MIME
@@ -2896,7 +2896,7 @@ Program to scan messages (default: @samp{"scan"}).
 
 @item mh-before-quit-hook
 Functions to run before quitting (default: @code{nil}).  See also
-@code{mh-quit-hook}. 
+@code{mh-quit-hook}.
 
 @item mh-quit-hook
 Functions to run after quitting (default: @code{nil}). See also
@@ -2904,12 +2904,12 @@ Functions to run after quitting (default: @code{nil}). See also
 @end table
 
 @menu
-* Customizing Incorporating::   
-* Customizing Deleting::        
-* Customizing Organizing::      
-* Customizing Printing::        
-* Customizing Files and Pipes::  
-* Customizing Finishing Up::    
+* Customizing Incorporating::
+* Customizing Deleting::
+* Customizing Organizing::
+* Customizing Printing::
+* Customizing Files and Pipes::
+* Customizing Finishing Up::
 @end menu
 
 @node Customizing Incorporating, Customizing Deleting, Customizing Moving Mail, Customizing Moving Mail
@@ -3076,7 +3076,7 @@ override any arguments given in a @code{sortm:} entry in your MH profile
 (@file{~/.mh_profile}).
 
 @menu
-* Customizing Scan Line Formats::  
+* Customizing Scan Line Formats::
 @end menu
 
 @node Customizing Scan Line Formats,  , Customizing Organizing, Customizing Organizing
@@ -3280,7 +3280,7 @@ mh-e context, so you might use it to modify the window setup.
 If you find that you do the same thing over and over when editing the
 search template, you may wish to bind some shortcuts to keys.  This can
 be done with the variable @code{mh-pick-mode-hook}, which is called when
-@kbd{M-s} (@code{mh-search-folder}) is run on a new pattern.  
+@kbd{M-s} (@code{mh-search-folder}) is run on a new pattern.
 
 The string
 @code{mh-partial-folder-mode-line-annotation} is used to annotate the
@@ -3302,10 +3302,10 @@ you how to report bugs and how to get on the mh-e mailing list.  I also
 point out some additional sources of information.
 
 @menu
-* Bug Reports::                 
-* Mailing List::                
-* MH FAQ::                      
-* Getting mh-e::                
+* Bug Reports::
+* Mailing List::
+* MH FAQ::
+* Getting mh-e::
 @end menu
 
 @node Bug Reports, Mailing List, Odds and Ends, Odds and Ends
@@ -3413,9 +3413,9 @@ Bill Wohler then took over in 2000 and moved its development to
 @uref{http://sourceforge.net/, SourceForge}.
 
 @menu
-* From Brian Reid::             
-* From Jim Larus::              
-* From Stephen Gildea::         
+* From Brian Reid::
+* From Jim Larus::
+* From Stephen Gildea::
 @end menu
 
 @node From Brian Reid, From Jim Larus, History, History
@@ -3899,7 +3899,7 @@ when it starts in an interactive mode:
 Gnomovision version 69, Copyright (C) 20@var{yy} @var{name of author}
 Gnomovision comes with ABSOLUTELY NO WARRANTY; for details
 type `show w'.  This is free software, and you are welcome
-to redistribute it under certain conditions; type `show c' 
+to redistribute it under certain conditions; type `show c'
 for details.
 @end smallexample
 
@@ -3917,7 +3917,7 @@ necessary.  Here is a sample; alter the names:
 @group
 Yoyodyne, Inc., hereby disclaims all copyright
 interest in the program `Gnomovision'
-(which makes passes at compilers) written 
+(which makes passes at compilers) written
 by James Hacker.
 
 @var{signature of Ty Coon}, 1 April 1989
index 8f9ba69a06b28e6a7dc7f29ebd93309cef26755a..9ee73fcf0072fed3d2905294b73253aed6989cde 100644 (file)
@@ -47,7 +47,7 @@ To start Gnus, type @kbd{M-x gnus @key{RET}}.
 As opposed to most normal Emacs packages, Gnus uses a number of
 different buffers to display information and to receive commands.  The
 three buffers users spend most of their time in are the @dfn{group
-buffer}, the @dfn{summary buffer} and the @dfn{article buffer}.  
+buffer}, the @dfn{summary buffer} and the @dfn{article buffer}.
 
 The @dfn{group buffer} contains a list of groups.  This is the first
 buffer Gnus displays when it starts up.  It normally displays only the
@@ -161,7 +161,7 @@ In the group buffer, select the group on the line under the cursor
 and display the first unread article in that group.
 
 @need 1000
-In the summary buffer, 
+In the summary buffer,
 
 @itemize @bullet
 @item
@@ -291,7 +291,7 @@ Save articles. @xref{Saving Articles, , , gnus, The Gnus Manual}.
 @item
 Have Gnus score articles according to various criteria, like author
 name, subject, or string in the body of the articles.@*
-@xref{Scoring, , , gnus, The Gnus Manual}. 
+@xref{Scoring, , , gnus, The Gnus Manual}.
 
 @item
 Send an article to a newsgroup.@*
index 5273b28f7d6eccaa9f4c0a54f1e00b5066a7f0e1..6be4f703f792a4875f68124fe4bb09f61275b76f 100644 (file)
@@ -1,9 +1,9 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1985,86,87,93,94,95,1997,2000,2001 
+@c Copyright (C) 1985,86,87,93,94,95,1997,2000,2001
 @c  Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node MS-DOS, Manifesto, Mac OS, Top
-@appendix Emacs and MS-DOS 
+@appendix Emacs and MS-DOS
 @cindex MS-DOG
 @cindex MS-DOS peculiarities
 
@@ -837,7 +837,7 @@ key invokes the Windows menu.  The reason is that the @key{ALT} also
 serves as @key{META} in Emacs.  When using Emacs, users often press the
 @key{META} key temporarily and then change their minds; if this has the
 effect of bringing up the Windows menu, it alters the meaning of
-subsequent commands.  Many users find this frustrating. 
+subsequent commands.  Many users find this frustrating.
 
 @vindex w32-pass-alt-to-system
 You can reenable Windows's default handling of tapping the @key{ALT} key
index 6c4014177039a805bf6b56d155e741d314f4d5da..ccba75e93278deaa3eb813d18b6f632dbab7f4c6 100644 (file)
@@ -477,7 +477,7 @@ Display a list of all the supported input methods.
 input method name from the minibuffer; the name normally starts with the
 language environment that it is meant to be used with.  The variable
 @code{current-input-method} records which input method is selected.
-  
+
 @findex toggle-input-method
 @kindex C-\
   Input methods use various sequences of ASCII characters to stand for
index c6457237842e32af8e8cfd99dc80a06d158e941a..04952efd3cb2b8a79c26b8a4b646b389342ab0c1 100644 (file)
@@ -1,5 +1,5 @@
 \input texinfo  @c -*-texinfo-*-
-@c "@(#)$Name:  $:$Id: pcl-cvs.texi,v 1.17 2002/10/02 23:24:31 karl Exp $"
+@c "@(#)$Name:  $:$Id: pcl-cvs.texi,v 1.18 2002/12/07 13:38:26 pj Exp $"
 @c %**start of header
 @setfilename ../info/pcl-cvs
 @settitle PCL-CVS --- Emacs Front-End to CVS
@@ -101,18 +101,18 @@ of the various commands and major modes for further information.
 About PCL-CVS
 
 * Contributors::                Contributors to PCL-CVS.
-* Installation::                
+* Installation::
 
 Commands
 
 * Entering PCL-CVS::            Commands to invoke PCL-CVS
 * Setting flags::               Setting flags for CVS commands
-* Updating the buffer::         
+* Updating the buffer::
 * Movement commands::           How to move up and down in the buffer
 * Marking files::               How to mark files that other commands
                                 will later operate on.
 * Committing changes::          Checking in your modifications to the
-                                CVS repository. 
+                                CVS repository.
 * Editing files::               Loading files into Emacs.
 * Getting info about files::    Display the log and status of files.
 * Adding and removing files::   Adding and removing files
@@ -127,7 +127,7 @@ Commands
 
 Customization
 
-* Customizing Faces::           
+* Customizing Faces::
 
 @end detailmenu
 @end menu
@@ -157,7 +157,7 @@ As of Emacs 21, PCL-CVS is part of the standard Emacs distribution.
 
 @menu
 * Contributors::                Contributors to PCL-CVS.
-* Installation::                
+* Installation::
 @end menu
 
 @node     Contributors, Installation, About PCL-CVS, About PCL-CVS
@@ -250,7 +250,7 @@ If you are running XEmacs 21.0 or later, PCL-CVS is available in
 pre-compiled package form.  Please refer to the XEmacs manual for
 instructions regarding package selection and installation.  Currently,
 that PCL-CVS package also requires you to have installed the
-@file{xemacs-base}, @file{elib}, and @file{dired} packages. 
+@file{xemacs-base}, @file{elib}, and @file{dired} packages.
 
 If you have @TeX{} installed at your site, you can make a typeset manual
 from @file{pcl-cvs.texi}.
@@ -318,7 +318,7 @@ In directory sub:
 
 In this example, your repository is in @file{/usr/CVSroot} and CVS has
 been run in the directory @file{/users/ceder/FOO/test}.  The three files
-(@file{bar}, @file{file.txt} and 
+(@file{bar}, @file{file.txt} and
 @file{newer}) that are marked with @samp{Need-Update} have been changed
 by someone else in the CVS repository.  Two files (@file{namechange}
 and @file{sub/ChangeLog}) have been modified locally, and need to be
@@ -523,12 +523,12 @@ you can use in PCL-CVS.  They are grouped together by type.
 @menu
 * Entering PCL-CVS::            Commands to invoke PCL-CVS
 * Setting flags::               Setting flags for CVS commands
-* Updating the buffer::         
+* Updating the buffer::
 * Movement commands::           How to move up and down in the buffer
 * Marking files::               How to mark files that other commands
                                 will later operate on.
 * Committing changes::          Checking in your modifications to the
-                                CVS repository. 
+                                CVS repository.
 * Editing files::               Loading files into Emacs.
 * Getting info about files::    Display the log and status of files.
 * Adding and removing files::   Adding and removing files
@@ -554,13 +554,13 @@ you can use in PCL-CVS.  They are grouped together by type.
 
 Most commands in PCL-CVS require that you have a @samp{*cvs*}
 buffer.  The commands that you use to get one are listed below.
-For each, a @samp{cvs} process will be run, the output will be parsed by 
+For each, a @samp{cvs} process will be run, the output will be parsed by
 PCL-CVS, and the result will be printed in the @samp{*cvs*} buffer (see
 @ref{Buffer contents}, for a description of the buffer's contents).
 
 @table @kbd
 @item M-x cvs-update
-Run a @samp{cvs update} command.  You will be asked for the directory 
+Run a @samp{cvs update} command.  You will be asked for the directory
 in which the @samp{cvs update} will be run.
 
 @item M-x cvs-examine
@@ -570,7 +570,7 @@ not change anything.  You will be asked for the directory in
 which the @samp{cvs -n update} will be run.
 
 @item M-x cvs-status
-Run a @samp{cvs status} command.  You will be asked for the directory 
+Run a @samp{cvs status} command.  You will be asked for the directory
 in which the @samp{cvs status} will be run.
 
 @item M-x cvs-checkout
@@ -1307,7 +1307,7 @@ newline in the commit message buffer.
 @findex cvs-mode-changelog-commit
 @item log-edit-changelog-full-paragraphs
 If this variable is non-@code{nil}, include full @file{ChangeLog}
-paragraphs in the CVS log created by @samp{cvs-mode-changelog-commit}. 
+paragraphs in the CVS log created by @samp{cvs-mode-changelog-commit}.
 This may be set in the local variables section of a @file{ChangeLog}
 file, to indicate the policy for that @file{ChangeLog}.
 
@@ -1338,7 +1338,7 @@ default.
 
 
 @menu
-* Customizing Faces::           
+* Customizing Faces::
 @end menu
 
 @node Customizing Faces,  , Customization, Customization
@@ -1365,7 +1365,7 @@ used to highlight file names.
 used to highlight the status of files which are @samp{Unknown}.
 
 @item cvs-handled-face
-used to highlight the status of files which are handled and 
+used to highlight the status of files which are handled and
 need no further action.
 
 @item cvs-need-action-face
index ab557d4522de9d80156ef3304bd6afd1b438cebf..1e15aa985c8b6690d5edfb206340d36ccbc58434 100644 (file)
@@ -1400,7 +1400,7 @@ display, so you can use it even on read-only buffers.  You can use the
 command @kbd{M-x glasses-mode} to enable or disable the mode in the
 current buffer; you can also add @code{glasses-mode} to the mode hook
 of the programming language major modes in which you normally want
-to use Glasses mode.        
+to use Glasses mode.
 
 @node Misc for Programs
 @section Other Features Useful for Editing Programs
index 9d388d66b6057d0555cfbdf07d5dc1ebdfdea0ef..449efce9ce5a8ae9ec423355ceda1a75bea649e8 100644 (file)
@@ -116,7 +116,7 @@ Introduction
 
 * Installation::                     How to install and activate RefTeX.
 * RefTeX in a Nutshell::             A brief summary and quick guide.
+
 Labels and References
 
 * Creating Labels::
@@ -287,7 +287,7 @@ additional labeled environments you have defined yourself (variable
 
 @itemize @bullet
 @item
-@b{Creating Labels}@* 
+@b{Creating Labels}@*
 Type @kbd{C-c (} (@code{reftex-label}) to insert a label at point.
 @b{Ref@TeX{}} will either
 @itemize @minus
@@ -295,7 +295,7 @@ Type @kbd{C-c (} (@code{reftex-label}) to insert a label at point.
 derive a label from context (default for section labels)
 @item
 prompt for a label string (default for figures and tables) or
-@item 
+@item
 insert a simple label made of a prefix and a number (all other
 environments)@refill
 @end itemize
@@ -415,7 +415,7 @@ can do in each of the different special buffers, press @kbd{?}.  Read
 the manual if you get stuck, of if you are curious what else might be
 available.  The first part of the manual explains in
 a tutorial way how to use and customize @b{Ref@TeX{}}.  The second
-part is a command and variable reference.@refill  
+part is a command and variable reference.@refill
 @end enumerate
 
 @node Table of Contents, Labels and References, Introduction, Top
@@ -514,7 +514,7 @@ Kill the @file{*toc*} buffer, return to the position where
 
 @item C-c >
 Switch to the @file{*Index*} buffer of this document.  With prefix
-@samp{2}, restrict the index to the section at point in the @file{*toc*} 
+@samp{2}, restrict the index to the section at point in the @file{*toc*}
 buffer.
 
 @tablesubheading{Controlling what gets displayed}
@@ -550,7 +550,7 @@ Toggle the display of index entries in the @file{*toc*} buffer.  The
 default for this flag can be set with the variable
 @code{reftex-toc-include-index-entries}.  When called with a prefix
 argument, @b{Ref@TeX{}} will prompt for a specific index and include
-only entries in the selected index in the @file{*toc*} buffer.  The mode 
+only entries in the selected index in the @file{*toc*} buffer.  The mode
 line @samp{I<>} indicator shows which index is used.@refill
 
 @item c
@@ -799,7 +799,7 @@ Goto next section heading.
 Goto previous section heading.
 
 @item N z
-Jump to section N, using the prefix arg.  For example @kbd{3 z} jumps to 
+Jump to section N, using the prefix arg.  For example @kbd{3 z} jumps to
 section 3.@refill
 
 @tablesubheading{Displaying Context}
@@ -893,7 +893,7 @@ buffer.@refill
 
 @tablesubheading{Controlling what gets displayed}
 @vindex reftex-label-menu-flags
-The defaults for the following flags can be configured with the variable 
+The defaults for the following flags can be configured with the variable
 @code{reftex-label-menu-flags} (@pxref{Options (Referencing Labels)}).
 
 @item c
@@ -906,7 +906,7 @@ selection buffer.@refill
 
 @item t
 Toggle the display of the table of contents in the selection buffer.
-With prefix @var{arg}, change the maximum level of toc entries displayed 
+With prefix @var{arg}, change the maximum level of toc entries displayed
 to @var{arg}.  Chapters are level 1, section are level 2.@refill
 
 @item #
@@ -1320,7 +1320,7 @@ Again, here the configuration in the customization buffer:
 @example
 [INS] [DEL] Package or Detailed   : [Value Menu] Detailed:
             Environment or \macro : [Value Menu] String: \myfig[]@{@}@{@}@{*@}@{@}
-            Type specification    : [Value Menu] Char  : f 
+            Type specification    : [Value Menu] Char  : f
             Label prefix string   : [Value Menu] Default
             Label reference format: [Value Menu] Default
             Context method        : [Value Menu] Macro arg nr: 3
@@ -1417,7 +1417,7 @@ Here is the setup:@refill
 
 (defun detect-be-ee (bound)
   ;; Search backward for the macros or an empty line
-  (if (re-search-backward 
+  (if (re-search-backward
        "\\(^[ \t]*\n\\|\\\\ee\\>\\)\\|\\(\\\\be\\>\\)" bound t)
       (if (match-beginning 2)
           (match-beginning 2)  ; Return start of environment
@@ -1456,14 +1456,14 @@ for @b{Ref@TeX{}}.
 (defun detect-linguex (bound)
   (let ((cnt 0))
     (catch 'exit
-      (while 
+      (while
           ;; Search backward for all possible delimiters
           (re-search-backward
            (concat "\\(^[ \t]*\n\\)\\|\\(\\\\z\\.\\)\\|"
                    "\\(\\ex[ig]?\\.\\)\\|\\(\\\\a\\.\\)")
            nil t)
         ;; Check which delimiter was matched.
-        (cond 
+        (cond
          ((match-beginning 1)
           ;; empty line terminates all - return nil
           (throw 'exit nil))
@@ -1784,7 +1784,7 @@ SELECT A CITATION FORMAT
 
 Following the most generic of these packages, @code{natbib}, the builtin
 citation packages always accept the @kbd{t} key for a @emph{textual}
-citation (like: @code{Jones et al. (1997) have shown...})  as well as 
+citation (like: @code{Jones et al. (1997) have shown...})  as well as
 the @kbd{p} key for a parenthetical citation (like: @code{As shown
 earlier (Jones et al, 1997)}).@refill
 
@@ -2015,13 +2015,13 @@ repeat @var{word} outside the macro.@refill
 
 Phrases for indexing can be collected while writing the document.  The
 command @kbd{C-c \} (@code{reftex-index-phrase-selection-or-word})
-copies the current selection (if active) or the word near point into the 
+copies the current selection (if active) or the word near point into the
 phrases buffer.  It then selects this buffer, so that the phrase line
 can be edited.  To return to the LaTeX document, press @kbd{C-c C-c}
 (@code{reftex-index-phrases-save-and-return}).
 
 You can also prepare the list of index phrases in a different way and
-copy it into the phrases file.  For example you might want to start from 
+copy it into the phrases file.  For example you might want to start from
 a word list of the document and remove all words which should not be
 indexed.
 
@@ -2030,7 +2030,7 @@ The phrase lines in the phrase buffer must have a specific format.
 format.  A phrase line looks like this:
 
 @example
-[@var{key}] <TABs> @var{phrase} [<TABs> @var{arg}[&&@var{arg}]... [ || @var{arg}]...] 
+[@var{key}] <TABs> @var{phrase} [<TABs> @var{arg}[&&@var{arg}]... [ || @var{arg}]...]
 @end example
 
 @code{<TABs>} stands for white space containing at least one @key{TAB}.
@@ -2124,7 +2124,7 @@ may not last long enough to do everything in one go.@refill
 @b{Ref@TeX{}} will start at the first phrase line and search the phrase
 globally in the whole document.  At each match it will stop, compute the
 replacement string and offer you the following choices@footnote{Windows
-users: Restrict yourself to the described keys during indexing.  Pressing 
+users: Restrict yourself to the described keys during indexing.  Pressing
 @key{Help} at the indexing prompt can apparently hang Emacs.}:@refill
 
 @table @kbd
@@ -2238,7 +2238,7 @@ Prefix argument.
 @tablesubheading{Moving around}
 @item ! A..Z
 Pressing any capital letter will jump to the corresponding section in
-the @file{*Index*} buffer.  The exclamation mark is special and jumps to 
+the @file{*Index*} buffer.  The exclamation mark is special and jumps to
 the first entries alphabetically sorted below @samp{A}.  These are
 usually non-alphanumeric characters.@refill
 @item n
@@ -2248,7 +2248,7 @@ Go to previous entry.@refill
 
 @tablesubheading{Access to document locations}
 @item @key{SPC}
-Show the place in the document where this index entry is defined.@refill 
+Show the place in the document where this index entry is defined.@refill
 
 @item @key{TAB}
 Go to the definition of the current index entry in another
@@ -2299,19 +2299,19 @@ prefix, kill the entire @var{visual} part.@refill
 
 @item (
 Toggle the beginning of page range property @samp{|(} of the
-entry.@refill 
+entry.@refill
 
 @item )
-Toggle the end of page range property @samp{|)} of the entry.@refill 
+Toggle the end of page range property @samp{|)} of the entry.@refill
 
 @item _
 Make the current entry a subentry.  This command will prompt for the
 superordinate entry and insert it.@refill
 
 @item ^
-Remove the highest superordinate entry.  If the current entry is a 
+Remove the highest superordinate entry.  If the current entry is a
 subitem (@samp{aaa!bbb!ccc}), this function moves it up the hierarchy
-(@samp{bbb!ccc}).@refill 
+(@samp{bbb!ccc}).@refill
 
 @tablesubheading{Exiting}
 @item q
@@ -2364,7 +2364,7 @@ buffer.@refill
 
 @item s
 Switch to a different index (for documents with multiple
-indices).@refill 
+indices).@refill
 @end table
 
 
@@ -2427,7 +2427,7 @@ quick identification of these macros when @b{Ref@TeX{}} inserts new
 index entries with @code{reftex-index}.  These codes need to be
 unique. @code{?i}, @code{?I}, and @code{?g} are reserved for the
 @code{\index}, @code{\index*}, and @code{\glossary} macros,
-respectively. 
+respectively.
 
 The following string is empty unless your macro adds a superordinate
 entry to the index key - this is the case for the @code{\astobj} macro.
@@ -2450,14 +2450,14 @@ Repeat:
             Macro with args: \ix@{*@}
             Index Tag      : [Value Menu] String: idx
             Access Key     : x
-            Key Prefix     : 
+            Key Prefix     :
             Exclusion hook : nil
             Repeat Outside : [Toggle]  off (nil)
 [INS] [DEL] List:
             Macro with args: \nindex@{*@}
             Index Tag      : [Value Menu] String: name
             Access Key     : n
-            Key Prefix     : 
+            Key Prefix     :
             Exclusion hook : nil
             Repeat Outside : [Toggle]  off (nil)
 [INS] [DEL] List:
@@ -2558,7 +2558,7 @@ and @code{\glossary} macros, all macros configured in
 While the display of cross referencing information for the above
 mentioned macros is hard--coded, you can configure additional relations
 in the variable @code{reftex-view-crossref-extra}.
-    
+
 @iftex
 @chapter All the Rest
 @end iftex
@@ -2748,7 +2748,7 @@ see @ref{Adding Magic Words}.
 
 @vindex reftex-multiref-punctuation
 @vindex reftex-cite-punctuation
-@item 
+@item
 @b{Ref@TeX{}} inserts ``punctuation'' for multiple references and
 for the author list in citations.  Some of this may be language
 dependent.  See the variables @code{reftex-multiref-punctuation} and
@@ -2802,7 +2802,7 @@ variables and configure @b{Ref@TeX{}} to use them instead:
 Specify the full search path directly in @b{Ref@TeX{}}'s variables.
 
 @lisp
-(setq reftex-texpath-environment-variables 
+(setq reftex-texpath-environment-variables
       '("./inp:/home/cd/tex//:/usr/local/tex//"))
 (setq reftex-bibpath-environment-variables
       '("/home/cd/tex/lit/"))
@@ -2820,7 +2820,7 @@ command depends upon the version of that program.
 (setq reftex-use-external-file-finders t)
 (setq reftex-external-file-finders
       '(("tex" . "kpsewhich -format=.tex %f")
-        ("bib" . "kpsewhich -format=.bib %f")))      
+        ("bib" . "kpsewhich -format=.bib %f")))
 @end lisp
 @end itemize
 
@@ -2835,9 +2835,9 @@ the new extension must also be known to AUCTeX via the variable
 @code{TeX-file-extension}.  For example:
 
 @lisp
-(setq reftex-file-extensions 
+(setq reftex-file-extensions
       '(("nw" "tex" ".tex" ".ltx") ("bib" ".bib")))
-(setq TeX-file-extensions 
+(setq TeX-file-extensions
       '( "nw" "tex" "sty" "cls" "ltx" "texi" "texinfo"))
 @end lisp
 
@@ -3148,7 +3148,7 @@ file @file{natbib.el} for the Natbib citation style does switch
          (reftex-set-cite-format 'natbib))))
 @end lisp
 
-@findex reftex-add-index-macros 
+@findex reftex-add-index-macros
 The hook may contain a call to @code{reftex-add-index-macros} to
 define additional @code{\index}-like macros.  The argument must have
 the same format as @code{reftex-index-macros}.  It may be a symbol, to
@@ -3282,7 +3282,7 @@ literally for speed reasons.  Then both short context and section
 headings may look different from what you usually see on your screen.
 In rare cases @code{reftex-toc} may have problems to jump to an affected
 section heading.  There are three possible ways to deal with
-this:@refill 
+this:@refill
 @itemize @minus
 @item
 @vindex reftex-keep-temporary-buffers
@@ -3332,7 +3332,7 @@ The first line is just a normal configuration for a macro.  For the
 argument (which really is a second argument to the macro @code{\begin})
 as a label of type @code{?p}.  Argument count for this macro starts only
 after the @samp{@{step+@}}, also when specifying how to get
-context.@refill 
+context.@refill
 
 @item
 @b{Idle timers in XEmacs}@*
@@ -3455,7 +3455,7 @@ When called with one or two @kbd{C-u} prefixes, first rescans the
 document.  When called with a numeric prefix, make that many citations.
 When called with point inside the braces of a @code{\cite} command, it
 will add another key, ignoring the value of
-@code{reftex-cite-format}.@refill @* 
+@code{reftex-cite-format}.@refill @*
 The regular expression uses an expanded syntax: @samp{&&} is interpreted
 as @code{and}.  Thus, @samp{aaaa&&bbb} matches entries which contain
 both @samp{aaaa} and @samp{bbb}.  While entering the regexp, completion
@@ -3668,7 +3668,7 @@ Non-@code{nil} means, initially turn automatic recentering of toc on.
 When active, the @file{*TOC*} buffer will always show the section you
 are currently working in.  Recentering happens whenever Emacs is idle
 for more than `reftex-idle-time' seconds.
-This feature can be turned on and off from the menu 
+This feature can be turned on and off from the menu
 (Ref->Options).
 @end defopt
 
@@ -4154,7 +4154,7 @@ called.@refill
 
 @deffn {Normal Hook} reftex-select-label-mode-hook
 Normal hook which is run when a selection buffer enters
-@code{reftex-select-label-mode}.@refill 
+@code{reftex-select-label-mode}.@refill
 @end deffn
 
 @deffn Keymap reftex-select-label-map
@@ -4287,14 +4287,14 @@ normal names separator, like @samp{, } in Jones, Brown and Miller
 @item
 final names separator, like @samp{ and }  in Jones, Brown and Miller
 @item
-The @samp{et al.} string, like @samp{ @{\it et al.@}} in 
+The @samp{et al.} string, like @samp{ @{\it et al.@}} in
 Jones @{\it et al.@}
 @end enumerate
 @end defopt
 
 @deffn {Normal Hook} reftex-select-bib-mode-hook
 Normal hook which is run when a selection buffer enters
-@code{reftex-select-bib-mode}.@refill 
+@code{reftex-select-bib-mode}.@refill
 @end deffn
 
 @deffn Keymap reftex-select-bib-map
@@ -4318,7 +4318,7 @@ document.@refill
 
 @defopt reftex-index-special-chars
 List of special characters in index entries, given as strings.  These
-correspond to the @code{MakeIndex} keywords 
+correspond to the @code{MakeIndex} keywords
 @code{(@var{level} @var{encap} @var{actual} @var{quote} @var{escape})}.
 @end defopt
 
@@ -4533,7 +4533,7 @@ This is used when `reftex-view-crossref' is called with point in an
 argument of a macro.  Note that crossref viewing for citations,
 references (both ways) and index entries is hard-coded.  This variable
 is only to configure additional structures for which crossreference
-viewing can be useful.  Each entry has the structure 
+viewing can be useful.  Each entry has the structure
 @example
 (@var{macro-re} @var{search-re} @var{highlight}).
 @end example
@@ -4556,7 +4556,7 @@ display.  This feature can be turned on and off from the menu
 @end defopt
 
 @defopt reftex-idle-time
-Time (secs) Emacs has to be idle before automatic crossref display 
+Time (secs) Emacs has to be idle before automatic crossref display
 or toc recentering is done.@refill
 @end defopt
 
@@ -4626,7 +4626,7 @@ be expanded recursively.  See also @code{reftex-use-external-file-finders}.
 
 @defopt reftex-file-extensions
 Association list with file extensions for different file types.
-This is a list of items, each item is like: 
+This is a list of items, each item is like:
 @code{(@var{type} . (@var{def-ext} @var{other-ext} ...))}
 @example
 @var{type}:       @r{File type like @code{"bib"} or @code{"tex"}.}
@@ -5250,7 +5250,7 @@ Fixed bug with empty context strings.
 @item
 Parse files @file{MASTER.rel} made compatible between Emacs and XEmacs.
 @item
-@code{kill-emacs-hook} and @code{kill-buffer-hook} now write the parse 
+@code{kill-emacs-hook} and @code{kill-buffer-hook} now write the parse
 file.
 @item
 The cursor inside a @code{\ref} or @code{\cite} macro can now trigger
@@ -5357,7 +5357,7 @@ labels like @samp{eq:13} sequentially through a document.
 @item
 Multiple selection buffers are now hidden buffers (they start with a
 SPACE).
-@item 
+@item
 Fixed bug with file search when TEXINPUTS environment variable is empty.
 @end itemize
 @noindent @b{Version 3.34}
@@ -5392,9 +5392,9 @@ to be on the macro argument.
 @itemize @bullet
 @item
 New options @code{reftex-texpath-environment-variables},
-@code{reftex-use-external-file-finders}, 
-@code{reftex-external-file-finders}, 
-@code{reftex-search-unrecursed-path-first}. 
+@code{reftex-use-external-file-finders},
+@code{reftex-external-file-finders},
+@code{reftex-search-unrecursed-path-first}.
 @item
 @emph{kpathsearch} support.  See new options and
 @code{reftex-bibpath-environment-variables}.
@@ -5430,7 +5430,7 @@ Reading a parse file now checks consistency.
 @noindent @b{Version 4.00}
 @itemize @bullet
 @item
-RefTeX has been split into several smaller files which are autoloaded on 
+RefTeX has been split into several smaller files which are autoloaded on
 demand.
 @item
 Index support, along with many new options.
@@ -5480,9 +5480,9 @@ Multiple @code{thebibliography} environments recognized.
 @item
 New option @code{reftex-toc-max-level} to limit the depth of the toc.
 New key binding @kbd{t} in the @file{*toc*} buffer to change this
-setting.@refill 
+setting.@refill
 @item
-RefTeX maintains an @file{Index Phrases} file in which phrases can be 
+RefTeX maintains an @file{Index Phrases} file in which phrases can be
 collected.  When the document is ready, RefTeX can search all
 these phrases and assist indexing all matches.@refill
 @item
@@ -5497,7 +5497,7 @@ default stuff which has been moved to a constant.@refill
 @item
 Environments like theorems can be placed into the TOC by putting
 entries for @samp{"begin@{theorem@}"} in
-@code{reftex-setion-levels}.@refill 
+@code{reftex-setion-levels}.@refill
 @end itemize
 @noindent @b{Version 4.10}
 @itemize @bullet
@@ -5531,7 +5531,7 @@ Improved interaction with Emacs LaTeX mode.
 @end ignore
 @noindent @b{Version 4.17}
 @itemize @bullet
-@item 
+@item
 The toc window can be split off horizontally.  See new options
 @code{reftex-toc-split-windows-horizontally},
 @code{reftex-toc-split-windows-horizontally-fraction}.
index 150145dfad1a778d14b341386596cf127738a57c..9e6db0b9df525849da4302672930b842a8cf2181 100644 (file)
@@ -94,7 +94,7 @@ changed).  @kbd{C-x s} is a good enough way to do this
 @section Scrolling Within a Message
 
   When Rmail displays a message that does not fit on the screen, you
-must scroll through it to read the rest.  You could do this with 
+must scroll through it to read the rest.  You could do this with
 @kbd{C-v}, @kbd{M-v} and @kbd{M-<}, but in Rmail scrolling is so
 frequent that it deserves to be easier to type.
 
index c702c9fb9cfb4e6f7b7db7b683309d451061b6a0..c9f03d8f90676ff286736f485e2b3ad70fb8f8ef 100644 (file)
@@ -41,7 +41,7 @@ license to the document, as described in section 6 of the license.
 
 @dircategory Emacs
 @direntry
-* SC: (sc).            Supercite lets you cite parts of messages you're 
+* SC: (sc).            Supercite lets you cite parts of messages you're
                          replying to, in flexible ways.
 @end direntry
 
@@ -1178,7 +1178,7 @@ Executing @code{sc-cite-original} performs the following steps as it
 initializes the reply buffer:
 
 @enumerate
-@item 
+@item
 @vindex sc-pre-hook
 @vindex pre-hook (sc-)
 @emph{Runs @code{sc-pre-hook}.}
@@ -1222,7 +1222,7 @@ Supercite sets an undo boundary before it begins to modify the original
 yanked text.  This allows you to easily undo Supercite's changes to
 affect alternative citing styles.
 
-@item 
+@item
 @emph{Processes the mail headers.}
 @vindex sc-confirm-always-p
 @vindex confirm-always-p (sc-)
@@ -1275,7 +1275,7 @@ Once the mail headers have been processed, Supercite selects a
 attribution string and a citation string which it will use to cite the
 original message.  @xref{Selecting an Attribution}, for details.
 
-@item 
+@item
 @emph{Cites the message body.}
 @vindex sc-cite-region-limit
 @vindex cite-region-limit (sc-)b
@@ -1316,7 +1316,7 @@ wouldn't encounter them all anyway.  But you can configure Supercite to
 recognize those styles you see often.
 @xref{Configuring the Citation Engine}, for details.@refill
 
-@item 
+@item
 @emph{Runs @code{sc-post-hook}.}
 @vindex sc-post-hook
 @vindex post-hook (sc-)
@@ -1581,7 +1581,7 @@ Use the last selected attribution, if there is one.
 @item
 Use the value of the @code{"x-attribution"} key.
 
-@item 
+@item
 Use the author's first name.
 
 @item
@@ -1590,11 +1590,11 @@ Use the author's last name.
 @item
 Use the author's initials.
 
-@item 
+@item
 Find the first non-@code{nil}, non-empty attribution string in the
 attribution alist.
 
-@item 
+@item
 @code{sc-default-attribution} is used.
 @end enumerate
 
@@ -2135,7 +2135,7 @@ together is bound on @kbd{C-c C-p C-p}.@refill
 
 Finally, the command @kbd{C-c C-p C-t h} (also @kbd{C-c C-p C-t ?})
 brings up a Help message on the toggling keymap.
-  
+
 
 @node  Mail Field Commands, Miscellaneous Commands, Variable Toggling Shortcuts, Post-yank Formatting Commands
 @comment  node-name,  next,  previous,  up
@@ -2299,7 +2299,7 @@ setting up a reply or forward buffer, your MUA should follow these
 steps:
 
 @enumerate
-@item 
+@item
 Insert the original message, including the mail headers into the reply
 buffer. At this point you should not modify the raw text in any way, and
 you should place all the original headers into the body of the reply.
@@ -2307,7 +2307,7 @@ This means that many of the mail headers will be duplicated, one copy
 above the @code{mail-header-separator} line and one copy below,
 however there will probably be more headers below this line.@refill
 
-@item 
+@item
 Set @samp{point} to the beginning of the line containing the first mail
 header in the body of the reply. Set @samp{mark} at the end of the
 message text.  It is very important that the region be set around the
@@ -2319,7 +2319,7 @@ Emacs 19, the region need not be set active.  Supercite will work
 properly when the region is inactive, as should any other like-minded
 package.@refill
 
-@item 
+@item
 Run the hook @code{mail-citation-hook}. You will probably want to
 provide some kind of default citation functions in cases where the user
 does not have Supercite installed.  By default, your MUA should
index fc364d860718899515f475b1f0008a16aee50c1c..2f5b66936be5c7a079aeba7d5fa9d412c75f611c 100644 (file)
@@ -107,7 +107,7 @@ for accessing the value now called ``point.''
 @node Echo Area
 @section The Echo Area
 @cindex echo area
-@c 
+@c
 
   The line at the bottom of the frame (below the mode line) is the
 @dfn{echo area}.  It is used to display small amounts of text for
index b0a1cfc3e72c966e47b5cfd42f2f000d24fcca54..35b3020e628c11a111250c30d898fcacebb5ec95 100644 (file)
 %   ftp://tug.org/tex/texinfo.tex
 %     (and all CTAN mirrors, see http://www.ctan.org),
 %   and /home/gd/gnu/doc/texinfo.tex on the GNU machines.
-% 
+%
 % The texinfo.tex in any given Texinfo distribution could well be out
 % of date, so if that's what you're using, please check.
-% 
+%
 % Texinfo has a small home page at http://texinfo.org/ and also
 % http://www.gnu.org/software/texinfo.
 %
 
 % add check for \lastpenalty to plain's definitions.  If the last thing
 % we did was a \nobreak, we don't want to insert more space.
-% 
+%
 \def\smallbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\smallskipamount
   \removelastskip\penalty-50\smallskip\fi\fi}
 \def\medbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\medskipamount
@@ -730,10 +730,10 @@ where each line of input produces a line of output.}
 % @inmargin{TEXT [, RIGHT-TEXT]}
 % (if RIGHT-TEXT is given, use TEXT for left page, RIGHT-TEXT for right;
 % else use TEXT for both).
-% 
+%
 \def\inmargin#1{\parseinmargin #1,,\finish}
 \def\parseinmargin#1,#2,#3\finish{% not perfect, but better than nothing.
-  \setbox0 = \hbox{\ignorespaces #2}% 
+  \setbox0 = \hbox{\ignorespaces #2}%
   \ifdim\wd0 > 0pt
     \def\lefttext{#1}%  have both texts
     \def\righttext{#2}%
@@ -797,7 +797,7 @@ where each line of input produces a line of output.}
 % @paragraphindent NCHARS
 % We'll use ems for NCHARS, close enough.
 % We cannot implement @paragraphindent asis, though.
-% 
+%
 \def\asisword{asis} % no translation, these are keywords
 \def\noneword{none}
 %
@@ -840,7 +840,7 @@ where each line of input produces a line of output.}
 % We don't use $'s directly in the definition of \math because we need
 % to set catcodes according to plain TeX first, to allow for subscripts,
 % superscripts, special math chars, etc.
-% 
+%
 % @math does not do math typesetting in section titles, index
 % entries, and other such contexts where the catcodes are set before
 % @math gets a chance to work.  This could perhaps be fixed, but for now
@@ -852,7 +852,7 @@ where each line of input produces a line of output.}
 % an actual _ character, as in @math{@var{some_variable} + 1}.  So make
 % _ within @math be active (mathcode "8000), and distinguish by seeing
 % if the current family is \slfam, which is what @var uses.
-% 
+%
 {\catcode95 = \active  % 95 = _
 \gdef\mathunderscore{%
   \catcode95=\active
@@ -863,7 +863,7 @@ where each line of input produces a line of output.}
 % FYI, plain.tex uses \\ as a temporary control sequence (why?), but
 % this is not advertised and we don't care.  Texinfo does not
 % otherwise define @\.
-% 
+%
 % The \mathchar is class=0=ordinary, family=7=ttfam, position=5C=\.
 \def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi}
 %
@@ -986,11 +986,11 @@ where each line of input produces a line of output.}
   \def\pdfmakeoutlines{{%
     \openin 1 \jobname.toc
     \ifeof 1\else\begingroup
-      \closein 1 
+      \closein 1
       \indexnofonts
       \def\tt{}
       \let\_ = \normalunderscore
-      % Thanh's hack / proper braces in bookmarks  
+      % Thanh's hack / proper braces in bookmarks
       \edef\mylbrace{\iftrue \string{\else}\fi}\let\{=\mylbrace
       \edef\myrbrace{\iffalse{\else\string}\fi}\let\}=\myrbrace
       %
@@ -1032,7 +1032,7 @@ where each line of input produces a line of output.}
       \let\nextmakelinks=\makelinks
       \ifnum\lnkcount>0,\fi
       \picknum{#1}%
-      \startlink attr{/Border [0 0 0]} 
+      \startlink attr{/Border [0 0 0]}
         goto name{\pdfmkpgn{\the\pgn}}%
       \linkcolor #1%
       \advance\lnkcount by 1%
@@ -1087,7 +1087,7 @@ where each line of input produces a line of output.}
     \ifx\first0\adn0
     \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3
     \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6
-    \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9 
+    \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9
     \else
       \ifnum0=\countA\else\makelink\fi
       \ifx\first.\let\next=\done\else
@@ -1521,7 +1521,7 @@ where each line of input produces a line of output.}
 
 % rms does not like angle brackets --karl, 17may97.
 % So now @email is just like @uref, unless we are pdf.
-% 
+%
 %\def\email#1{\angleleft{\tt #1}\angleright}
 \ifpdf
   \def\email#1{\doemail#1,,\finish}
@@ -2742,10 +2742,10 @@ width0pt\relax} \fi
 
 % @synindex foo bar    makes index foo feed into index bar.
 % Do this instead of @defindex foo if you don't want it as a separate index.
-% 
+%
 % @syncodeindex foo bar   similar, but put all entries made for index foo
 % inside @code.
-% 
+%
 \def\synindex#1 #2 {\dosynindex\doindex{#1}{#2}}
 \def\syncodeindex#1 #2 {\dosynindex\docodeindex{#1}{#2}}
 
@@ -2787,13 +2787,13 @@ width0pt\relax} \fi
 % Take care of texinfo commands likely to appear in an index entry.
 % (Must be a way to avoid doing expansion at all, and thus not have to
 % laboriously list every single command here.)
-% 
+%
 \def\indexdummies{%
 \def\ { }%
 \def\@{@}% change to @@ when we switch to @ as escape char in aux files.
 % Need these in case \tex is in effect and \{ is a \delimiter again.
 % But can't use \lbracecmd and \rbracecmd because texindex assumes
-% braces and backslashes are used only as delimiters.  
+% braces and backslashes are used only as delimiters.
 \let\{ = \mylbrace
 \let\} = \myrbrace
 \def\_{{\realbackslash _}}%
@@ -3348,7 +3348,7 @@ width0pt\relax} \fi
   \wd0=\hsize \wd2=\hsize
   \hbox to\pagewidth{\box0\hfil\box2}%
 }
-% 
+%
 % All done with double columns.
 \def\enddoublecolumns{%
   \output = {%
@@ -4149,7 +4149,7 @@ width0pt\relax} \fi
 % @foo ... @end foo.
 
 % @point{}, @result{}, @expansion{}, @print{}, @equiv{}.
-% 
+%
 % Since these characters are used in examples, it should be an even number of
 % \tt widths. Each \tt character is 1en, so two makes it 1em.
 %
@@ -4161,7 +4161,7 @@ width0pt\relax} \fi
 
 % The @error{} command.
 % Adapted from the TeXbook's \boxit.
-% 
+%
 \newbox\errorbox
 %
 {\tentt \global\dimen0 = 3em}% Width of the box.
@@ -4469,7 +4469,7 @@ width0pt\relax} \fi
 
 
 % LaTeX-like @verbatim...@end verbatim and @verb{<char>...<char>}
-% If we want to allow any <char> as delimiter, 
+% If we want to allow any <char> as delimiter,
 % we need the curly braces so that makeinfo sees the @verb command, eg:
 % `@verbx...x' would look like the '@verbx' command.  --janneke@gnu.org
 %
@@ -4543,8 +4543,8 @@ width0pt\relax} \fi
   \everypar{\starttabbox}%
 }
 
-% Do the @verb magic: verbatim text is quoted by unique 
-% delimiter characters.  Before first delimiter expect a 
+% Do the @verb magic: verbatim text is quoted by unique
+% delimiter characters.  Before first delimiter expect a
 % right brace, after last delimiter expect closing brace:
 %
 %    \def\doverb'{'<char>#1<char>'}'{#1}
@@ -4563,7 +4563,7 @@ width0pt\relax} \fi
 %
 %     \def\doverbatim#1@end verbatim{#1}
 %
-% For Texinfo it's a lot easier than for LaTeX, 
+% For Texinfo it's a lot easier than for LaTeX,
 % because texinfo's \verbatim doesn't stop at '\end{verbatim}':
 % we need not redefine '\', '{' and '}'
 %
@@ -4621,7 +4621,7 @@ width0pt\relax} \fi
 
 % @copying ... @end copying.
 % Save the text away for @insertcopying later.
-% 
+%
 \newbox\copyingbox
 %
 \def\copying{\begingroup
@@ -4631,7 +4631,7 @@ width0pt\relax} \fi
 }
 
 % @insertcopying.
-% 
+%
 \def\insertcopying{\unvcopy\copyingbox}
 
 
@@ -4734,7 +4734,7 @@ width0pt\relax} \fi
 % #1 is the \E... control sequence to end the definition (which we define).
 % #2 is the \...x control sequence (which our caller defines).
 % #3 is the control sequence to process the header, such as \defunheader.
-% 
+%
 \def\parsebodycommon#1#2#3{%
   \begingroup\inENV
   % If there are two @def commands in a row, we'll have a \nobreak,
@@ -4791,7 +4791,7 @@ width0pt\relax} \fi
 % to account for this both in the \...x definition and in parsing the
 % input at hand.  Thus also need a control sequence (passed as #5) for
 % the \E... definition to assign the category name to.
-% 
+%
 \def\deftypeopparsebody#1#2#3#4#5 #6 {%
   \parsebodycommon{#1}{#2}{#3}%
   \def#2##1 ##2 ##3 {%
@@ -5148,7 +5148,7 @@ width0pt\relax} \fi
 
 % These definitions are used if you use @defunx (etc.)
 % anywhere other than immediately after a @defun or @defunx.
-% 
+%
 \def\defcvx#1 {\errmessage{@defcvx in invalid context}}
 \def\deffnx#1 {\errmessage{@deffnx in invalid context}}
 \def\defivarx#1 {\errmessage{@defivarx in invalid context}}
@@ -5949,7 +5949,7 @@ width0pt\relax} \fi
     \nobreak\bigskip
     % Usually we'll have text after the image which will insert
     % \parskip glue, so insert it here too to equalize the space
-    % above and below. 
+    % above and below.
     \nobreak\vskip\parskip
     \nobreak
     \line\bgroup\hss
@@ -6065,7 +6065,7 @@ should work if nowhere else does.}
 }
 
 % Use `small' versions.
-% 
+%
 \def\smallenvironments{%
   \let\smalldisplay = \smalldisplayx
   \let\smallexample = \smalllispx
@@ -6322,7 +6322,7 @@ should work if nowhere else does.}
 % Say @foo, not \foo, in error messages.
 @escapechar = `@@
 
-% These look ok in all fonts, so just make them not special.  
+% These look ok in all fonts, so just make them not special.
 @catcode`@& = @other
 @catcode`@# = @other
 @catcode`@% = @other
index d80cb087a8fe42d8153361f9cc9980baa131c35f..08b9e625b3c7eac806ae374e0c8af0520dc0641b 100644 (file)
@@ -918,7 +918,7 @@ the hook @code{outline-mode-hook} (@pxref{Hooks}).
 @menu
 * Format: Outline Format.         What the text of an outline looks like.
 * Motion: Outline Motion.         Special commands for moving through
-                                     outlines. 
+                                     outlines.
 * Visibility: Outline Visibility.  Commands to control what is visible.
 * Views: Outline Views.            Outlines and multiple views.
 * Foldout::                        Folding editing.
@@ -1060,7 +1060,7 @@ Make the body of this heading line, and of all its subheadings,
 invisible (@code{hide-leaves}).
 @item C-c C-k
 Make all subheadings of this heading line, at all levels, visible
-(@code{show-branches}). 
+(@code{show-branches}).
 @item C-c C-i
 Make immediate subheadings (one level down) of this heading line
 visible (@code{show-children}).
@@ -1847,7 +1847,7 @@ contains a list of ideas for future enhancements.
 * Color: Format Colors.         Changing the color of text.
 * Indent: Format Indentation.   Changing the left and right margins.
 * Justification: Format Justification.
-                                Centering, setting text flush with the 
+                                Centering, setting text flush with the
                                   left or right margin, etc.
 * Other: Format Properties.     The "special" text properties submenu.
 * Forcing Enriched Mode::       How to force use of Enriched mode.
@@ -2146,7 +2146,7 @@ Prefix}.
 
 @node Format Justification
 @subsection Justification in Formatted Text
-            
+
   When editing formatted text, you can specify various styles of
 justification for a paragraph.  The style you specify automatically
 affects the Emacs fill commands.
@@ -2218,7 +2218,7 @@ region.
   The default justification style is specified by the variable
 @code{default-justification}.  Its value should be one of the symbols
 @code{left}, @code{right}, @code{full}, @code{center}, or @code{none}.
-         
+
 @node Format Properties
 @subsection Setting Other Text Properties
 
@@ -2258,7 +2258,7 @@ When you @emph{insert} a file into a buffer, rather than visiting it.
 Emacs does the necessary conversions on the text which you insert, but
 it does not enable Enriched mode.  If you wish to do that, type @kbd{M-x
 enriched-mode}.
-@end itemize 
+@end itemize
 
   The command @code{format-decode-buffer} translates text in various
 formats into Emacs's internal format.  It asks you to specify the format
index 93cba2fea17226afa84cf06533137b72cf01ad79..de819e9c4542e33e850ba257f5645e365d507646 100644 (file)
@@ -67,7 +67,7 @@
 Copyright @copyright{} 1999, 2000, 2001, 2002 Free Software
 Foundation, Inc.
 
-@quotation     
+@quotation
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.1 or
 any later version published by the Free Software Foundation; with no
@@ -1202,7 +1202,7 @@ Example:
 
 @defun tramp-set-completion-function method function-list
 This function sets @var{function-list} as list of completion functions
-for @var{method}. 
+for @var{method}.
 
 Example:
 @example
@@ -1620,7 +1620,7 @@ If you, for example, type @kbd{C-x C-f @value{tramp-prefix}t
 @value{tramp-prefix-single-hop}telnet@value{tramp-postfix-single-hop}                             @value{tramp-prefix-single-hop}toto@value{tramp-postfix}
 @end ifset
 @end example
-     
+
 @samp{@value{tramp-prefix-single-hop}telnet@value{tramp-postfix-single-hop}}
 is a possible completion for the respective method,
 @ifset emacs
@@ -1898,7 +1898,7 @@ operations on files accessed via @tramp{}.
 
 In the case of a remote file, the @code{shell-command} interface is
 used, with some wrapper code, to provide the same functionality on the
-remote machine as would be seen on the local machine. 
+remote machine as would be seen on the local machine.
 
 
 @node Changed workfiles
index 510176560f6617748e32e73f54fd166466625bde..737fcf12fb0fa54e06d9ce8fa6b1a2e0c426d1bf 100644 (file)
@@ -818,7 +818,7 @@ To make Lisp errors stop Emacs and return to GDB, put a breakpoint at
 @code{Fsignal}.
 
 For a short listing of Lisp functions running, type the GDB
-command @code{xbacktrace}.  
+command @code{xbacktrace}.
 
 The file @file{.gdbinit} defines several other commands that are useful
 for examining the data types and contents of Lisp objects.  Their names
index 6a977029e29fcc0b84a6398dcda956fcb91d3eb3..fc34eacc8654772a6243479e239de1a0df58b26b 100644 (file)
@@ -1750,7 +1750,7 @@ Place a copy of specified lines after @var{addr}.  If @var{addr} is
 @item (.,.@:) d[elete] @var{register} @var{count} @var{flags}
 Delete specified lines.  Text will be saved in a named @var{register} if a
 lower-case letter is given, and appended to a register if a capital letter is
-given. 
+given.
 @item e[dit] !@: +@var{addr} @var{file}
 @itemx e[x] !@: +@var{addr} @var{file}
 @itemx vi[sual] !@: +@var{addr} @var{file}
index 88387c1f91963e86d9a3b30e4e65e763a9db7396..a5b102acd5683adf14d86221b6903b46f45d651f 100644 (file)
@@ -1194,7 +1194,7 @@ way to do this is to use Emacs customization widget, which is accessible
 from the menubar.  Viper customization group is located under the
 @emph{Emulations} customization group, which in turn is under the
 @emph{Editing} group (or simply by typing @kbd{:customize}).  All Viper
-faces are grouped together under Viper's 
+faces are grouped together under Viper's
 @emph{Highlighting} group.
 
 Try it: it is really simple!
@@ -1748,7 +1748,7 @@ defined in the low-level key-translation-map or function-key-map, such as those
 emitted by the arrow and function keys. Other sequences, e.g., @kbd{\\e/}, are
 treated as @kbd{ESC} command followed by a @kbd{/}. This is good for people
 who type fast and tend to hit other characters right after they hit
-ESC. Other people like Emacs to translate @kbd{ESC} sequences all the time. 
+ESC. Other people like Emacs to translate @kbd{ESC} sequences all the time.
 The default is to translate all sequences only when using a dumb terminal.
 This permits you to use @kbd{ESC} as a meta key in insert mode. For instance,
 hitting @kbd{ESC x} fast would have the effect of typing @kbd{M-x}.
@@ -2035,7 +2035,7 @@ If you wish to change a Viper binding, you can use the
 @code{viper-insert-global-user-map}, and @code{viper-emacs-global-user-map}, as
 explained below.  Each of these key maps affects the corresponding Viper state.
 The keymap @code{viper-insert-global-user-map} also affects Viper's Replace
-state. 
+state.
 
 @noindent
 If you want to
@@ -2219,7 +2219,7 @@ means that bindings set by those modes are generally available with Viper
 @code{viper-want-emacs-keys-in-vi} and @code{viper-want-emacs-keys-in-insert} to
 @code{nil}).
 If @code{viper-always} is set to @code{t} (which is the default), Viper
-will try to bring each buffer 
+will try to bring each buffer
 in the Viper state that is most appropriate for that buffer.
 Usually, this would be the Vi state, but sometimes it could be the Insert
 state or the Emacs state.
@@ -2661,7 +2661,7 @@ This variable controls the rate at which double-clicking must occur for the
 purpose of mouse search and mouse insert.  By default, this is set to
 @code{double-click-time} in Emacs and to
 @code{mouse-track-multi-click-time} milliseconds in XEmacs.
-@end table        
+@end table
 @kindex @kbd{S-Mouse-1}
 @kindex @kbd{S-Mouse-2}
 @kindex @kbd{meta shift button1up}
@@ -2731,7 +2731,7 @@ the meaning of key sequences: keys typed in fast succession are treated
 specially, if this key sequence is bound to a macro.
 
 Viper provides Vi-style keyboard macros through the usual Ex commands,
-@kbd{:map} and 
+@kbd{:map} and
 @kbd{:map!}.  These macros are much more powerful in Viper than
 they are in the original Vi and in other emulators.  This is because Viper
 implements an enhanced vi-style
@@ -4044,8 +4044,8 @@ Obsolete
 @item :args
 List files not shown anywhere with counts for next
 @item :n [count]  [+<cmd>] [<files>]
-Edit <count> file, or edit files.  The count comes from @kbd{:args}.  
-@item :N [count] [+<cmd>] [<files>] 
+Edit <count> file, or edit files.  The count comes from @kbd{:args}.
+@item :N [count] [+<cmd>] [<files>]
 Like @kbd{:n}, but the meaning of the variable
 @var{ex-cycle-other-window} is reversed.
 @item :b
index 0a8b0f4b8c36cff560ca50caba9ead4799939825..d1d7bae031565f2b0788700dc3a09f3a75163eae 100644 (file)
@@ -44,18 +44,18 @@ Software Foundation raise funds for GNU development.''
 @top The Emacs Widget Library
 
 @menu
-* Introduction::                
-* User Interface::              
-* Programming Example::         
-* Setting Up the Buffer::       
-* Basic Types::                 
-* Sexp Types::                  
-* Widget Properties::           
-* Defining New Widgets::        
-* Widget Browser::              
-* Widget Minor Mode::           
-* Utilities::                   
-* Widget Wishlist::             
+* Introduction::
+* User Interface::
+* Programming Example::
+* Setting Up the Buffer::
+* Basic Types::
+* Sexp Types::
+* Widget Properties::
+* Defining New Widgets::
+* Widget Browser::
+* Widget Minor Mode::
+* Utilities::
+* Widget Wishlist::
 * Index::
 @end menu
 
@@ -78,7 +78,7 @@ The basic widgets are:
 @item link
 Areas of text with an associated action.  Intended for hypertext links
 embedded in text.
-@item push-button 
+@item push-button
 Like link, but intended for stand-alone buttons.
 @item editable-field
 An editable text field.  It can be either variable or fixed length.
@@ -92,14 +92,14 @@ buttons.  The options are implemented as widgets.  All options will be
 visible in the buffer.
 @item item
 A simple constant widget intended to be used in the @code{menu-choice} and
-@code{radio-button-choice} widgets. 
+@code{radio-button-choice} widgets.
 @item choice-item
 A button item only intended for use in choices.  When invoked, the user
 will be asked to select another option from the choice widget.
 @item toggle
 A simple @samp{on}/@samp{off} switch.
 @item checkbox
-A checkbox (@samp{[ ]}/@samp{[X]}). 
+A checkbox (@samp{[ ]}/@samp{[X]}).
 @item editable-list
 Create an editable list.  The user can insert or delete items in the
 list.  Each list item is itself a widget.
@@ -112,7 +112,7 @@ supposed to fill out a number of fields, each of which has a specific
 meaning.  The user is not supposed to change or delete any of the text
 between the fields.  Examples of forms in Emacs are the @file{forms}
 package (of course), the customize buffers, the mail and news compose
-modes, and the @sc{html} form support in the @file{w3} browser.  
+modes, and the @sc{html} form support in the @file{w3} browser.
 
 @cindex widget library, why use it
 The advantages for a programmer of using the @code{widget} package to
@@ -120,21 +120,21 @@ implement forms are:
 
 @enumerate
 @item
-More complex fields than just editable text are supported. 
+More complex fields than just editable text are supported.
 @item
 You can give the users immediate feedback if they enter invalid data in a
 text field, and sometimes prevent entering invalid data.
-@item 
+@item
 You can have fixed sized fields, thus allowing multiple fields to be
 lined up in columns.
 @item
-It is simple to query or set the value of a field. 
-@item 
+It is simple to query or set the value of a field.
+@item
 Editing happens in the buffer, not in the mini-buffer.
-@item 
+@item
 Packages using the library get a uniform look, making them easier for
 the user to learn.
-@item 
+@item
 As support for embedded graphics improve, the widget library will be
 extended to use the GUI features.  This means that your code using the
 widget library will also use the new graphic features automatically.
@@ -147,7 +147,7 @@ create any widgets, the code has been split in two files:
 @table @file
 @item widget.el
 This will declare the user variables, define the function
-@code{define-widget}, and autoload the function @code{widget-create}. 
+@code{define-widget}, and autoload the function @code{widget-create}.
 @item wid-edit.el
 Everything else is here, there is no reason to load it explicitly, as
 it will be autoloaded when needed.
@@ -177,7 +177,7 @@ Numbers: count to three below
 @b{[INS]} @b{[DEL]} @i{One}
 @b{[INS]} @b{[DEL]} @i{Eh, two?}
 @b{[INS]} @b{[DEL]} @i{Five!}
-@b{[INS]} 
+@b{[INS]}
 
 Select multiple:
 
@@ -258,7 +258,7 @@ field.  Option fields are created by the @code{menu-choice} widget.  In
 the example, @samp{@b{Choose}} is an option field tag.
 @item The @samp{@b{[INS]}} and @samp{@b{[DEL]}} buttons
 Activating these will insert or delete elements from an editable list.
-The list is created by the @code{editable-list} widget. 
+The list is created by the @code{editable-list} widget.
 @cindex embedded buttons
 @item Embedded Buttons
 The @samp{@b{_other work_}} is an example of an embedded
@@ -280,7 +280,7 @@ main difference from the @code{link} widget is that the buttons will be
 displayed as GUI buttons when possible.
 @end table
 
-To make them easier to locate, buttons are emphasized in the buffer.  
+To make them easier to locate, buttons are emphasized in the buffer.
 
 @deffn Face widget-button-face
 Face used for buttons.
@@ -352,11 +352,11 @@ Interface}).
   (widget-insert "\nSee also ")
   (widget-create 'link
                 :notify (lambda (&rest ignore)
-                          (widget-value-set widget-example-repeat 
+                          (widget-value-set widget-example-repeat
                                             '("En" "To" "Tre"))
                           (widget-setup))
                 "other work")
-  (widget-insert 
+  (widget-insert
     " for more information.\n\nNumbers: count to three below\n")
   (setq widget-example-repeat
        (widget-create 'editable-list
@@ -387,7 +387,7 @@ Interface}).
                 '(item "One") '(item "Another One.") '(item "A Final One."))
   (widget-insert "\n")
   (widget-create 'push-button
-                :notify (lambda (&rest ignore) 
+                :notify (lambda (&rest ignore)
                           (if (= (length (widget-value widget-example-repeat))
                                  3)
                               (message "Congratulation!")
@@ -425,8 +425,8 @@ that are part of @var{type}.
 Delete @var{widget} and remove it from the buffer.
 @end defun
 
-@defun widget-setup 
-Set up a buffer to support widgets. 
+@defun widget-setup
+Set up a buffer to support widgets.
 
 This should be called after creating all the widgets and before allowing
 the user to edit them.
@@ -436,7 +436,7 @@ the user to edit them.
 If you want to insert text outside the widgets in the form, the
 recommended way to do that is with @code{widget-insert}.
 
-@defun widget-insert 
+@defun widget-insert
 Insert the arguments, either strings or characters, at point.
 The inserted text will be read-only.
 @end defun
@@ -492,7 +492,7 @@ The following @samp{%} escapes are available:
 The text inside will be marked as a button.
 
 By default, the text will be shown in @code{widget-button-face}, and
-surrounded by brackets. 
+surrounded by brackets.
 
 @defopt widget-button-prefix
 String to prefix buttons.
@@ -505,7 +505,7 @@ String to suffix buttons.
 @item %@{
 @itemx %@}
 The text inside will be displayed with the face specified by
-@code{:sample-face}. 
+@code{:sample-face}.
 
 @item %v
 This will be replaced with the buffer representation of the widget's
@@ -528,7 +528,7 @@ Insert the string specified by @code{:tag} here, or the @code{princ}
 representation of the value if there is no tag.
 
 @item %%
-Insert a literal @samp{%}. 
+Insert a literal @samp{%}.
 @end table
 
 @vindex button-face@r{ keyword}
@@ -556,12 +556,12 @@ The value of the symbol is expanded according to this table.
 @vindex doc@r{ keyword}
 @item :doc
 The string inserted by the @samp{%d} escape in the format
-string.  
+string.
 
 @vindex tag@r{ keyword}
 @item :tag
 The string inserted by the @samp{%t} escape in the format
-string.  
+string.
 
 @vindex tag-glyph@r{ keyword}
 @item :tag-glyph
@@ -597,7 +597,7 @@ A function called each time the widget or a nested widget is changed.
 The function is called with two or three arguments.  The first argument
 is the widget itself, the second argument is the widget that was
 changed, and the third argument is the event leading to the change, if
-any. 
+any.
 
 @vindex menu-tag@r{ keyword}
 @item :menu-tag
@@ -639,7 +639,7 @@ implemented.
 @item
 Widgets with tabbing order @code{-1} are ignored.
 
-@item 
+@item
 (Unimplemented) When on a widget with tabbing order @var{n}, go to the
 next widget in the buffer with tabbing order @var{n+1} or @code{nil},
 whichever comes first.
@@ -664,7 +664,7 @@ arguments, which will be used when creating the @code{radio-button} or
 @end table
 
 @deffn {User Option} widget-glyph-directory
-Directory where glyphs are found.  
+Directory where glyphs are found.
 Widget will look here for a file with the same name as specified for the
 image, with either a @file{.xpm} (if supported) or @file{.xbm} extension.
 @end deffn
@@ -675,21 +675,21 @@ If non-nil, allow glyphs to appear on displays where they are supported.
 
 
 @menu
-* link::                        
-* url-link::                    
-* info-link::                   
-* push-button::                 
-* editable-field::              
-* text::                        
-* menu-choice::                 
-* radio-button-choice::         
-* item::                        
-* choice-item::                 
-* toggle::                      
-* checkbox::                    
-* checklist::                   
-* editable-list::               
-* group::                       
+* link::
+* url-link::
+* info-link::
+* push-button::
+* editable-field::
+* text::
+* menu-choice::
+* radio-button-choice::
+* item::
+* choice-item::
+* toggle::
+* checkbox::
+* checklist::
+* editable-list::
+* group::
 @end menu
 
 @node link, url-link, Basic Types, Basic Types
@@ -705,7 +705,7 @@ TYPE ::= (link [KEYWORD ARGUMENT]...  [ VALUE ])
 
 The @var{value}, if present, is used to initialize the @code{:value}
 property.  The value should be a string, which will be inserted in the
-buffer. 
+buffer.
 
 By default the link will be shown in brackets.
 
@@ -730,7 +730,7 @@ TYPE ::= (url-link [KEYWORD ARGUMENT]...  URL)
 
 @findex browse-url-browser-function@r{, and @code{url-link} widget}
 When this link is invoked, the @sc{www} browser specified by
-@code{browse-url-browser-function} will be called with @var{url}. 
+@code{browse-url-browser-function} will be called with @var{url}.
 
 @node info-link, push-button, url-link, Basic Types
 @comment  node-name,  next,  previous,  up
@@ -744,7 +744,7 @@ TYPE ::= (info-link [KEYWORD ARGUMENT]...  ADDRESS)
 @end example
 
 When this link is invoked, the built-in Info reader is started on
-@var{address}. 
+@var{address}.
 
 @node  push-button, editable-field, info-link, Basic Types
 @comment  node-name,  next,  previous,  up
@@ -759,7 +759,7 @@ TYPE ::= (push-button [KEYWORD ARGUMENT]...  [ VALUE ])
 
 The @var{value}, if present, is used to initialize the @code{:value}
 property.  The value should be a string, which will be inserted in the
-buffer. 
+buffer.
 
 By default the tag will be shown in brackets.
 
@@ -797,7 +797,7 @@ By default the field will reach to the end of the line.
 @vindex value-face@r{ keyword}
 @item :value-face
 Face used for highlighting the editable field.  Default is
-@code{widget-field-face}, see @ref{User Interface}. 
+@code{widget-field-face}, see @ref{User Interface}.
 
 @vindex secret@r{ keyword}
 @item :secret
@@ -849,7 +849,7 @@ arguments.
 
 @table @code
 @vindex void@r{ keyword}
-@item :void 
+@item :void
 Widget type used as a fallback when the value does not match any of the
 specified @var{type} arguments.
 
@@ -868,8 +868,8 @@ type in the buffer.
 The current chosen type.
 
 @vindex args@r{ keyword}
-@item :args 
-The list of types. 
+@item :args
+The list of types.
 @end table
 
 @node radio-button-choice, item, menu-choice, Basic Types
@@ -901,7 +901,7 @@ Replace with the buffer representation of the @var{type} widget.
 @item %b
 Replace with the radio button.
 @item %%
-Insert a literal @samp{%}. 
+Insert a literal @samp{%}.
 @end table
 
 @vindex button-args@r{ keyword}
@@ -922,13 +922,13 @@ The widgets representing each type.
 The current chosen type
 
 @vindex args@r{ keyword}
-@item :args 
-The list of types. 
+@item :args
+The list of types.
 @end table
 
 You can add extra radio button items to a @code{radio-button-choice}
 widget after it has been created with the function
-@code{widget-radio-add-item}. 
+@code{widget-radio-add-item}.
 
 @defun widget-radio-add-item widget type
 Add to @code{radio-button-choice} widget @var{widget} a new radio button
@@ -969,7 +969,7 @@ The @var{value}, if present, is used to initialize the @code{:value}
 property.  The value should be a string, which will be inserted in the
 buffer as a button.  Activating the button of a @code{choice-item} is
 equivalent to activating the parent widget.  This widget will only match
-the specified value. 
+the specified value.
 
 @node toggle, checkbox, choice-item, Basic Types
 @comment  node-name,  next,  previous,  up
@@ -991,7 +991,7 @@ The following extra properties are recognized:
 @item :on
 A string representing the @samp{on} state.  By default the string
 @samp{on}.
-@item :off 
+@item :off
 A string representing the @samp{off} state.  By default the string
 @samp{off}.
 @vindex on-glyph@r{ keyword}
@@ -1047,7 +1047,7 @@ Replaced with the buffer representation of the @var{type} widget.
 @item %b
 Replace with the checkbox.
 @item %%
-Insert a literal @samp{%}. 
+Insert a literal @samp{%}.
 @end table
 
 @vindex greedy@r{ keyword}
@@ -1072,8 +1072,8 @@ The widgets representing the checkboxes.
 The widgets representing each type.
 
 @vindex args@r{ keyword}
-@item :args 
-The list of types. 
+@item :args
+The list of types.
 @end table
 
 @node editable-list, group, checklist, Basic Types
@@ -1088,7 +1088,7 @@ TYPE ::= (editable-list [KEYWORD ARGUMENT]... TYPE)
 @end example
 
 The value is a list, where each member represents one widget of type
-@var{type}. 
+@var{type}.
 
 The following extra properties are recognized:
 
@@ -1106,7 +1106,7 @@ Insert the @b{[INS]} button.
 @item %d
 Insert the @b{[DEL]} button.
 @item %%
-Insert a literal @samp{%}. 
+Insert a literal @samp{%}.
 @end table
 
 @vindex insert-button-args@r{ keyword}
@@ -1147,7 +1147,7 @@ Syntax:
 TYPE ::= (group [KEYWORD ARGUMENT]... TYPE...)
 @end example
 
-The value is a list, with one member for each @var{type}.  
+The value is a list, with one member for each @var{type}.
 
 @node Sexp Types, Widget Properties, Basic Types, Top
 @comment
@@ -1159,10 +1159,10 @@ for short, are also available.  These basically fall in several
 categories described in this section.
 
 @menu
-* constants::                   
-* generic::                     
-* atoms::                       
-* composite::                   
+* constants::
+* generic::
+* atoms::
+* composite::
 @end menu
 
 @node constants, generic, Sexp Types, Sexp Types
@@ -1185,7 +1185,7 @@ property and can be any s-expression.
 
 @deffn Widget const
 This will display any valid s-expression in an immutable part of the
-buffer. 
+buffer.
 @end deffn
 
 There are two variations of the @code{const} widget, namely
@@ -1218,7 +1218,7 @@ TYPE ::= (sexp [KEYWORD ARGUMENT]...  [ VALUE ])
 
 @deffn Widget sexp
 This will allow you to edit any valid s-expression in an editable buffer
-field. 
+field.
 
 The @code{sexp} widget takes the same keyword arguments as the
 @code{editable-field} widget.  @xref{editable-field}.
@@ -1262,7 +1262,7 @@ Allows you to enter a character in an editable field.
 @deffn Widget file
 Allows you to edit a file name in an editable field.  If you invoke
 the tag button, you can edit the file name in the mini-buffer with
-completion. 
+completion.
 
 Keywords:
 @table @code
@@ -1353,7 +1353,7 @@ specification:
                     string string)))
 @end example
 
-The value of a widget of this type will either have the form 
+The value of a widget of this type will either have the form
 @code{(file t)} or @code{(file string string)}.
 
 This concept of inline is probably hard to understand.  It was certainly
@@ -1403,7 +1403,7 @@ modifying the value of a widget before the user is allowed to edit the
 widget again.  It is enough to call @code{widget-setup} once if you
 modify multiple widgets.  This is currently only necessary if the widget
 contains an editing field, but may be necessary for other widgets in the
-future. 
+future.
 
 If your application needs to associate some information with the widget
 objects, for example a reference to the item being edited, it can be
@@ -1426,7 +1426,7 @@ Non-nil if @var{widget} has a value (even nil) for property @var{property}.
 @end defun
 
 Occasionally it can be useful to know which kind of widget you have,
-i.e.@: the name of the widget type you gave when the widget was created. 
+i.e.@: the name of the widget type you gave when the widget was created.
 
 @defun widget-type widget
 Return the name of @var{widget}, a symbol.
@@ -1459,7 +1459,7 @@ a widget is really active, you must therefore activate both it and
 all its ancestors.
 
 @lisp
-(while widget 
+(while widget
   (widget-apply widget :activate)
   (setq widget (widget-get widget :parent)))
 @end lisp
@@ -1482,13 +1482,13 @@ its ancestors have been deactivated.  Do not attempt to set the
 You can define specialized widgets with @code{define-widget}.  It allows
 you to create a shorthand for more complex widgets, including specifying
 component widgets and new default values for the keyword
-arguments. 
+arguments.
 
 @defun define-widget name class doc &rest args
 Define a new widget type named @var{name} from @code{class}.
 
 @var{name} and class should both be symbols, @code{class} should be one
-of the existing widget types. 
+of the existing widget types.
 
 The third argument @var{DOC} is a documentation string for the widget.
 
@@ -1517,14 +1517,14 @@ If you only want to specify defaults for keywords with no complex
 conversions, you can use @code{identity} as your conversion function.
 
 The following additional keyword arguments are useful when defining new
-widgets: 
+widgets:
 @table @code
 @vindex convert-widget@r{ keyword}
 @item :convert-widget
 Function to convert a widget type before creating a widget of that
 type.  It takes a widget type as an argument, and returns the converted
 widget type.  When a widget is created, this function is called for the
-widget type and all the widget's parent types, most derived first. 
+widget type and all the widget's parent types, most derived first.
 
 The following predefined functions can be used here:
 
@@ -1596,9 +1596,9 @@ Delete all @code{:children} and @code{:buttons} in @var{widget}.
 @end defun
 
 @vindex value-get@r{ keyword}
-@item :value-get 
+@item :value-get
 Function to extract the value of a widget, as it is displayed in the
-buffer. 
+buffer.
 
 The following predefined function can be used here:
 
@@ -1621,7 +1621,7 @@ escape sequences, as well as give an error for unknown escapes.
 @vindex action@r{ keyword}
 @item :action
 Function to handle user initiated events.  By default, @code{:notify}
-the parent. 
+the parent.
 
 The following predefined function can be used here:
 
@@ -1644,11 +1644,11 @@ for this widget, and does not have to check that it matches.
 If you want to define a new widget from scratch, use the @code{default}
 widget as its base.
 
-@deffn Widget default 
-Widget used as a base for other widgets. 
+@deffn Widget default
+Widget used as a base for other widgets.
 
 It provides most of the functionality that is referred to as ``by
-default'' in this text. 
+default'' in this text.
 @end deffn
 
 @node Widget Browser, Widget Minor Mode, Defining New Widgets, Top
@@ -1683,7 +1683,7 @@ When called interactively, use the position of point.
 
 There is a minor mode for manipulating widgets in major modes that
 don't provide any support for widgets themselves.  This is mostly
-intended to be useful for programmers doing experiments. 
+intended to be useful for programmers doing experiments.
 
 @deffn Command widget-minor-mode
 Toggle minor mode for traversing widgets.
@@ -1716,11 +1716,11 @@ This is only meaningful for radio buttons or checkboxes in a list.
 @cindex todo
 
 @itemize @bullet
-@item 
+@item
 It should be possible to add or remove items from a list with @kbd{C-k}
 and @kbd{C-o} (suggested by @sc{rms}).
 
-@item 
+@item
 The @samp{[INS]} and @samp{[DEL]} buttons should be replaced by a single
 dash (@samp{-}).  The dash should be a button that, when invoked, asks
 whether you want to add or delete an item (@sc{rms} wanted to git rid of
@@ -1738,9 +1738,9 @@ Make indentation work with glyphs and proportional fonts.
 
 @item
 Add commands to show overview of object and class hierarchies to the
-browser. 
+browser.
 
-@item 
+@item
 Find a way to disable mouse highlight for inactive widgets.
 
 @item
@@ -1762,10 +1762,10 @@ Add @code{widget} widget for editing widget specifications.
 Find clean way to implement variable length list.
 See @code{TeX-printer-list} for an explanation.
 
-@item 
+@item
 @kbd{C-h} in @code{widget-prompt-value} should give type specific help.
 
-@item 
+@item
 Add a @code{mailto} widget.
 @end itemize
 
index e6451e769989226e4646372390d958303df76cd4..aa9fd818e5516a77507fe7972ce035f98b505c86 100644 (file)
@@ -458,7 +458,7 @@ Emacs.pane.menubar.popup_*.popup_*.Spell Checking.Complete Word: @var{value}
 
 @noindent
 (This should be one long line.)
-  
+
   It's impossible to specify a resource for all the menu-bar items
 without also specifying it for the submenus as well.  So if you want the
 submenu items to look different from the menu bar itself, you must ask
@@ -533,7 +533,7 @@ The color for the border shadow, on the top and the left.
   If the Emacs installed at your site was built to use the GTK widget set,
 then the menu bar, scroll bar and the dialogs can be customized with
 the standard GTK @file{~/.gtkrc-2.0} file or with the Emacs specific
-@file{~/.emacs.d/gtkrc} file; note that these files are only for 
+@file{~/.emacs.d/gtkrc} file; note that these files are only for
 customizing specific GTK widget features.  To customize Emacs font,
 background, faces etc., use the normal X resources, see @ref{Resources}.
 
@@ -568,7 +568,7 @@ gtk-font-name = "courier 12"
 
   If GTK at your site is installed under @var{prefix},
 the resource file syntax is fully described in the GTK API
-document 
+document
 @file{@var{prefix}/share/gtk-doc/html/gtk/gtk-resource-files.html}.
 @var{prefix} is usually @file{/usr} or @file{/usr/local}.
 You can find the same document online at
@@ -586,7 +586,7 @@ You can find the same document online at
 @appendixsubsec GTK widget names
 @cindex GTK widget names
 
-  Widgets are specified by widget class or by widget name. 
+  Widgets are specified by widget class or by widget name.
 The widget class is the type of the widget, for example @code{GtkMenuBar}.
 The widget name is the name given to a specific widget within a program.
 A widget always have a class but it is not mandatory to give a name to
@@ -649,8 +649,8 @@ widget "*menu*" style "my_style"
 @cindex GTK widget classes
 
   In Emacs the top level widget for a frame is a @code{GtkWindow} that
-contains a @code{GtkVBox}.  The @code{GtkVBox} contains the 
-@code{GtkMenuBar} and a @code{GtkFixed} widget.  
+contains a @code{GtkVBox}.  The @code{GtkVBox} contains the
+@code{GtkMenuBar} and a @code{GtkFixed} widget.
 The vertical scroll bars, @code{GtkVScrollbar},
 are contained in the @code{GtkFixed} widget.
 The text you write in Emacs is drawn in the @code{GtkFixed} widget.
@@ -669,7 +669,7 @@ widget_class "GtkWindow.GtkVBox.GtkMenuBar" style "my_style"
 For the scroll bar, the absolute class name is:
 
 @smallexample
-widget_class 
+widget_class
   "GtkWindow.GtkVBox.GtkFixed.GtkVScrollbar"
      style "my_style"
 @end smallexample
@@ -705,7 +705,7 @@ widget "Emacs.pane.emacs.verticalScrollbar" style "my_style"
 @end smallexample
 
   GTK absolute names are quite strange when it comes to menus
-and dialogs.  The names do not start with @samp{Emacs}, as they are 
+and dialogs.  The names do not start with @samp{Emacs}, as they are
 free-standing windows and not contained (in the GTK sense) by the
 Emacs GtkWindow.  To customize the dialogs and menus, use wildcards like this:
 
@@ -720,7 +720,7 @@ This file is only read by Emacs, so anything in @file{~/.emacs.d/gtkrc}
 affects Emacs but leaves other applications unaffected.
 For example, the drop down menu in the file dialog can not
 be customized by any absolute widget name, only by an absolute
-class name.  This is so because the widgets in the drop down menu does not 
+class name.  This is so because the widgets in the drop down menu does not
 have names and the menu is not contained in the Emacs GtkWindow.
 To have all menus in Emacs look the same, use this in @file{~/.emacs.d/gtkrc}:
 
@@ -766,7 +766,7 @@ style "default"
   bg_pixmap[NORMAL] = "background.xpm"
   bg_pixmap[INSENSITIVE] = "background.xpm"
   bg_pixmap[ACTIVE] = "background.xpm"
-  bg_pixmap[PRELIGHT] = "<none>" 
+  bg_pixmap[PRELIGHT] = "<none>"
 
 @}
 
@@ -788,7 +788,7 @@ The possible states are
 This is the default state for widgets.
 @item ACTIVE
 This is the state for a widget that is ready to do something.  It is
-also for the trough of a scroll bar, i.e.  @code{bg[ACTIVE] = "red"} 
+also for the trough of a scroll bar, i.e.  @code{bg[ACTIVE] = "red"}
 sets the scroll bar trough to red.  Buttons that have been pressed but
 not released yet (``armed'') are in this state.
 @item PRELIGHT
@@ -817,7 +817,7 @@ editable text, use @code{base} for that.
 
 @item base[@var{state}] = @var{color}
 This is the background color for editable text.
-In Emacs, this color is used for the background of the text fields in the 
+In Emacs, this color is used for the background of the text fields in the
 file dialog.
 
 @item bg_pixmap[@var{state}] = "@var{pixmap}"
@@ -844,7 +844,7 @@ of text in menus and buttons.  It is also the color for the arrows in the
 scroll bar.  For editable text, use @code{text}.
 
 @item text[@var{state}] = @var{color}
-This is the color for editable text.  In Emacs, this color is used for the 
+This is the color for editable text.  In Emacs, this color is used for the
 text fields in the file dialog.
 
 @item font_name = "@var{font}"
@@ -861,7 +861,7 @@ A color name is written within double quotes, for example @code{"red"}.
 
 @noindent
 A hexadecimal form is written within double quotes.  There are four forms,
-@code{#rrrrggggbbbb}, @code{#rrrgggbbb}, 
+@code{#rrrrggggbbbb}, @code{#rrrgggbbb},
 @code{#rrggbb}, or @code{#rgb}.  In each of these r, g and b are hex digits.
 
 @noindent
index be5fd01d0e6b787698c264d31ee2081c1628d233..040851685580526ff08958721f6a400946415ee6 100644 (file)
@@ -11,7 +11,7 @@
 
 2002-03-20  Eli Zaretskii  <eliz@is.elta.co.il>
 
-       * mainmake.v2 (bootstrap-lisp-1, bootstrap-lisp, bootstrap-src) 
+       * mainmake.v2 (bootstrap-lisp-1, bootstrap-lisp, bootstrap-src)
        (bootstrap-clean-before, bootstrap-clean-after): Return to the
        top-level directory after sub-make.
        (bootstrap-lisp): Pass an absolute file name as value of ${lisp}.
@@ -25,8 +25,8 @@
        * sed1v2.inp: Edit the bootstrap-* targets.  Fix the mostlyclean
        target.
 
-       * mainmake.v2 (maybe_bootstrap, bootstrap, bootstrap-lisp-1) 
-       (bootstrap-lisp, bootstrap-src, bootstrap-clean-before) 
+       * mainmake.v2 (maybe_bootstrap, bootstrap, bootstrap-lisp-1)
+       (bootstrap-lisp, bootstrap-src, bootstrap-clean-before)
        (bootstrap-clean-after): New targets.
        (all): Depend on maybe_bootstrap.
 
@@ -68,7 +68,7 @@
 2001-10-05  Gerd Moellmann  <gerd@gnu.org>
 
        * Branch for 21.1.
-       
+
 2001-07-20  Eli Zaretskii  <eliz@is.elta.co.il>
 
        * mainmake.v2 (install): Create site-lisp/subdirs.el if it is not
        * sed1.inp: Replace `make-docfile' with `make-doc.exe'.  In case
        src/Makefile needs to rebuild `make-doc.exe', use one command per line.
        Undo the previous change.
-       
+
 1996-04-15  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
 
-       * sed1.inp: Change make-docfile to make-doc.exe in a second place. 
+       * sed1.inp: Change make-docfile to make-doc.exe in a second place.
 
 1996-04-15  Eli Zaretskii  <eliz@is.elta.co.il>
 
        a long sed command line (some versions of Sed don't handle that).
        (gdb): Merged back into src, undoing April 13 change.
        (install): Do use if statements, but not a loop.
-       
+
 1996-04-13  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
 
        * mainmake.v2 (gdb): New target, broken out of src.
        to terra@diku.dk, but be prepared to sign a copyright disclaimer.
        (This file contains non-printable characters.)
 
-       * sed3.inp: New file for changing lib-src/makefile.in into 
+       * sed3.inp: New file for changing lib-src/makefile.in into
        lib-src/makefile.
 
        * sed2.inp: New file for changing src/config.h-in into src/config.h
index 85a275fda3d2448ea496ce6ec41a00c37e1f2447..1111cdc506606417a7efa426aca62d9ef17cf581 100644 (file)
 #      with them.
 #
 #      Delete `.dvi' files here if they are not part of the distribution.
-# 
+#
 # make distclean
 #      Delete all files from the current directory that are created by
 #      configuring or building the program.  If you have unpacked the
 #      source and built the program without creating any other files,
 #      `make distclean' should leave only the files that were in the
 #      distribution.
-# 
+#
 # make realclean
 #      Delete everything from the current directory that can be
 #      reconstructed with this Makefile.  This typically includes
index 65390accbdfae6d1f72d729f1446023054f637a8..348e32f8814a317a927ab4ffaf3c18beacd1fd31 100644 (file)
 #      with them.
 #
 #      Delete `.dvi' files here if they are not part of the distribution.
-# 
+#
 # make distclean
 #      Delete all files from the current directory that are created by
 #      configuring or building the program.  If you have unpacked the
 #      source and built the program without creating any other files,
 #      `make distclean' should leave only the files that were in the
 #      distribution.
-# 
+#
 # make realclean
 #      Delete everything from the current directory that can be
 #      reconstructed with this Makefile.  This typically includes
index 46b831f4292843d2de199402fb3bf5b50fda87c4..e9dcfb693f5aa03457a6f82f674fd86f74894802 100644 (file)
@@ -7,7 +7,7 @@
   If you used WinZip to unpack the distribution, we suggest to
   remove the files and unpack again with a different program!
   WinZip is known to create some subtle and hard to debug problems,
-  such as converting files to DOS CR-LF format, not creating empty 
+  such as converting files to DOS CR-LF format, not creating empty
   directories, etc.  We suggest to use djtarnt.exe from the GNU FTP
   site.
 
@@ -35,7 +35,7 @@
   In addition, using 4NT as your shell is known to fail the build process,
   at least for 4NT version 3.01.  Use cmd.exe, the default NT shell,
   instead.
+
                                          sh exists     no sh
 
     cygwin b20.1 make (3.75):            fails[1, 5]   fails[2, 5]
@@ -46,7 +46,7 @@
     cygwin compiled gmake 3.77:          fails[1, 5]   fails[2, 5]
     cygwin compiled make 3.78.1:         fails[5]      fails[2, 5]
     cygwin compiled make 3.79.1:         fails[3, 5]   fails[2?, 5]
-    mingw32 compiled make 3.79.1:        okay          okay 
+    mingw32 compiled make 3.79.1:        okay          okay
 
   Notes:
 
index 24fc0bbc5917f950b018ded0aa0569ce150bb00c..fa0f4253abb2c18516b572126ff70921d7bd4f13 100644 (file)
@@ -32,7 +32,7 @@ Boston, MA 02111-1307, USA.  */
 #include <stdlib.h>
 #include <stdio.h>
 
-HDDEDATA CALLBACK 
+HDDEDATA CALLBACK
 DdeCallback (UINT uType, UINT uFmt, HCONV hconv,
             HSZ hsz1, HSZ hsz2, HDDEDATA hdata,
             DWORD dwData1, DWORD dwData2)
@@ -50,8 +50,8 @@ static struct entry
 {
   char *name;
   char *value;
-} 
-env_vars[] = 
+}
+env_vars[] =
 {
   {"emacs_dir", NULL},
   {"EMACSLOADPATH", "%emacs_dir%/site-lisp;%emacs_dir%/../site-lisp;%emacs_dir%/lisp;%emacs_dir%/leim"},
@@ -65,7 +65,7 @@ env_vars[] =
   {"TERM", "cmd"}
 };
 
-BOOL 
+BOOL
 add_registry (path)
      char *path;
 {
@@ -73,39 +73,39 @@ add_registry (path)
   DWORD dwDisp;
   int i;
   BOOL ok = TRUE;
-  
-  /* Check both the current user and the local machine to see if we 
+
+  /* Check both the current user and the local machine to see if we
      have any resources.  */
-  
+
   if (RegCreateKeyEx (HKEY_LOCAL_MACHINE, REG_ROOT,
                      0, "", REG_OPTION_NON_VOLATILE,
-                     KEY_WRITE, NULL, &hrootkey, &dwDisp) != ERROR_SUCCESS 
+                     KEY_WRITE, NULL, &hrootkey, &dwDisp) != ERROR_SUCCESS
       && RegCreateKeyEx (HKEY_CURRENT_USER, REG_ROOT,
                         0, "", REG_OPTION_NON_VOLATILE,
                         KEY_WRITE, NULL, &hrootkey, &dwDisp) != ERROR_SUCCESS)
     {
       return FALSE;
     }
-  
-  for (i = 0; i < (sizeof (env_vars) / sizeof (env_vars[0])); i++) 
+
+  for (i = 0; i < (sizeof (env_vars) / sizeof (env_vars[0])); i++)
     {
       char * value = env_vars[i].value ? env_vars[i].value : path;
-       
+
       if (RegSetValueEx (hrootkey, env_vars[i].name,
                         0, REG_EXPAND_SZ,
                         value, lstrlen (value) + 1) != ERROR_SUCCESS)
        ok = FALSE;
-    }                        
-  
+    }
+
   RegCloseKey (hrootkey);
-  
+
   return (ok);
 }
 
 int
 main (argc, argv)
      int argc;
-     char *argv[];                     
+     char *argv[];
 {
   DWORD idDde = 0;
   HCONV HConversation;
index 55e83977fb127b364936d5203dd6555894deb26d..f9eff2f73f688adb6133a25efc891095e8b6c699 100644 (file)
@@ -67,17 +67,17 @@ open_input_file (file_data *p_file, char *filename)
 
   file = CreateFile (filename, GENERIC_READ, FILE_SHARE_READ, NULL,
                     OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
-  if (file == INVALID_HANDLE_VALUE) 
+  if (file == INVALID_HANDLE_VALUE)
     return FALSE;
 
   size = GetFileSize (file, &upper_size);
-  file_mapping = CreateFileMapping (file, NULL, PAGE_READONLY, 
+  file_mapping = CreateFileMapping (file, NULL, PAGE_READONLY,
                                    0, size, NULL);
-  if (!file_mapping) 
+  if (!file_mapping)
     return FALSE;
 
   file_base = MapViewOfFile (file_mapping, FILE_MAP_READ, 0, 0, size);
-  if (file_base == 0) 
+  if (file_base == 0)
     return FALSE;
 
   p_file->name = filename;
@@ -98,18 +98,18 @@ open_output_file (file_data *p_file, char *filename, unsigned long size)
 
   file = CreateFile (filename, GENERIC_READ | GENERIC_WRITE, 0, NULL,
                     CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
-  if (file == INVALID_HANDLE_VALUE) 
+  if (file == INVALID_HANDLE_VALUE)
     return FALSE;
 
-  file_mapping = CreateFileMapping (file, NULL, PAGE_READWRITE, 
+  file_mapping = CreateFileMapping (file, NULL, PAGE_READWRITE,
                                    0, size, NULL);
-  if (!file_mapping) 
+  if (!file_mapping)
     return FALSE;
-  
+
   file_base = MapViewOfFile (file_mapping, FILE_MAP_WRITE, 0, 0, size);
-  if (file_base == 0) 
+  if (file_base == 0)
     return FALSE;
-  
+
   p_file->name = filename;
   p_file->size = size;
   p_file->file = file;
@@ -270,7 +270,7 @@ relocate_offset (DWORD offset,
 
 
 static void
-copy_executable_and_add_section (file_data *p_infile, 
+copy_executable_and_add_section (file_data *p_infile,
                                 file_data *p_outfile,
                                 char *new_section_name,
                                 DWORD new_section_size)
@@ -314,10 +314,10 @@ copy_executable_and_add_section (file_data *p_infile,
      Note that dst is updated implicitly by each COPY_CHUNK.  */
 
   dos_header = (PIMAGE_DOS_HEADER) p_infile->file_base;
-  nt_header = (PIMAGE_NT_HEADERS) (((unsigned long) dos_header) + 
+  nt_header = (PIMAGE_NT_HEADERS) (((unsigned long) dos_header) +
                                   dos_header->e_lfanew);
   section = IMAGE_FIRST_SECTION (nt_header);
+
   dst = (unsigned char *) p_outfile->file_base;
 
   COPY_CHUNK ("Copying DOS header...", dos_header,
@@ -477,7 +477,7 @@ main (int argc, char **argv)
   /* Open the undumped executable file.  */
   if (!open_input_file (&in_file, in_filename))
     {
-      printf ("Failed to open %s (%d)...bailing.\n", 
+      printf ("Failed to open %s (%d)...bailing.\n",
              in_filename, GetLastError ());
       exit (1);
     }
@@ -491,7 +491,7 @@ main (int argc, char **argv)
     * nt_header->FileHeader.NumberOfSections;
   if (!open_output_file (&out_file, out_filename, size))
     {
-      printf ("Failed to open %s (%d)...bailing.\n", 
+      printf ("Failed to open %s (%d)...bailing.\n",
              out_filename, GetLastError ());
       exit (1);
     }
index 09a3c672e797ffb60a9ef4857a901caf050a6755..9280f29c351fad88c20dca9e10a0a90c016d79a1 100644 (file)
@@ -230,7 +230,7 @@ search_dir (char *dir, char *exec, int bufsize, char *buffer)
   int i, rc;
 
   /* Search the directory for the program.  */
-  for (i = 0; i < n_exts; i++) 
+  for (i = 0; i < n_exts; i++)
     {
       rc = SearchPath (dir, exec, exts[i], bufsize, buffer, &dummy);
       if (rc > 0)
@@ -240,7 +240,7 @@ search_dir (char *dir, char *exec, int bufsize, char *buffer)
   return 0;
 }
 
-/* Return the absolute name of executable file PROG, including 
+/* Return the absolute name of executable file PROG, including
    any file extensions.  If an absolute name for PROG cannot be found,
    return NULL.  */
 char *
@@ -272,18 +272,18 @@ make_absolute (char *prog)
        return NULL;
     }
 
-  if (GetCurrentDirectory (MAX_PATH, curdir) <= 0) 
+  if (GetCurrentDirectory (MAX_PATH, curdir) <= 0)
     return NULL;
 
   /* Relative path; search in current dir. */
-  if (strpbrk (prog, "\\")) 
+  if (strpbrk (prog, "\\"))
     {
       if (search_dir (curdir, prog, MAX_PATH, absname) > 0)
        return strdup (absname);
-      else 
+      else
        return NULL;
     }
-  
+
   /* Just filename; search current directory then PATH.  */
   path = alloca (strlen (getenv ("PATH")) + strlen (curdir) + 2);
   strcpy (path, curdir);
@@ -304,7 +304,7 @@ make_absolute (char *prog)
 
       /* Move to the next directory.  */
       path = p + 1;
-    } 
+    }
 
   return NULL;
 }
@@ -322,7 +322,7 @@ setup_argv (void)
   char * cmdline = GetCommandLine ();
   int arg_bytes = 0;
 
-  
+
 }
 #endif
 
@@ -384,7 +384,7 @@ spawn (char * progname, char * cmdline, char * dir, int * retcode)
   sec_attrs.nLength = sizeof (sec_attrs);
   sec_attrs.lpSecurityDescriptor = NULL;
   sec_attrs.bInheritHandle = FALSE;
-  
+
   memset (&start, 0, sizeof (start));
   start.cb = sizeof (start);
 
index 4f5a641c7b99d4d9b11f5d46b57c4420e8674897..a9246c255ea6a64bfdd6cd573c96a01236c0db9e 100644 (file)
@@ -20,7 +20,7 @@ Boston, MA 02111-1307, USA.  */
 
 
 /* No code in Emacs #includes config.h twice, but some of the code
-   intended to work with other packages as well (like gmalloc.c) 
+   intended to work with other packages as well (like gmalloc.c)
    think they can include it as many times as they like.  */
 #ifndef EMACS_CONFIG_H
 #define EMACS_CONFIG_H
@@ -288,7 +288,7 @@ Boston, MA 02111-1307, USA.  */
    configuration names to use for them.
 
    See s/template.h for documentation on writing s/SYSTEM.h files.  */
-#undef config_opsysfile 
+#undef config_opsysfile
 #include "s/ms-w32.h"
 
 /* The configuration script defines machfile to be the name of the
index 406e99fe0a2d8443c4949cf70e5989a8a4992f61..3a82395ca30e844d5a2c94f260c4779cfd6bccb4 100644 (file)
@@ -23,7 +23,7 @@ Boston, MA 02111-1307, USA.  */
 #include <stdlib.h>
 #include <stdio.h>
 
-HDDEDATA CALLBACK 
+HDDEDATA CALLBACK
 DdeCallback (UINT uType, UINT uFmt, HCONV hconv,
             HSZ hsz1, HSZ hsz2, HDDEDATA hdata,
             DWORD dwData1, DWORD dwData2)
index d3d24b9d5786b056344de1d2bea7e1a1ea9b78d0..afa1b855d940ad6fb70c11b1ef544279453d2903 100644 (file)
@@ -1,17 +1,17 @@
 #
 #  Makefile definition file for building GNU Emacs on the Microsoft W32 API.
 #  Copyright (c) 2000-2001 Free Software Foundation, Inc.
-#  
+#
 #  GNU Emacs is free software; you can redistribute it and/or modify
 #  it under the terms of the GNU General Public License as published by
 #  the Free Software Foundation; either version 2, or (at your option)
 #  any later version.
-#  
+#
 #  GNU Emacs is distributed in the hope that it will be useful,
 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 #  GNU General Public License for more details.
-#  
+#
 #  You should have received a copy of the GNU General Public License
 #  along with GNU Emacs; see the file COPYING.  If not, write to
 #  the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
@@ -21,7 +21,7 @@
 all:
 
 # NOTES
-# 
+#
 # I tried to force gmake to use the native shell for simplicity, by
 # setting SHELL as below, but this didn't work reliably because of
 # various case sensitivity niggles.  Specifically, COMSPEC (which is in
@@ -31,7 +31,7 @@ all:
 # thinks it doesn't exist (unless compiled with a switch to ignore
 # case), and so doesn't change which shell it will invoke to execute
 # commands.
-# 
+#
 # It would be possible, though very tedious using just gmake facilities,
 # to convert the COMSPEC value to uppercase to solve this problem, but
 # it isn't worth it.  That is partly because, even when using the native
@@ -46,14 +46,14 @@ all:
 # mandate that rm and cp be available, so we can use Unix-format file
 # names everywhere.  (Fortunately both MS and GNU make, and the
 # respective compilers, are happy with Unix-format names.)
-# 
+#
 # Since we cannot easily force the choice of a particular shell, we must
 # make the effort to cope with whichever shell is being used.
 # Fortunately, the only command we need to use that is shell specific is
 # the testing of a file's existence for the purpose of working out when
 # we are copying files to their original location.  That particular
 # requirement is abstracted easily enough.
-# 
+#
 # The only other problem area was the change of directory when running
 # temacs to dump emacs.exe (where gmake doesn't support cd foo in any
 # useful way), but that has been resolved by modifying the Windows
@@ -117,7 +117,7 @@ endif
 export EMACSLOADPATH
 
 # Determine the architecture we're running on.
-# Define ARCH for our purposes; 
+# Define ARCH for our purposes;
 # Define CPU for use by ntwin32.mak;
 # Define CONFIG_H to the appropriate config.h for the system;
 #
@@ -162,8 +162,8 @@ RC          = windres -O coff
 RC_OUT         = -o$(SPACE)
 RC_INCLUDE     = --include-dir$(SPACE)
 
-libc           = 
-baselibs       = 
+libc           =
+baselibs       =
 O              = o
 A              = a
 
@@ -181,7 +181,7 @@ WINMM     = -lwinmm
 ifdef NOOPT
 DEBUG_CFLAGS   = -DEMACSDEBUG
 else
-DEBUG_CFLAGS   = 
+DEBUG_CFLAGS   =
 endif
 CFLAGS          = -I. -DWIN32_LEAN_AND_MEAN -D_WIN32_WINNT=0x0400 $(ARCH_CFLAGS) -D$(ARCH) \
                  -D_CRTAPI1=_cdecl \
@@ -238,7 +238,7 @@ DQUOTE              = \"
 endif
 
 ifdef NODEBUG
-DEBUG_FLAG = 
+DEBUG_FLAG =
 DEBUG_LINK =
 else
 DEBUG_FLAG = -g
index 441b3faa65014f2b4ab5b0f8f49f4b33d48fbb16..881808c5323b9daf0889d5af3a2fbc55c18db8fd 100644 (file)
@@ -5,12 +5,12 @@
  * sys/time.h doesn't exist on NT
  */
 
-struct timeval 
+struct timeval
   {
     long tv_sec;       /* seconds */
     long tv_usec;      /* microseconds */
   };
-struct timezone 
+struct timezone
   {
     int        tz_minuteswest; /* minutes west of Greenwich */
     int        tz_dsttime;     /* type of dst correction */
index 6fb05dfd20a63c4224259ab0c81d5e8f1b1062c4..24003eb309fa985252553b0b8384d905670f21bc 100644 (file)
@@ -1,17 +1,17 @@
 #
 #  Makefile definition file for building GNU Emacs on Windows NT
 #  Copyright (c) 1994-2001 Free Software Foundation, Inc.
-#  
+#
 #  GNU Emacs is free software; you can redistribute it and/or modify
 #  it under the terms of the GNU General Public License as published by
 #  the Free Software Foundation; either version 2, or (at your option)
 #  any later version.
-#  
+#
 #  GNU Emacs is distributed in the hope that it will be useful,
 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 #  GNU General Public License for more details.
-#  
+#
 #  You should have received a copy of the GNU General Public License
 #  along with GNU Emacs; see the file COPYING.  If not, write to
 #  the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
@@ -63,7 +63,7 @@ _NMAKE_VER=$(_NMAKE_VER_4)
 !endif
 
 # Determine the architecture we're running on.
-# Define ARCH for our purposes; 
+# Define ARCH for our purposes;
 # Define CPU for use by ntwin32.mak;
 # Define CONFIG_H to the appropriate config.h for the system;
 #
@@ -100,8 +100,8 @@ OS_TYPE             = windows95
 
 # Include ntwin32.mak.  So far, this file seems to be supported by every
 # Microsoft compiler on NT and Windows 95 and properly defines the executable
-# names and libraries necessary to build Emacs.  I do not have access 
-# to any other vendor compilers, so I do not know if they supply this 
+# names and libraries necessary to build Emacs.  I do not have access
+# to any other vendor compilers, so I do not know if they supply this
 # file, too.  For now I'll assume that they do.
 #
 !include <ntwin32.mak>
index e1378f611e771058316593a9812a9e2cb28f3cd5..d9ca04dabdfae35aa403ef37306d5518137aad79 100644 (file)
@@ -3,17 +3,17 @@
 #  Copyright (c) 1993-2000 Free Software Foundation, Inc.
 #
 #  This file is part of GNU Emacs.
-#  
+#
 #  GNU Emacs is free software; you can redistribute it and/or modify
 #  it under the terms of the GNU General Public License as published by
 #  the Free Software Foundation; either version 2, or (at your option)
 #  any later version.
-#  
+#
 #  GNU Emacs is distributed in the hope that it will be useful,
 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 #  GNU General Public License for more details.
-#  
+#
 #  You should have received a copy of the GNU General Public License
 #  along with GNU Emacs; see the file COPYING.  If not, write to
 #  the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
@@ -130,7 +130,7 @@ install:    all $(INSTALL_DIR)
                $(INSTALL_CMD)
                cd ..\leim
                if exist makefile.nt $(INSTALL_CMD)
-               cd ..\nt                
+               cd ..\nt
                - $(CP) $(BLD)\addpm.exe $(INSTALL_DIR)\bin
                - $(CP) $(BLD)\ddeclient.exe $(INSTALL_DIR)\bin
                - $(CP) $(BLD)\cmdproxy.exe $(INSTALL_DIR)\bin
@@ -187,7 +187,7 @@ real_install:
 
 #
 # Maintenance
-# 
+#
 CLEAN_CMD      = $(MAKE) -f makefile.nt clean
 clean:
                - $(DEL) *~ *.pdb
index 10f6d6bebd2bf3d2e2b226eca2c4657f674c8349..4e8265f4da042a0beb4dee4763e08436c2a5558f 100644 (file)
@@ -4,17 +4,17 @@
 #  Top level makefile for building GNU Emacs on Windows NT\r
 #\r
 #  This file is part of GNU Emacs.\r
-#  \r
+#\r
 #  GNU Emacs is free software; you can redistribute it and/or modify\r
 #  it under the terms of the GNU General Public License as published by\r
 #  the Free Software Foundation; either version 2, or (at your option)\r
 #  any later version.\r
-#  \r
+#\r
 #  GNU Emacs is distributed in the hope that it will be useful,\r
 #  but WITHOUT ANY WARRANTY; without even the implied warranty of\r
 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
 #  GNU General Public License for more details.\r
-#  \r
+#\r
 #  You should have received a copy of the GNU General Public License\r
 #  along with GNU Emacs; see the file COPYING.  If not, write to\r
 #  the Free Software Foundation, Inc., 59 Temple Place - Suite 330,\r
@@ -216,7 +216,7 @@ install-other-dirs-gmake:
 \r
 #\r
 # Maintenance\r
-# \r
+#\r
 clean: clean-other-dirs-$(MAKETYPE)\r
        - $(DEL) *~ $(COMPILER_TEMP_FILES)\r
        - $(DEL_TREE) $(OBJDIR)\r
index e2bfd58fc57de3bf7204f2527951ab5f8da71426..99db4211f1b922fba429ae219c58183dff24abb6 100644 (file)
@@ -1,17 +1,17 @@
 #\r
 #  Makefile definition file for building GNU Emacs on the Microsoft W32 API.\r
 #  Copyright (c) 2000-2001 Free Software Foundation, Inc.\r
-#  \r
+#\r
 #  GNU Emacs is free software; you can redistribute it and/or modify\r
 #  it under the terms of the GNU General Public License as published by\r
 #  the Free Software Foundation; either version 2, or (at your option)\r
 #  any later version.\r
-#  \r
+#\r
 #  GNU Emacs is distributed in the hope that it will be useful,\r
 #  but WITHOUT ANY WARRANTY; without even the implied warranty of\r
 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
 #  GNU General Public License for more details.\r
-#  \r
+#\r
 #  You should have received a copy of the GNU General Public License\r
 #  along with GNU Emacs; see the file COPYING.  If not, write to\r
 #  the Free Software Foundation, Inc., 59 Temple Place - Suite 330,\r
@@ -64,7 +64,7 @@ _NMAKE_VER=$(_NMAKE_VER_4)
 !endif\r
 \r
 # Determine the architecture we're running on.\r
-# Define ARCH for our purposes; \r
+# Define ARCH for our purposes;\r
 # Define CPU for use by ntwin32.mak;\r
 # Define CONFIG_H to the appropriate config.h for the system;\r
 #\r
@@ -110,7 +110,7 @@ RC_OUT              = -Fo
 RC_INCLUDE     = -i\r
 \r
 libc           = libc.lib\r
-baselibs       = \r
+baselibs       =\r
 O              = obj\r
 A              = lib\r
 \r
@@ -128,7 +128,7 @@ WINMM     = winmm.lib
 !ifdef NOOPT\r
 DEBUG_CFLAGS   = -DEMACSDEBUG\r
 !else\r
-DEBUG_CFLAGS   = \r
+DEBUG_CFLAGS   =\r
 !endif\r
 CFLAGS          = -I. -DWIN32_LEAN_AND_MEAN -D_WIN32_WINNT=0x0400 $(ARCH_CFLAGS) -D$(ARCH) \\r
                  -D_CRTAPI1=_cdecl $(DEBUG_CFLAGS) $(USER_CFLAGS) $(LOCAL_FLAGS)\r
@@ -166,8 +166,8 @@ DEL         = rm
 DEL_TREE       = rm -r\r
 \r
 !ifdef NODEBUG\r
-DEBUG_FLAG = \r
-DEBUG_LINK = \r
+DEBUG_FLAG =\r
+DEBUG_LINK =\r
 !else\r
 DEBUG_FLAG = -Zi\r
 DEBUG_LINK = -debug:full -debugtype:both\r
index 08a29ae5931b4784293f760f9b851082895ab0aa..64cd1b7391699f1ad79de0dc18814a410c8da010 100644 (file)
@@ -67,17 +67,17 @@ open_input_file (file_data *p_file, char *filename)
 
   file = CreateFile (filename, GENERIC_READ, FILE_SHARE_READ, NULL,
                     OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
-  if (file == INVALID_HANDLE_VALUE) 
+  if (file == INVALID_HANDLE_VALUE)
     return FALSE;
 
   size = GetFileSize (file, &upper_size);
-  file_mapping = CreateFileMapping (file, NULL, PAGE_READONLY, 
+  file_mapping = CreateFileMapping (file, NULL, PAGE_READONLY,
                                    0, size, NULL);
-  if (!file_mapping) 
+  if (!file_mapping)
     return FALSE;
 
   file_base = MapViewOfFile (file_mapping, FILE_MAP_READ, 0, 0, size);
-  if (file_base == 0) 
+  if (file_base == 0)
     return FALSE;
 
   p_file->name = filename;
@@ -98,18 +98,18 @@ open_output_file (file_data *p_file, char *filename, unsigned long size)
 
   file = CreateFile (filename, GENERIC_READ | GENERIC_WRITE, 0, NULL,
                     CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
-  if (file == INVALID_HANDLE_VALUE) 
+  if (file == INVALID_HANDLE_VALUE)
     return FALSE;
 
-  file_mapping = CreateFileMapping (file, NULL, PAGE_READWRITE, 
+  file_mapping = CreateFileMapping (file, NULL, PAGE_READWRITE,
                                    0, size, NULL);
-  if (!file_mapping) 
+  if (!file_mapping)
     return FALSE;
-  
+
   file_base = MapViewOfFile (file_mapping, FILE_MAP_WRITE, 0, 0, size);
-  if (file_base == 0) 
+  if (file_base == 0)
     return FALSE;
-  
+
   p_file->name = filename;
   p_file->size = size;
   p_file->file = file;
@@ -129,17 +129,17 @@ open_inout_file (file_data *p_file, char *filename)
 
   file = CreateFile (filename, GENERIC_READ | GENERIC_WRITE, 0, NULL,
                     OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
-  if (file == INVALID_HANDLE_VALUE) 
+  if (file == INVALID_HANDLE_VALUE)
     return FALSE;
 
   size = GetFileSize (file, &upper_size);
   file_mapping = CreateFileMapping (file, NULL, PAGE_READWRITE,
                                    0, size, NULL);
-  if (!file_mapping) 
+  if (!file_mapping)
     return FALSE;
 
   file_base = MapViewOfFile (file_mapping, FILE_MAP_WRITE, 0, 0, size);
-  if (file_base == 0) 
+  if (file_base == 0)
     return FALSE;
 
   p_file->name = filename;
@@ -341,7 +341,7 @@ relocate_offset (DWORD offset,
    easy to parse.  */
 
 static void
-copy_executable_and_move_sections (file_data *p_infile, 
+copy_executable_and_move_sections (file_data *p_infile,
                                   file_data *p_outfile)
 {
   unsigned char *dst;
@@ -389,10 +389,10 @@ copy_executable_and_move_sections (file_data *p_infile,
      Note that dst is updated implicitly by each COPY_CHUNK.  */
 
   dos_header = (PIMAGE_DOS_HEADER) p_infile->file_base;
-  nt_header = (PIMAGE_NT_HEADERS) (((unsigned long) dos_header) + 
+  nt_header = (PIMAGE_NT_HEADERS) (((unsigned long) dos_header) +
                                   dos_header->e_lfanew);
   section = IMAGE_FIRST_SECTION (nt_header);
+
   import_dir = &nt_header->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT];
   import_section = rva_to_section (import_dir->VirtualAddress, nt_header);
 
@@ -776,7 +776,7 @@ main (int argc, char **argv)
   /* Open the original (dumped) executable file for reference.  */
   if (!open_input_file (&in_file, in_filename))
     {
-      printf ("Failed to open %s (%d)...bailing.\n", 
+      printf ("Failed to open %s (%d)...bailing.\n",
              in_filename, GetLastError ());
       exit (1);
     }
@@ -786,7 +786,7 @@ main (int argc, char **argv)
      which should fit in the alignment slop.  */
   if (!open_output_file (&out_file, out_filename, in_file.size))
     {
-      printf ("Failed to open %s (%d)...bailing.\n", 
+      printf ("Failed to open %s (%d)...bailing.\n",
              out_filename, GetLastError ());
       exit (1);
     }
index 5196d0ccc124332da0cc2ff5e12373161b2ef85c..8e1b3742d9bb53b01e2b84657582c10c6c3bb14e 100644 (file)
@@ -1,4 +1,4 @@
-/* $Header: /cvsroot/emacs//emacs/oldXMenu/Activate.c,v 1.3 2000/07/21 14:36:24 gerd Exp $ */
+/* $Header: /cvs/emacs/oldXMenu/Activate.c,v 1.4 2002/04/22 18:27:03 jhd Exp $ */
 /* Copyright    Massachusetts Institute of Technology    1985  */
 
 #include "copyright.h"
@@ -28,7 +28,7 @@
  *
  *                     1)      If at any time an error occurs the data
  *                             pointer is left untouched and XM_FAILURE
- *                             is returned.  
+ *                             is returned.
  *
  *                     2)      When a selection request is received (i.e.,
  *                             when the specified mouse event occurs) the
@@ -42,7 +42,7 @@
  *                             will be left untouched and XM_NO_SELECT will
  *                             be returned.
  *
- *                     4)      If the selection that was current at the time 
+ *                     4)      If the selection that was current at the time
  *                             a selection request is made is not an active
  *                             selection the data pointer will be left
  *                             untouched and XM_IA_SELECT will be returned.
@@ -131,7 +131,7 @@ XMenuActivate(display, menu, p_num, s_num, x_pos, y_pos, event_mask, data,
 
     XMEventQue *feq = NULL;                    /* Foreign event queue. */
     XMEventQue *feq_tmp;               /* Foreign event queue temporary. */
-    
+
     /*
      * If there are no panes in the menu then return failure
      * because the menu is not initialized.
@@ -162,14 +162,14 @@ XMenuActivate(display, menu, p_num, s_num, x_pos, y_pos, event_mask, data,
      * Compute origin of menu so that cursor is in
      * Correct pane and selection.
      */
-    _XMTransToOrigin(display, 
-                    menu, 
-                    cur_p, cur_s, 
-                    x_pos, y_pos, 
+    _XMTransToOrigin(display,
+                    menu,
+                    cur_p, cur_s,
+                    x_pos, y_pos,
                     &orig_x, &orig_y);
     menu->x_pos = orig_x;      /* Store X and Y coords of menu. */
     menu->y_pos = orig_y;
-    
+
     if (XMenuRecompute(display, menu) == XM_FAILURE) {
        return(XM_FAILURE);
     }
@@ -212,11 +212,11 @@ XMenuActivate(display, menu, p_num, s_num, x_pos, y_pos, event_mask, data,
      * not provided an event handler.
      */
     XSync(display, 0);
-    
+
     /*
      * Grab the mouse for menu input.
      */
-    
+
     status = XGrabPointer(
                          display,
                          menu->parent,
@@ -239,7 +239,7 @@ XMenuActivate(display, menu, p_num, s_num, x_pos, y_pos, event_mask, data,
         if (status != Success)
           XUngrabPointer(display, CurrentTime);
       }
-    
+
     if (status == _X_FAILURE) {
        _XMErrorCode = XME_GRAB_MOUSE;
        return(XM_FAILURE);
@@ -250,7 +250,7 @@ XMenuActivate(display, menu, p_num, s_num, x_pos, y_pos, event_mask, data,
      */
     XMapWindow(display, cur_p->window);
     for (p_ptr = menu->p_list->next;
-        p_ptr != cur_p; 
+        p_ptr != cur_p;
         p_ptr = p_ptr->next)
       XMapWindow(display, p_ptr->window);
     for (p_ptr = cur_p->next;
@@ -260,7 +260,7 @@ XMenuActivate(display, menu, p_num, s_num, x_pos, y_pos, event_mask, data,
 
     XRaiseWindow(display, cur_p->window);      /* Make sure current */
                                                /* pane is on top. */
-    
+
     cur_s = NULL;                      /* Clear current selection. */
 
     /*
@@ -271,7 +271,7 @@ XMenuActivate(display, menu, p_num, s_num, x_pos, y_pos, event_mask, data,
        switch (event.type) {           /* Dispatch on the event type. */
     case Expose:
            event_xmp = (XMPane *)XLookUpAssoc(display,
-                                              menu->assoc_tab, 
+                                              menu->assoc_tab,
                                               event.xexpose.window);
            if (event_xmp == NULL) {
                /*
@@ -292,7 +292,7 @@ XMenuActivate(display, menu, p_num, s_num, x_pos, y_pos, event_mask, data,
            }
            if (event_xmp->activated) {
                XSetWindowBackground(display,
-                                    event_xmp->window, 
+                                    event_xmp->window,
                                     menu->bkgnd_color);
            }
            else {
@@ -303,13 +303,13 @@ XMenuActivate(display, menu, p_num, s_num, x_pos, y_pos, event_mask, data,
            _XMRefreshPane(display, menu, event_xmp);
            break;
     case EnterNotify:
-           /* 
+           /*
             * First wait a small period of time, and see
             * if another EnterNotify event follows hard on the
             * heels of this one. i.e., the user is simply
             * "passing through". If so, ignore this one.
             */
-       
+
            event_xmw = (XMWindow *)XLookUpAssoc(display,
                                                 menu->assoc_tab,
                                                 event.xcrossing.window);
@@ -324,11 +324,11 @@ XMenuActivate(display, menu, p_num, s_num, x_pos, y_pos, event_mask, data,
                    if(peek_event.type == LeaveNotify) {
                        break;
                    }
-               }                         
+               }
                cur_s = (XMSelect *)event_xmw;
                help_callback (cur_s->help_string,
                               cur_p->serial, cur_s->serial);
-               
+
                /*
                 * If the pane we are in is active and the
                 * selection entered is active then activate
@@ -385,7 +385,7 @@ XMenuActivate(display, menu, p_num, s_num, x_pos, y_pos, event_mask, data,
                 * take it from here.  -- caveh@eng.sun.com.
                 */
                XSetWindowBackground(display,
-                                    event_xmp->window, 
+                                    event_xmp->window,
                                     menu->bkgnd_color);
                _XMRefreshPane(display, menu, event_xmp);
 #endif
@@ -400,7 +400,7 @@ XMenuActivate(display, menu, p_num, s_num, x_pos, y_pos, event_mask, data,
                                                 );
            if (event_xmw == NULL) break;
            if(cur_s == NULL) break;
-           
+
            /*
             * If the current selection was activated then
             * deactivate it.
@@ -411,7 +411,7 @@ XMenuActivate(display, menu, p_num, s_num, x_pos, y_pos, event_mask, data,
            }
            cur_s = NULL;
            break;
-       
+
     case ButtonPress:
     case ButtonRelease:
                *p_num = cur_p->serial;
@@ -471,7 +471,7 @@ XMenuActivate(display, menu, p_num, s_num, x_pos, y_pos, event_mask, data,
      */
     for ( p_ptr = menu->p_list->next;
         p_ptr != menu->p_list;
-        p_ptr = p_ptr->next) 
+        p_ptr = p_ptr->next)
       {
          XUnmapWindow(display, p_ptr->window);
       }
@@ -482,7 +482,7 @@ XMenuActivate(display, menu, p_num, s_num, x_pos, y_pos, event_mask, data,
     XUngrabPointer(display, CurrentTime);
     XUngrabKeyboard(display, CurrentTime);
 
-    /* 
+    /*
      * Restore bits under where the menu was if we managed
      * to save them and free the pixmap.
      */
@@ -502,7 +502,7 @@ XMenuActivate(display, menu, p_num, s_num, x_pos, y_pos, event_mask, data,
      * Synchronize the X buffers and the X event queue.
      */
     XSync(display, 0);
-    
+
     /*
      * Dispatch any events remaining on the queue.
      */
@@ -557,7 +557,7 @@ XMenuActivate(display, menu, p_num, s_num, x_pos, y_pos, event_mask, data,
        feq = feq_tmp->next;
        free((char *)feq_tmp);
     }
-    
+
     /*
      * Return successfully.
      */
index 739cdfe43e88b8ef220ae327ecfc60dd06694c6d..ab8ed42b01279326f2fdc407eb423b0407d1ce5a 100644 (file)
@@ -1,6 +1,6 @@
 #include "copyright.h"
 
-/* $Header: /u/src/emacs/19.0/oldXMenu/RCS/AddPane.c,v 1.1 1992/04/11 22:10:17 jimb Exp $ */
+/* $Header: /cvs/emacs/oldXMenu/AddPane.c,v 1.1 1999/10/03 19:34:51 fx Exp $ */
 /* Copyright    Massachusetts Institute of Technology    1985  */
 
 /*
 
 int
 XMenuAddPane(display, menu, label, active)
-    Display *display;           
+    Display *display;
     register XMenu *menu;      /* Menu object to be modified. */
     register char *label;      /* Selection label. */
     int active;                        /* Make selection active? */
 {
     register XMPane *pane;     /* Newly created pane. */
     register XMSelect *select; /* Initial selection for the new pane. */
-        
+
     int label_length;          /* Label length in characters. */
     int label_width;           /* Label width in pixels. */
 
@@ -50,7 +50,7 @@ XMenuAddPane(display, menu, label, active)
        _XMErrorCode = XME_CALLOC;
        return(XM_FAILURE);
     }
-    
+
     /*
      * Determine label size.
      */
@@ -58,7 +58,7 @@ XMenuAddPane(display, menu, label, active)
     label_width = XTextWidth(menu->p_fnt_info,
                             label,
                             label_length);
-    
+
     /*
      * Set up the initial selection.
      * Values not explicitly set are zeroed by calloc.
@@ -87,7 +87,7 @@ XMenuAddPane(display, menu, label, active)
     emacs_insque(pane, menu->p_list->prev);
 
     /*
-     * Update the pane count. 
+     * Update the pane count.
      */
     menu->p_count++;
 
index 3a25cbdba3a30bb7854d340caca7e15100b3f45c..7807fb665183d65d3fcf8314c9bb56ef45137380 100644 (file)
@@ -1,6 +1,6 @@
 #include "copyright.h"
 
-/* $Header: /gd/gnu/cvsroot/emacs/oldXMenu/AddSel.c,v 1.1 1999/10/03 19:34:52 fx Exp $ */
+/* $Header: /cvs/emacs/oldXMenu/AddSel.c,v 1.2 2000/01/27 15:30:18 gerd Exp $ */
 /* Copyright    Massachusetts Institute of Technology    1985  */
 
 /*
@@ -32,7 +32,7 @@ XMenuAddSelection(display, menu, p_num, data, label, active, help)
 
     int label_length;          /* Label lenght in characters. */
     int label_width;           /* Label width in pixels. */
-    
+
     /*
      * Check for NULL pointers!
      */
@@ -59,7 +59,7 @@ XMenuAddSelection(display, menu, p_num, data, label, active, help)
      */
     label_length = strlen(label);
     label_width = XTextWidth(menu->s_fnt_info, label, label_length);
-    
+
     /*
      * Fill the XMSelect structure.
      */
@@ -81,7 +81,7 @@ XMenuAddSelection(display, menu, p_num, data, label, active, help)
     select->data = data;
     select->parent_p = pane;
     select->help_string = help;
-    
+
     /*
      * Insert the selection at the end of the selection list.
      */
index 591fbb7e8860df11b16b720ea6fb29e3d4f85a06..d436a480a1b1952eec97c00ce782c0c0f1635e36 100644 (file)
@@ -1,6 +1,6 @@
 #include "copyright.h"
 
-/* $Header: /u/src/emacs/19.0/oldXMenu/RCS/ChgSel.c,v 1.1 1992/04/11 22:10:17 jimb Exp $ */
+/* $Header: /cvs/emacs/oldXMenu/ChgSel.c,v 1.1 1999/10/03 19:34:54 fx Exp $ */
 /* Copyright    Massachusetts Institute of Technology    1985  */
 
 /*
@@ -28,7 +28,7 @@ XMenuChangeSelection(display, menu, p_num, s_num, data, data_sw, label, label_sw
 {
     register XMPane *p_ptr;    /* XMPane pointer. */
     register XMSelect *s_ptr;  /* XMSelect pointer. */
-    
+
     int label_length;          /* Label length in characters. */
     int label_width;           /* Label width in pixels. */
 
index ffbee5934217e34c5b863a9d85c7a5785333ac54..e500e406349bde02c35380694e9c4d89fb7be077 100644 (file)
@@ -1,4 +1,4 @@
-/* $Header: /u/src/emacs/19.0/oldXMenu/RCS/Create.c,v 1.4 1993/03/09 18:18:01 jimb Exp $ */
+/* $Header: /cvs/emacs/oldXMenu/Create.c,v 1.1 1999/10/03 19:34:56 fx Exp $ */
 /* Copyright    Massachusetts Institute of Technology    1985  */
 
 #include "copyright.h"
@@ -98,7 +98,7 @@ char *x_get_resource_string ();
 
 
 
-static Status 
+static Status
 XAllocDisplayColor(display, map, colorName, color, junk)
     Display *display;
     Colormap map;
@@ -189,7 +189,7 @@ XMenuCreate(display, parent, def_env)
   Pixmap stipple_pixmap;       /* Stipple mask for half-tone text. */
   unsigned long valuemask;
   XGCValues *values;
-    
+
   Window root = RootWindow (display, DefaultScreen (display));
 
   /*
@@ -205,8 +205,8 @@ XMenuCreate(display, parent, def_env)
     _XMErrorCode = XME_CALLOC;
     return(NULL);
   }
-    
-  /* 
+
+  /*
    * Create the XAssocTable
    */
   assoc_tab = (XAssocTable *)XCreateAssocTable(XASSOC_TABLE_SIZE);
@@ -266,14 +266,14 @@ XMenuCreate(display, parent, def_env)
     if (strcmp(def_val, "box") == 0) menu_mode = BOX;
     else if (strcmp(def_val, "invert") == 0) menu_mode = INVERT;
   }
-    
+
   def_val = x_get_resource_string ("menuMouse", "MenuMouse");
   if (
       def_val != NULL &&
       DisplayCells(display, DefaultScreen(display)) > 2 &&
-      XAllocDisplayColor(display, 
-                        DefaultColormap(display, DefaultScreen(display)), 
-                        def_val, 
+      XAllocDisplayColor(display,
+                        DefaultColormap(display, DefaultScreen(display)),
+                        def_val,
                         &mouse_color, &color_def)
       );
   else if (reverse &&
@@ -282,13 +282,13 @@ XMenuCreate(display, parent, def_env)
                              "white",
                              &mouse_color, &color_def)
           );
-    
+
   else if (XAllocDisplayColor(display,
                              DefaultColormap(display, DefaultScreen(display)),
-                             "black", 
+                             "black",
                              &mouse_color, &color_def)
           );
-    
+
   else ;
 
   def_val = x_get_resource_string ("menuBackground", "MenuBackground");
@@ -335,15 +335,15 @@ XMenuCreate(display, parent, def_env)
   def_val = x_get_resource_string ("paneForeground", "PaneForeground");
   if (
       def_val != NULL &&
-      DisplayCells(display, DefaultScreen(display)) > 2 
+      DisplayCells(display, DefaultScreen(display)) > 2
       )
     XAllocDisplayColor(display, DefaultColormap(display,
                                                DefaultScreen(display)),
                       def_val,
                       &p_frg_color, &color_def);
-         
+
   else if (reverse) XAllocDisplayColor(display,
-                                      DefaultColormap(display, 
+                                      DefaultColormap(display,
                                                       DefaultScreen(display)),
                                       "white",
                                       &p_frg_color, &color_def);
@@ -362,19 +362,19 @@ XMenuCreate(display, parent, def_env)
                         &p_bdr_color, &color_def)
       );
   else if (reverse &&
-          XAllocDisplayColor(display, 
+          XAllocDisplayColor(display,
                              DefaultColormap(display, DefaultScreen(display)),
                              "white",
                              &p_bdr_color, &color_def)
           );
-  else XAllocDisplayColor(display, 
+  else XAllocDisplayColor(display,
                          DefaultColormap(display, DefaultScreen(display)),
                          "black",
                          &p_bdr_color, &color_def);
-    
+
   def_val = x_get_resource_string ("paneBorderWidth", "PaneBorderWidth");
   if (def_val != NULL) p_bdr_width = atoi(def_val);
-    
+
   def_val = x_get_resource_string ("paneSpread", "PaneSpread");
   if (def_val != NULL) p_spread = atof(def_val);
 
@@ -396,7 +396,7 @@ XMenuCreate(display, parent, def_env)
                         DefaultColormap(display, DefaultScreen(display)),
                         def_val,
                         &s_frg_color, &color_def)
-      ); 
+      );
   else if (reverse &&
           XAllocDisplayColor(display,
                              DefaultColormap(display, DefaultScreen(display)),
@@ -409,7 +409,7 @@ XMenuCreate(display, parent, def_env)
                              &s_frg_color, &color_def)
           ) ;
   else ;
-    
+
 
   def_val = x_get_resource_string ("selectionBorder", "SelectionBorder");
   if (
@@ -421,7 +421,7 @@ XMenuCreate(display, parent, def_env)
                         &s_bdr_color, &color_def)
       ) ;
   else if (reverse &&
-          XAllocDisplayColor(display, 
+          XAllocDisplayColor(display,
                              DefaultColormap(display, DefaultScreen(display)),
                              "white",
                              &s_bdr_color, &color_def)
@@ -435,7 +435,7 @@ XMenuCreate(display, parent, def_env)
 
   def_val = x_get_resource_string ("selectionBorderWidth", "SelectionBorderWidth");
   if (def_val != NULL) s_bdr_width = atoi(def_val);
-    
+
   def_val = x_get_resource_string ("selectionSpread", "SelectionSpread");
   if (def_val != NULL) s_spread = atof(def_val);
 
@@ -446,7 +446,7 @@ XMenuCreate(display, parent, def_env)
     char *data = NULL;
     int width, height;
 
-    switch (inact_pnum) 
+    switch (inact_pnum)
       {
       case 0:
        data = (char *)dimple1_bits;
@@ -495,7 +495,7 @@ XMenuCreate(display, parent, def_env)
   /*
    * Load the mouse cursor.
    */
-         
+
   switch (menu_style) {
   case LEFT:
     cursor = XCreateBitmapFromData(display,
@@ -510,13 +510,13 @@ XMenuCreate(display, parent, def_env)
                                        left_ptrmsk_height);
     mouse_cursor = XCreatePixmapCursor(
                                       display,
-                                      cursor, cursor_mask, 
+                                      cursor, cursor_mask,
                                       &mouse_color, &bkgnd_color,
                                       left_ptr_x_hot,
                                       left_ptr_y_hot
                                       );
     XFreePixmap(display, cursor);
-    XFreePixmap(display, cursor_mask);     
+    XFreePixmap(display, cursor_mask);
     break;
   case RIGHT:
     cursor = XCreateBitmapFromData(display,
@@ -537,7 +537,7 @@ XMenuCreate(display, parent, def_env)
                                       right_ptr_y_hot
                                       );
     XFreePixmap(display, cursor);
-    XFreePixmap(display, cursor_mask);     
+    XFreePixmap(display, cursor_mask);
     break;
   case CENTER:
     cursor = XCreateBitmapFromData(display,
@@ -558,7 +558,7 @@ XMenuCreate(display, parent, def_env)
                                       cntr_ptr_y_hot
                                       );
     XFreePixmap(display, cursor);
-    XFreePixmap(display, cursor_mask);     
+    XFreePixmap(display, cursor_mask);
     break;
   default:
     /* Error! Invalid style parameter. */
@@ -573,12 +573,12 @@ XMenuCreate(display, parent, def_env)
   /*
    * Open the pane and selection fonts.
    */
-    
+
   p_fnt_info = XLoadQueryFont(display, p_fnt_name);
   if (p_fnt_info == NULL) {
     _XMErrorCode = XME_OPEN_FONT;
     return(NULL);
-       
+
   }
 
   s_fnt_info = XLoadQueryFont(display, s_fnt_name);
@@ -619,7 +619,7 @@ XMenuCreate(display, parent, def_env)
    * Initialize the internal pane and selection creation queues.
    */
   _XMWinQueInit();
-    
+
   /*
    * Create pane, active, and inactive GC's.
    */
@@ -634,9 +634,9 @@ XMenuCreate(display, parent, def_env)
   values->background = bkgnd_color.pixel;
   values->font = p_fnt_info->fid;
   values->line_width = p_bdr_width;
-    
+
   pane_GC = XCreateGC(
-                     display, 
+                     display,
                      root,
                      valuemask,
                      values);
@@ -648,7 +648,7 @@ XMenuCreate(display, parent, def_env)
   values->background = bkgnd_color.pixel;
   values->font = s_fnt_info->fid;
   values->line_width = s_bdr_width;
-  normal_select_GC = XCreateGC(display, 
+  normal_select_GC = XCreateGC(display,
                               root,
                               valuemask,
                               values);
@@ -656,20 +656,20 @@ XMenuCreate(display, parent, def_env)
    * Inverse video selection.
    */
 
-  values->foreground = bkgnd_color.pixel;              
+  values->foreground = bkgnd_color.pixel;
   values->background = s_frg_color.pixel;
   values->font = s_fnt_info->fid;
   values->line_width = s_bdr_width;
-  inverse_select_GC = XCreateGC(display, 
+  inverse_select_GC = XCreateGC(display,
                                root,
                                valuemask,
                                values);
   stipple_pixmap = XCreateBitmapFromData(display,
                                         root,
-                                        stipple_bits,          
-                                        stipple_width,         
-                                        stipple_height);       
-    
+                                        stipple_bits,
+                                        stipple_width,
+                                        stipple_height);
+
   /*
    * Finally, inactive pane header and selections
    */
@@ -680,15 +680,15 @@ XMenuCreate(display, parent, def_env)
   values->line_width = s_bdr_width;
   values->fill_style = FillStippled;
   values->stipple = stipple_pixmap;
-       
-  inact_GC = XCreateGC(display, 
+
+  inact_GC = XCreateGC(display,
                       root,
                       valuemask,
                       values);
 
   valuemask |= (GCGraphicsExposures);
   values->graphics_exposures = False;
-  inact_GC_noexpose = XCreateGC (display, 
+  inact_GC_noexpose = XCreateGC (display,
                                 root,
                                 valuemask, values);
 
index cf0354920ce0d9d8e39c0bb4138d1422f4462a35..f656c32ea0786d32ca8742e8e5202c71dafb3038 100644 (file)
@@ -1,6 +1,6 @@
 #include "copyright.h"
 
-/* $Header: /u/src/emacs/19.0/oldXMenu/RCS/DelPane.c,v 1.1 1992/04/11 22:10:18 jimb Exp $ */
+/* $Header: /cvs/emacs/oldXMenu/DelPane.c,v 1.1 1999/10/03 19:34:57 fx Exp $ */
 /* Copyright    Massachusetts Institute of Technology    1985  */
 
 /*
@@ -24,7 +24,7 @@ XMenuDeletePane(display, menu, p_num)
     register XMPane *p_ptr;    /* Pointer to pane being deleted. */
     register XMSelect *s_ptr;  /* Pointer to selections being deleted. */
     register XMSelect *s_next;  /* Pointer to next selection to be deleted. */
-        
+
     /*
      * Find the right pane.
      */
@@ -48,7 +48,7 @@ XMenuDeletePane(display, menu, p_num)
      * association table and free their XMSelect structures.
      */
     for (
-       s_ptr = p_ptr->s_list->next; 
+       s_ptr = p_ptr->s_list->next;
        s_ptr != p_ptr->s_list;
        s_ptr = s_next
     ) {
@@ -63,13 +63,13 @@ XMenuDeletePane(display, menu, p_num)
         * Destroy the selection transparencies.
         */
        XDestroySubwindows(display, p_ptr->window);
-    
+
        /*
         * Destroy the pane window.
         */
        XDestroyWindow(display, p_ptr->window);
     }
-    
+
     /*
      * Free the pane's XMPane structure.
      */
index 9f520860df803e06b90eecccb87cad84abfbc399..76adcc17f2fd70e7f814a9b00a4f8c8c9b9c4055 100644 (file)
@@ -1,6 +1,6 @@
 #include "copyright.h"
 
-/* $Header: /u/src/emacs/19.0/oldXMenu/RCS/DelSel.c,v 1.1 1992/04/11 22:10:18 jimb Exp $ */
+/* $Header: /cvs/emacs/oldXMenu/DelSel.c,v 1.1 1999/10/03 19:34:58 fx Exp $ */
 /* Copyright    Massachusetts Institute of Technology    1985  */
 
 /*
@@ -24,7 +24,7 @@ XMenuDeleteSelection(display, menu, p_num, s_num)
 {
     register XMPane *p_ptr;    /* Pointer to pane being deleted. */
     register XMSelect *s_ptr;  /* Pointer to selections being deleted. */
-        
+
     /*
      * Find the right pane.
      */
@@ -53,7 +53,7 @@ XMenuDeleteSelection(display, menu, p_num, s_num)
      * Destroy the selection transparency.
      */
     if (s_ptr->window) XDestroyWindow(display, s_ptr->window);
-    
+
     /*
      * Free the selection's XMSelect structure.
      */
index b7f34fc47884afe48582404c433a755b070871cd..588af2ad37df0ab359aebfd25f33e38149ac2a6b 100644 (file)
@@ -1,6 +1,6 @@
 #include "copyright.h"
 
-/* $Header: /u/src/emacs/19.0/oldXMenu/RCS/Destroy.c,v 1.1 1992/04/11 22:10:18 jimb Exp $ */
+/* $Header: /cvs/emacs/oldXMenu/Destroy.c,v 1.1 1999/10/03 19:34:59 fx Exp $ */
 /* Copyright    Massachusetts Institute of Technology    1985  */
 
 /*
@@ -80,33 +80,33 @@ XMenuDestroy(display, menu)
      */
     if ((menu->p_bdr_color != BlackPixel(display, DefaultScreen(display))) && (menu->p_bdr_color != WhitePixel(display, DefaultScreen(display))))
        XFreeColors(
-                   display, 
+                   display,
                    DefaultColormap(display, DefaultScreen(display)),
-                   &menu->p_bdr_color, 
+                   &menu->p_bdr_color,
                    1, 0);
     if ((menu->s_bdr_color != BlackPixel(display, DefaultScreen(display))) && (menu->s_bdr_color != WhitePixel(display, DefaultScreen(display))))
        XFreeColors(
-                   display, 
-                   DefaultColormap(display, DefaultScreen(display)), 
-                   &menu->s_bdr_color, 
+                   display,
+                   DefaultColormap(display, DefaultScreen(display)),
+                   &menu->s_bdr_color,
                    1, 0);
     if ((menu->p_frg_color != BlackPixel(display, DefaultScreen(display))) && (menu->p_frg_color != WhitePixel(display, DefaultScreen(display))))
        XFreeColors(
-                   display, 
+                   display,
                    DefaultColormap(display, DefaultScreen(display)),
-                   &menu->p_frg_color, 
+                   &menu->p_frg_color,
                    1, 0);
     if ((menu->s_frg_color != BlackPixel(display, DefaultScreen(display))) && (menu->s_frg_color != WhitePixel(display, DefaultScreen(display))))
        XFreeColors(
-                   display, 
+                   display,
                    DefaultColormap(display, DefaultScreen(display)),
-                   &menu->s_frg_color, 
+                   &menu->s_frg_color,
                    1, 0);
     if ((menu->bkgnd_color != BlackPixel(display, DefaultScreen(display))) && (menu->bkgnd_color != WhitePixel(display, DefaultScreen(display))))
        XFreeColors(
-                   display, 
+                   display,
                    DefaultColormap(display, DefaultScreen(display)),
-                   &menu->bkgnd_color, 
+                   &menu->bkgnd_color,
                    1, 0);
 
     /*
index a4bed4390762873b27f7499c6255446d85318c12..af1ecce51bb0b800fadf3e3385a16db0284f668a 100644 (file)
@@ -1,12 +1,12 @@
 #include "copyright.h"
 
-/* $Header: /u/src/emacs/19.0/oldXMenu/RCS/FindPane.c,v 1.1 1992/04/11 22:10:19 jimb Exp $ */
+/* $Header: /cvs/emacs/oldXMenu/FindPane.c,v 1.1 1999/10/03 19:35:02 fx Exp $ */
 /* Copyright    Massachusetts Institute of Technology    1985  */
 
 /*
  * XMenu:      MIT Project Athena, X Window system menu package
  *
- *     XMenuFindPane - Find the first menu pane who's label matches a 
+ *     XMenuFindPane - Find the first menu pane who's label matches a
  *                     particular string.
  *
  *     Author:         Tony Della Fera, DEC
@@ -17,7 +17,7 @@
 #include "XMenuInt.h"
 
 int
-XMenuFindPane(menu, label) 
+XMenuFindPane(menu, label)
     register XMenu *menu;
     register char *label;
 {
index 7a0d6e3ec634c25005bc1404ec42e284fdac5092..25fa3390293cae838c00581cf4b0c00f23fe8864 100644 (file)
@@ -1,6 +1,6 @@
 #include "copyright.h"
 
-/* $Header: /u/src/emacs/19.0/oldXMenu/RCS/InsPane.c,v 1.1 1992/04/11 22:10:19 jimb Exp $ */
+/* $Header: /cvs/emacs/oldXMenu/InsPane.c,v 1.1 1999/10/03 19:35:04 fx Exp $ */
 /* Copyright    Massachusetts Institute of Technology    1985  */
 
 /*
@@ -27,7 +27,7 @@ XMenuInsertPane(menu, p_num, label, active)
     register XMPane *p_ptr;    /* XMPane pointer. */
     register XMPane *pane;     /* Newly created pane. */
     register XMSelect *select; /* Initial selection for the new pane. */
-        
+
     int label_length;          /* Label length in characters. */
     int label_width;           /* Label width in pixels. */
 
@@ -95,7 +95,7 @@ XMenuInsertPane(menu, p_num, label, active)
     emacs_insque(pane, p_ptr);
 
     /*
-     * Update the pane count. 
+     * Update the pane count.
      */
     menu->p_count++;
 
index 200f57574ef545ae86be0d2c3bd315cfbf5dede0..b2c75c1043afbb9c16cd9f207f77c6fbd2b1f5f4 100644 (file)
@@ -1,6 +1,6 @@
 #include "copyright.h"
 
-/* $Header: /u/src/emacs/19.0/oldXMenu/RCS/InsSel.c,v 1.1 1992/04/11 22:10:19 jimb Exp $ */
+/* $Header: /cvs/emacs/oldXMenu/InsSel.c,v 1.1 1999/10/03 19:35:05 fx Exp $ */
 /* Copyright    Massachusetts Institute of Technology    1985  */
 
 /*
@@ -32,7 +32,7 @@ XMenuInsertSelection(menu, p_num, s_num, data, label, active)
 
     int label_length;          /* Label length in characters. */
     int label_width;           /* Label width in pixels. */
-    
+
     /*
      * Check for NULL pointers!
      */
index 39a6a3be6a4574f618b110929b0a20fdc4faed5b..a8941bf3ee299bae48dd53cbd9c006bbf0779cac 100644 (file)
@@ -1,6 +1,6 @@
 #include "copyright.h"
 
-/* $Header: /u/src/emacs/19.0/oldXMenu/RCS/Internal.c,v 1.1 1992/04/11 22:10:20 jimb Exp $ */
+/* $Header: /cvs/emacs/oldXMenu/Internal.c,v 1.1 1999/10/03 19:35:07 fx Exp $ */
 /* Copyright    Massachusetts Institute of Technology    1985  */
 
 /*
@@ -51,7 +51,7 @@ static XMWinQue _XMWinQue;
 /*
  * _XMErrorCode - Global XMenu error code.
  */
-int _XMErrorCode = XME_NO_ERROR; 
+int _XMErrorCode = XME_NO_ERROR;
 /*
  * _XMErrorList - Global XMenu error code description strings.
  */
@@ -204,7 +204,7 @@ _XMWinQueFlush(display, menu, pane, select)
     /*
      * If the pane window queue is not empty...
      */
-    
+
     if (_XMWinQue.pq_size > 0) {
        /*
         * set up attributes for pane window to be created.
@@ -214,7 +214,7 @@ _XMWinQueFlush(display, menu, pane, select)
        attributes->border_pixel = menu->p_bdr_color;
        attributes->background_pixmap = menu->inact_pixmap;
        attributes->override_redirect = True;
-       
+
        /*
         * Create all the pending panes in order, so that the
         * current pane will be on top, with the others
@@ -222,7 +222,7 @@ _XMWinQueFlush(display, menu, pane, select)
         */
        for (pq_index = _XMWinQue.pq_size - 1;
             pq_index >= 0;
-            pq_index--) 
+            pq_index--)
          {
              p_ptr = _XMWinQue.pq[pq_index];  /* Retrieve next pane. */
              if (p_ptr == pane) break;
@@ -243,7 +243,7 @@ _XMWinQueFlush(display, menu, pane, select)
          }
        for (pq_index = 0;
             pq_index < _XMWinQue.pq_size;
-            pq_index++) 
+            pq_index++)
          {
              p_ptr = _XMWinQue.pq[pq_index];   /* Retrieve next pane. */
              p_ptr->window = XCreateWindow(display,
@@ -273,7 +273,7 @@ _XMWinQueFlush(display, menu, pane, select)
     /*
      * If the selection window queue is not empty...
      */
-    
+
     if (_XMWinQue.sq_size > 0) {
 
        for (sq_index = 0; sq_index < _XMWinQue.sq_size; sq_index++) {
@@ -293,10 +293,10 @@ _XMWinQueFlush(display, menu, pane, select)
                                   CopyFromParent,
                                   0,
                                   attributes);
-           
+
            /*
             * Insert the new window id and its
-            * associated XMSelect structure into the 
+            * associated XMSelect structure into the
             * association table.
             */
            XMakeAssoc(display, menu->assoc_tab, s_ptr->window, s_ptr);
@@ -371,7 +371,7 @@ _XMGetSelectionPtr(p_ptr, s_num)
 {
     register XMSelect *s_ptr;  /* Selection pointer to be returned. */
     register int i;            /* Loop counter. */
-    
+
     /*
      * Is the selection number out of range?
      */
@@ -400,7 +400,7 @@ _XMGetSelectionPtr(p_ptr, s_num)
  *                      global values.
  */
 _XMRecomputeGlobals(display, menu)
-    register Display *display; /*X11 display variable. */      
+    register Display *display; /*X11 display variable. */
     register XMenu *menu;      /* Menu object to compute from. */
 {
     register XMPane *p_ptr;    /* Pane pointer. */
@@ -418,7 +418,7 @@ _XMRecomputeGlobals(display, menu)
     int s_width;               /* Selection window width. */
 
     int screen;                        /* DefaultScreen holder. */
-    
+
     /*
      * For each pane...
      */
@@ -427,14 +427,14 @@ _XMRecomputeGlobals(display, menu)
        p_ptr != menu->p_list;
        p_ptr = p_ptr->next
     ){
-       
+
        /*
         * Recompute maximum pane label width.
         */
        max_p_label = max(max_p_label, p_ptr->label_width);
 
        /*
-        * Recompute maximum selection count. 
+        * Recompute maximum selection count.
         */
        s_count = max(s_count, p_ptr->s_count);
 
@@ -495,7 +495,7 @@ _XMRecomputeGlobals(display, menu)
     menu->p_width = p_width;
     menu->s_width = s_width;
 
-    /* 
+    /*
      * Ensure that the origin of the menu is placed so that
      * None of the panes ore selections are off the screen.
      */
@@ -522,10 +522,10 @@ _XMRecomputePane(display, menu, p_ptr, p_num)
 {
     register int window_x;     /* Recomputed window X coordinate. */
     register int window_y;     /* Recomputed window Y coordinate. */
-    
+
     unsigned long change_mask; /* Value mask to reconfigure window. */
     XWindowChanges *changes;   /* Values to use in configure window. */
-    
+
     register Bool config_p = False;    /* Reconfigure pane window? */
 
     /*
@@ -558,7 +558,7 @@ _XMRecomputePane(display, menu, p_ptr, p_num)
     window_y += menu->y_pos;
 
     /*
-     * If the newly compute pane coordinates differ from the 
+     * If the newly compute pane coordinates differ from the
      * current coordinates, reset the current coordinates and
      * reconfigure the pane.
      */
@@ -608,7 +608,7 @@ _XMRecomputePane(display, menu, p_ptr, p_num)
            changes->y = p_ptr->window_y;
            changes->width = p_ptr->window_w;
            changes->height = p_ptr->window_h;
-           
+
            XConfigureWindow(
                             display,
                             p_ptr->window,
@@ -616,7 +616,7 @@ _XMRecomputePane(display, menu, p_ptr, p_num)
                             changes
                             );
            free(changes);
-           
+
        }
        else {
            if (_XMWinQueAddPane(display, menu, p_ptr) == _FAILURE) {
@@ -624,7 +624,7 @@ _XMRecomputePane(display, menu, p_ptr, p_num)
            }
        }
     }
+
     /*
      * Recompute label X position.
      */
@@ -673,7 +673,7 @@ _XMRecomputeSelection(display, menu, s_ptr, s_num)
     register Bool config_s = False;    /* Reconfigure selection window? */
     XWindowChanges *changes;           /* Values to change in configure. */
     unsigned long change_mask;         /* Value mask for XConfigureWindow. */
-    
+
     /*
      * If the selection serial numbers are out of order, begin
      * resequencing selections.  Recompute selection window coordinates
@@ -735,7 +735,7 @@ _XMRecomputeSelection(display, menu, s_ptr, s_num)
            changes->y = s_ptr->window_y;
            changes->width = s_ptr->window_w;
            changes->height = s_ptr->window_h;
-           
+
            XConfigureWindow(
                             display,
                             s_ptr->window,
@@ -743,7 +743,7 @@ _XMRecomputeSelection(display, menu, s_ptr, s_num)
                             changes
                             );
            free(changes);
-           
+
        }
        else {
            if (_XMWinQueAddSelection(display, menu, s_ptr) == _FAILURE) {
@@ -775,7 +775,7 @@ _XMRecomputeSelection(display, menu, s_ptr, s_num)
      * Recompute label Y position.
      */
     s_ptr->label_y = s_ptr->window_y + menu->s_fnt_info->max_bounds.ascent + menu->s_fnt_pad + menu->s_bdr_width;
-    
+
     /*
      * All went well, return successfully.
      */
@@ -787,7 +787,7 @@ _XMRecomputeSelection(display, menu, s_ptr, s_num)
 
 /*
  * _XMTransToOrigin - Internal subroutine to translate the point at
- *                   the center of the current pane and selection to the 
+ *                   the center of the current pane and selection to the
  *                   the menu origin.
  *
  *     WARNING! ****** Be certain that all menu dependencies have been
@@ -806,7 +806,7 @@ _XMTransToOrigin(display, menu, p_ptr, s_ptr, x_pos, y_pos, orig_x, orig_y)
 {
     register int l_orig_x;     /* Local X coordinate of the menu origin. */
     register int l_orig_y;     /* Local Y coordinate of the menu origin. */
-    
+
     /*
      * Translate the menu origin such that the cursor hot point will be in the
      * center of the desired current selection and pane.
@@ -863,7 +863,7 @@ _XMRefreshPane(display, menu, pane)
     register XMSelect *s_ptr;
 
     /*
-     * First clear the pane. 
+     * First clear the pane.
      */
     XClearWindow(display, pane->window);
     if (!pane->activated) {
@@ -916,12 +916,12 @@ _XMRefreshPane(display, menu, pane)
        }
     }
 }
-    
-    
+
+
 
 
 /*
- * _XMRefreshSelection - Internal subroutine that refreshes 
+ * _XMRefreshSelection - Internal subroutine that refreshes
  *                      a single selection window.
  */
 _XMRefreshSelection(display, menu, select)
@@ -932,7 +932,7 @@ _XMRefreshSelection(display, menu, select)
     register int width = select->window_w;
     register int height = select->window_h;
     register int bdr_width = menu->s_bdr_width;
-    
+
     if (select->type == SEPARATOR) {
         XDrawLine(display,
                   select->parent_p->window,
@@ -944,11 +944,11 @@ _XMRefreshSelection(display, menu, select)
     }
     else if (select->activated) {
        if (menu->menu_mode == INVERT) {
-           XFillRectangle(display, 
+           XFillRectangle(display,
                           select->parent_p->window,
                           menu->normal_select_GC,
                           select->window_x, select->window_y,
-                          width, height); 
+                          width, height);
            XDrawString(display,
                        select->parent_p->window,
                        menu->inverse_select_GC,
@@ -963,7 +963,7 @@ _XMRefreshSelection(display, menu, select)
             * are slow compared to raster-ops lets use a raster-op to
             * draw the boxes.
              */
-           
+
            XDrawRectangle(display,
                           select->parent_p->window,
                           menu->normal_select_GC,
@@ -980,7 +980,7 @@ _XMRefreshSelection(display, menu, select)
         }
     }
     else {
-       XClearArea(display, 
+       XClearArea(display,
                   select->parent_p->window,
                   select->window_x, select->window_y,
                   width, height,
index 1e02807de9638a865b31f7dbc91a1f876026bcfc..145812dc3b3801bc5362eb4da06f33323fd3d1a2 100644 (file)
@@ -1,6 +1,6 @@
 #include "copyright.h"
 
-/* $Header: /u/src/emacs/19.0/oldXMenu/RCS/Locate.c,v 1.1 1992/04/11 22:10:20 jimb Exp $ */
+/* $Header: /cvs/emacs/oldXMenu/Locate.c,v 1.1 1999/10/03 19:35:09 fx Exp $ */
 /* Copyright    Massachusetts Institute of Technology    1985  */
 
 /*
@@ -31,7 +31,7 @@ XMenuLocate(display, menu, p_num, s_num, x_pos, y_pos, ul_x, ul_y, width, height
 {
     register XMPane *p_ptr;    /* XMPane pointer. */
     register XMSelect *s_ptr;  /* XMSelect pointer. */
-    
+
     /*
      * Are the position arguments positive?
      */
index 471b1d60dc05bc6cadd1282e3625fa4ef7a4a40b..d10b04945d00524cea2f20505832b33513db2881 100644 (file)
@@ -1,6 +1,6 @@
 #include "copyright.h"
 
-/* $Header: /gd/gnu/cvsroot/emacs/oldXMenu/Post.c,v 1.1 1999/10/03 19:35:10 fx Exp $ */
+/* $Header: /cvs/emacs/oldXMenu/Post.c,v 1.2 2000/01/27 15:30:47 gerd Exp $ */
 /* Copyright    Massachusetts Institute of Technology    1985  */
 
 /*
@@ -9,7 +9,7 @@
  *     XMenuPost -     Maps a given menu to the display and activates
  *                     the menu for user selection.  The user is allowed to
  *                     specify the mouse button event mask that will be used
- *                     to identify a selection request.  When a selection 
+ *                     to identify a selection request.  When a selection
  *                     request is received (i.e., when the specified mouse
  *                     event occurs) the data  returned will be either the
  *                     data associated with the particular selection active
@@ -59,11 +59,11 @@ XMenuPost(display, menu, p_num, s_num, x_pos, y_pos, event_mask)
      * Make the procedure call.
      */
     stat = XMenuActivate(
-                        display, 
+                        display,
                         menu,
-                        p_num, s_num, 
-                        x_pos, y_pos, 
-                        event_mask, 
+                        p_num, s_num,
+                        x_pos, y_pos,
+                        event_mask,
                         &data, 0);
 
     /*
index 79b4250633d0c3cee0a250e031fabd12b48cd591..4d6619b77aefddbdd8d98cbcf2c4692db2763fb8 100644 (file)
@@ -1,6 +1,6 @@
 This directory contains the source code for the X11R2 XMenu library.
 
 As of Release 2 of the X Window System, Version 11 from MIT, the XMenu
-library no longer supported.  It is not used in any software supplied 
+library no longer supported.  It is not used in any software supplied
 by MIT and its use is not encouraged.
 
index c433cd550fd9c61a860d677f88746190bec117fa..933a6bf9f331998eb7957e73baaec2f79ef93205 100644 (file)
@@ -1,6 +1,6 @@
 #include "copyright.h"
 
-/* $Header: /u/src/emacs/19.0/oldXMenu/RCS/Recomp.c,v 1.1 1992/04/11 22:10:20 jimb Exp $ */
+/* $Header: /cvs/emacs/oldXMenu/Recomp.c,v 1.1 1999/10/03 19:35:11 fx Exp $ */
 /* Copyright    Massachusetts Institute of Technology    1985  */
 
 /*
@@ -25,7 +25,7 @@ XMenuRecompute(display, menu)
 
     register int p_num;                /* Pane serial number. */
     register int s_num;                /* Selection serial number. */
-    
+
     /*
      * If there are no panes in the menu then return failure
      * because the menu is not initialized.
@@ -44,7 +44,7 @@ XMenuRecompute(display, menu)
     /*
      * For each pane in the menu...
      */
-        
+
     p_num = 0;
     for (
        p_ptr = menu->p_list->next;
@@ -58,7 +58,7 @@ XMenuRecompute(display, menu)
            return(XM_FAILURE);
        }
         p_num++;
-       
+
        /*
         * For each selection in the pane...
         */
index 0db2c8eb6bb87f9827552232d60f77e647a95532..af812be31fe08fd944e7804345d1e204e3c86bb2 100644 (file)
@@ -1,6 +1,6 @@
 #include "copyright.h"
 
-/* $Header: /u/src/emacs/19.0/oldXMenu/RCS/SetSel.c,v 1.1 1992/04/11 22:10:21 jimb Exp $ */
+/* $Header: /cvs/emacs/oldXMenu/SetSel.c,v 1.1 1999/10/03 19:35:15 fx Exp $ */
 /* Copyright    Massachusetts Institute of Technology    1985  */
 
 /*
@@ -24,7 +24,7 @@ XMenuSetSelection(menu, p_num, s_num, active)
 {
     register XMPane *p_ptr;    /* XMPane pointer. */
     register XMSelect *s_ptr;  /* XMSelect pointer. */
-    
+
     /*
      * Find the right pane.
      */
index 4a983feac20b8f4034c812a5692e5bf7627d3310..b6ba06e85dafe8c89109328a0aca58d59451b4ae 100644 (file)
@@ -1,14 +1,14 @@
-/* $Header: /u/src/emacs/19.0/oldXMenu/RCS/X10.h,v 1.1 1992/04/11 22:10:21 jimb Exp $ */
-/* 
+/* $Header: /cvs/emacs/oldXMenu/X10.h,v 1.1 1999/10/03 19:35:16 fx Exp $ */
+/*
  * Copyright 1985, 1986, 1987 by the Massachusetts Institute of Technology
  *
  * Permission to use, copy, modify, and distribute this software and its
- * documentation for any purpose and without fee is hereby granted, provided 
- * that the above copyright notice appear in all copies and that both that 
- * copyright notice and this permission notice appear in supporting 
+ * documentation for any purpose and without fee is hereby granted, provided
+ * that the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
  * documentation, and that the name of M.I.T. not be used in advertising
- * or publicity pertaining to distribution of the software without specific, 
- * written prior permission. M.I.T. makes no representations about the 
+ * or publicity pertaining to distribution of the software without specific,
+ * written prior permission. M.I.T. makes no representations about the
  * suitability of this software for any purpose.  It is provided "as is"
  * without express or implied warranty.
  *
@@ -38,15 +38,15 @@ typedef struct {
 #define VertexCurved           0x0004          /* else straight */
 #define VertexStartClosed      0x0008          /* else not */
 #define VertexEndClosed                0x0010          /* else not */
-/*#define VertexDrawLastPoint  0x0020  */      /* else don't */        
+/*#define VertexDrawLastPoint  0x0020  */      /* else don't */
 
 /*
-The VertexDrawLastPoint option has not been implemented in XDraw and 
-XDrawFilled so it shouldn't be defined. 
+The VertexDrawLastPoint option has not been implemented in XDraw and
+XDrawFilled so it shouldn't be defined.
 */
 
 /*
- * XAssoc - Associations used in the XAssocTable data structure.  The 
+ * XAssoc - Associations used in the XAssocTable data structure.  The
  * associations are used as circular queue entries in the association table
  * which is contains an array of circular queues (buckets).
  */
@@ -58,11 +58,11 @@ typedef struct _XAssoc {
        char *data;             /* Pointer to untyped memory. */
 } XAssoc;
 
-/* 
+/*
  * XAssocTable - X Window System id to data structure pointer association
  * table.  An XAssocTable is a hash table whose buckets are circular
  * queues of XAssoc's.  The XAssocTable is constructed from an array of
- * XAssoc's which are the circular queue headers (bucket headers).  
+ * XAssoc's which are the circular queue headers (bucket headers).
  * An XAssocTable consists an XAssoc pointer that points to the first
  * bucket in the bucket array and an integer that indicates the number
  * of buckets in the array.
index 864ed9d4f1f725b66338c2031019bae79ccb93b4..fae6defea055c007db963df2b48c5ad94f3e6d0a 100644 (file)
@@ -37,14 +37,14 @@ XAssocTable *XCreateAssocTable(size)
        register XAssocTable *table;    /* XAssocTable to be initialized. */
        register XAssoc *buckets;       /* Pointer to the first bucket in */
                                        /* the bucket array. */
-       
+
        /* Malloc the XAssocTable. */
        if ((table = (XAssocTable *)malloc(sizeof(XAssocTable))) == NULL) {
                /* malloc call failed! */
                errno = ENOMEM;
                return(NULL);
        }
-       
+
        /* calloc the buckets (actually just their headers). */
        buckets = (XAssoc *)calloc((unsigned)size, (unsigned)sizeof(XAssoc));
        if (buckets == NULL) {
index 452dd223bd8ffccc77f4baacc21b4d99233e9986..d43b9c9576dc3a32c1089257616b718f579d9034 100644 (file)
@@ -18,7 +18,7 @@ without express or implied warranty.
 
 /*
  * XDestroyAssocTable - Destroy (free the memory associated with)
- * an XAssocTable.  
+ * an XAssocTable.
  */
 XDestroyAssocTable(table)
        register XAssocTable *table;
index f80952a63459fe92c44e62c74fb33b730c7ab103..b3a98ca2569c3f265efebb792ab362b3332e64e9 100644 (file)
@@ -21,7 +21,7 @@ without express or implied warranty.
 #define NULL 0
 #endif
 
-/* 
+/*
  * XLookUpAssoc - Retrieve the data stored in an XAssocTable by its XId.
  * If an appropriately matching XId can be found in the table the routine will
  * return apointer to the data associated with it. If the XId can not be found
index d4682700ed2432551252b8f80845ee353fa67b7e..f6ce766a9a071b14ff7513d7350f436f767a2b3d 100644 (file)
@@ -47,7 +47,7 @@ XMakeAssoc(dpy, table, x_id, data)
        register XAssoc *bucket;
        register XAssoc *Entry;
        register XAssoc *new_entry;
-       
+
        /* Hash the XId to get the bucket number. */
        hash = x_id & (table->size - 1);
        /* Look up the bucket to get the entries in that bucket. */
index b94c01548cd5035a223046ce4ef6e0b883576fde..3188f66fa4ce031597dd8d2c1963d525816b69f8 100644 (file)
@@ -1,6 +1,6 @@
 #include "copyright.h"
 
-/* $Header: /gd/gnu/cvsroot/emacs/oldXMenu/XMenu.h,v 1.1 1999/10/03 19:35:23 fx Exp $ */
+/* $Header: /cvs/emacs/oldXMenu/XMenu.h,v 1.2 2000/01/27 15:29:38 gerd Exp $ */
 /* Copyright    Massachusetts Institute of Technology    1985  */
 
 /*
@@ -8,7 +8,7 @@
  *
  *     XMenu.h -       Include file for the MIT Project Athena
  *                     XMenu X window system menu package.
- *                     
+ *
  *     Author:         Tony Della Fera, DEC
  *                     August, 1984
  */
@@ -169,8 +169,8 @@ typedef enum _xmmode {
 } XMMode;
 
 
-/* 
- * Define the XMenu datatype. 
+/*
+ * Define the XMenu datatype.
  *
  * All dimensions are in pixels unless otherwise noted.
  */
@@ -216,7 +216,7 @@ typedef struct _xmenu {
     int s_y_off;               /* Selection window Y offset. */
     int s_count;               /* Maximum number of selections per pane. */
     GC normal_select_GC;       /* GC used for inactive selections. */
-    GC inverse_select_GC;      /* GC used for active (current) selection. */  
+    GC inverse_select_GC;      /* GC used for active (current) selection. */
     GC inact_GC;               /* GC used for inactive selections and */
                                /* panes headers. */
     /* -------------------- Color data -------------------- */
index 7f3f013509a99de4252d1a1fbf8b0eadc34f931a..3929f20bc7914d9aa77c794c3757e69ccf583da8 100644 (file)
@@ -1,5 +1,5 @@
 
-/* $Header: /u/src/emacs/19.0/oldXMenu/RCS/XMenuInt.h,v 1.3 1992/10/10 16:05:10 jimb Exp $ */
+/* $Header: /cvs/emacs/oldXMenu/XMenuInt.h,v 1.1 1999/10/03 19:35:24 fx Exp $ */
 /* Copyright    Massachusetts Institute of Technology    1985  */
 
 /*
@@ -8,7 +8,7 @@
  *     XMenuInternal.h - Internal menu system include file for the
  *                     MIT Project Athena XMenu X window system
  *                     menu package.
- *                     
+ *
  *     Author:         Tony Della Fera, DEC
  *                     October, 1985
  */
index 4d264434d26dd7ae9d22571374baab4c783b59a4..e15db5d656679d7fba4773f202426febebf254aa 100644 (file)
@@ -13,7 +13,7 @@ struct qelem {
 /* Insert ELEM into a doubly-linked list, after PREV.  */
 
 void
-emacs_insque (elem, prev) 
+emacs_insque (elem, prev)
      struct qelem *elem, *prev;
 {
   struct qelem *next = prev->q_forw;
index 705a6e836a788ba74654dee1b23a005fb5e0e8d6..ca6f5f255a266dd0a3b5016bf33bbe83b7749f6d 100644 (file)
@@ -334,7 +334,7 @@ end
 
 define xbacktrace
   set $bt = backtrace_list
-  while $bt 
+  while $bt
     set $type = (enum Lisp_Type) ((*$bt->function >> gdb_valbits) & 0x7)
     if $type == Lisp_Symbol
       xprintsym *$bt->function
@@ -353,7 +353,7 @@ define xbacktrace
 end
 document xbacktrace
   Print a backtrace of Lisp function calls from backtrace_list.
-  Set a breakpoint at Fsignal and call this to see from where 
+  Set a breakpoint at Fsignal and call this to see from where
   an error was signaled.
 end
 
index 890ea110a3e2304abbb9058341cea945209f9cc2..a93f4ab9825e85f3d88d58e970f3c9c9e3f1f20c 100644 (file)
        * editfns.c (Fcurrent_time_zone): Don't forget to include code to
        signal an error when EMACS_CURRENT_TIME_ZONE is not defined.
 
-1992-08-06  Joseph Arceneaux (jla@gnu.ai.mit.edu)
+1992-08-06  Joseph Arceneaux  (jla@gnu.ai.mit.edu)
 
         * doc.c (Vdata_directory): Declared.
        (syms_of_doc): Initialized.
        character from the key sequence, NOT the index of the character IN
        the key sequence.  How many tries will it take to get it right?
 
-1992-08-04  Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+1992-08-04  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)
 
        * eval.c (syms_of_eval): Doc fix for debug-on-quit.
 
index 13c49fa72db7ad94f4964273e0143f462c4db98f..36ec0081a62fe7f60ee51f6e41287b3eed82f083 100644 (file)
@@ -20,7 +20,7 @@
 
        * xdisp.c (redisplay): If have window change at end, redisplay again.
 
-       * lread.c (defvar_bool, defvar_int, defvar_lisp, defvar_lisp_nopro): 
+       * lread.c (defvar_bool, defvar_int, defvar_lisp, defvar_lisp_nopro):
        Delete third arg DOC.
 
        * s/hpux8.h (LD_SWITCH_SYSTEM): Delete the -L options.
        * floatfns.c: Don't guard DOMAIN && SING && OVERFLOW check by
        an #ifndef MSDOS.
 
-1994-05-06  Francesco Potorti` (pot@cnuce.cnr.it)
+1994-05-06  Francesco Potorti`  (pot@cnuce.cnr.it)
 
        * m/delta.h: (SYSTEM_MALLOC): deleted.  The problem isn't there.
 
        x_destroy_window): Use row/col instead of buffer position to keep
        track of highlighted area.
 
-1994-05-02  Francesco Potorti` (pot@cnuce.cnr.it)
+1994-05-02  Francesco Potorti`  (pot@cnuce.cnr.it)
 
        * m/delta.h: (SYSTEM_MALLOC): Defined, since GNU malloc does not work.
        (BCOPY_UPWARD_SAFE): Defined to 0 for the Green Hills compiler.
        * xfns.c (Fx_create_frame): Set the size_hint_flags field.
        Don't call x_calc_absolute_position.
        * xterm.c (x_calc_absolute_position): Use size_hint_flags.
-       New FLAGS arg deleted.  Callers changed. 
+       New FLAGS arg deleted.  Callers changed.
 
        * xfns.c (x_figure_window_size): Handle `-' for top or left.
        (Fx_parse_geometry): Handle one element at a time.
        * keyboard.c (read_char): Don't use menus if we have events waiting.
 
        * xterm.c (XTread_socket) [USE_X_TOOLKIT]: Let toolkit handle
-       menu bar click. 
+       menu bar click.
 
 1994-04-25  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
 
 
 1994-04-20  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
 
-       * frame.c (Fmodify_frame_parameters, Fframe_parameters): 
+       * frame.c (Fmodify_frame_parameters, Fframe_parameters):
        Define even if not MULTI_FRAME.
 
        * config.h.in (HAVE_INET_SOCKETS): Add #undef.
        * buffer.h (Vafter_change_functions, Vbefore_change_functions):
        Declared.
 
-       * insdel.c (before_change_functions_restore): 
+       * insdel.c (before_change_functions_restore):
        (after_change_functions_restore): New functions.
        (signal_before_change): Handle Vbefore_change_functions.
        (signal_after_change): Handle Vafter_change_functions.
 
 1994-04-01  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
 
-       * xterm.c (construct_menu_click, construct_mouse_click): 
+       * xterm.c (construct_menu_click, construct_mouse_click):
        Use XSET when setting result->x and result->y.
 
        * xmenu.c (xmenu_show): Undo part of March 11 change:
 
        * xterm.h: Define HAVE_X11R4 if AIX3_2 is defined.
 
-       * xfns.c (x_window) [USE_X_TOOLKIT]: New args window_prompting and 
+       * xfns.c (x_window) [USE_X_TOOLKIT]: New args window_prompting and
        minibuffer_only.
        Don't pass top_pos and left_pos to XtCreatePopupShell.
        Call initialize_frame_menubar before creating the Emacs frame if it is
        not the minibuffer. Call XtManageChild for the menubar widget if any.
        Compute some geometry management.
-       (Fx_create_frame): Pass window_prompting and minibuffer_only to 
+       (Fx_create_frame): Pass window_prompting and minibuffer_only to
        x_window.
        Don't call x_wm_set_size_hint.
        Don't call initialize_frame_menubar.
 
 1994-03-24  Frederic Pierresteguy  (fp@mole.gnu.ai.mit.edu)
 
-       * xfns.c (Fx_create_frame): Add USE_X_TOOLKIT conditional around the 
+       * xfns.c (Fx_create_frame): Add USE_X_TOOLKIT conditional around the
        call to initialize_frame_menubar.
 
 1994-03-23  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
 
 1994-03-23  Frederic Pierresteguy  (fp@geech.gnu.ai.mit.edu)
 
-       * xmenu.c (update_frame_menubar): Function renamed from 
+       * xmenu.c (update_frame_menubar): Function renamed from
        update_one_frame_psheets.
        (initialize_frame_menubar): New function.
        (set_frame_menubar): Call menu_bar_items when items is NIL.
 
        * minibuf.c (read_minibuf): Disallow trailing junk.
 
-1994-03-16  Morten Welinder (terra@diku.dk)
+1994-03-16  Morten Welinder  (terra@diku.dk)
 
        * fileio.c (Ffile_modes) [MSDOS]: set exec-bit based on file suffix.
        * s/msdos.h: use bcopy when moving gap.
 
 1994-03-04  Frederic Pierresteguy  (fp@mole.gnu.ai.mit.edu)
 
-       * xmenu.c (update_one_frame_psheets): Call EmacsFrameSetCharSize to 
+       * xmenu.c (update_one_frame_psheets): Call EmacsFrameSetCharSize to
        force the paned widget to resize to the right value.
        (xmenu_show): No need to check a second time whether the mouse has
        moved to another menu bar item. This slows down execution.
 
 1994-03-04  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)
 
-       * xmenu.c [USE_X_TOOLKIT] (xmenu_show): Pass display to 
+       * xmenu.c [USE_X_TOOLKIT] (xmenu_show): Pass display to
        XtWindowToWidget.
 
 1994-03-03  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
        * frame.c (make_frame): Init menu_bar_items field to 0.
        * xdisp.c (update_menu_bar): Change call to menu_bar_items.
        (display_menu_bar): Use FRAME_MENU_BAR_LINES as vector.
-       * xmenu.c (map_event_to_object, set_frame_menubar): 
+       * xmenu.c (map_event_to_object, set_frame_menubar):
        Use FRAME_MENU_BAR_LINES as vector.
 
 1994-03-01  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
 
        * fileio.c (Finsert_file_contents): If undo_list was t, leave it t.
 
-       * alloc.c (memory_signal_data): No longer static. 
+       * alloc.c (memory_signal_data): No longer static.
        (syms_of_alloc): Stick Qerror onto memory_signal_data.
        * lisp.h (memory_signal_data): Declare it.
        * eval.c (Fsignal): If DATA is memory_signal_data, don't add to it.
        * xmenu.c (free_frame_menubar) [USE_X_TOOLKIT]: New function to destroy
        the X Widget instance of the menubar.
 
-       * widget.c (EmacsFrameResize): Don't call XTranslateCoordinates. Code 
+       * widget.c (EmacsFrameResize): Don't call XTranslateCoordinates. Code
        removed.
 
        * xmenu.c (xmenu_show) [USE_X_TOOLKIT]: Return Qnil when val is null.
 
 1994-02-10  Frederic Pierresteguy  (fp@mole.gnu.ai.mit.edu)
 
-       * xmenu.c (xmenu_show): Test again event.xmotion.x_root in the 
+       * xmenu.c (xmenu_show): Test again event.xmotion.x_root in the
        MotionNotify case.
 
 1994-02-09  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
        * xterm.c (x_set_window_size): New arg CHANGE_GRAVITY.
        (x_new_font): Pass CHANGE_GRAVITY arg to x_set_window_size.
        (x_wm_set_size_hint): New arg CHANGE_GRAVITY.
-       (x_set_offset, x_set_window_size): 
+       (x_set_offset, x_set_window_size):
        Pass CHANGE_GRAVITY arg to x_set_window_size.
-       * xfns.c (x_set_internal_border_width, x_set_vertical_scroll_bars): 
+       * xfns.c (x_set_internal_border_width, x_set_vertical_scroll_bars):
        Pass CHANGE_GRAVITY arg to x_set_window_size.
        (Fx_create_frame): Pass CHANGE_GRAVITY arg to x_wm_set_size_hint.
-       * frame.c (Fset_frame_height, Fset_frame_width, Fset_frame_size): 
+       * frame.c (Fset_frame_height, Fset_frame_width, Fset_frame_size):
        Pass CHANGE_GRAVITY arg to x_set_window_size.
 
        * frame.c (other_visible_frames):
 
 1994-02-04  Frederic Pierresteguy  (fp@mole.gnu.ai.mit.edu)
 
-       * xmenu.c (xmenu_show) [USE_X_TOOLKIT]: Remove the #if 0 directives 
+       * xmenu.c (xmenu_show) [USE_X_TOOLKIT]: Remove the #if 0 directives
        and reverse one to avoid the flickering of the menubar.
 
 1994-02-04  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
 
 1994-01-28  Frederic Pierresteguy  (fp@mole.gnu.ai.mit.edu)
 
-       * xterm.c (x_set_window_size): Add USE_X_TOOLKIT conditional. Call 
+       * xterm.c (x_set_window_size): Add USE_X_TOOLKIT conditional. Call
        EmacsFrameSetCharSize and return.
 
        * xterm.c (x_term_init): Cast to (char **) before assignment to argv.
        * buffer.c, buffer.h [MSDOS]: New buffer-local variable:
        buffer-file-type to handle DOS newlines.
 
-       * callproc.c (syms_of_callproc) [MSDOS]: New lisp variable: 
+       * callproc.c (syms_of_callproc) [MSDOS]: New lisp variable:
        binary-process.
        (init_callproc) [MSDOS]: Initialize binary-process.
        [MSDOS]: Declare binary-process.
        (Fcall_process) [not subprocesses]: Barf if zero buffer argument.
        (call_process_cleanup) [MSDOS]: Close and erase temporary file
        instead of the pid-stuff.
-       (Fcall_process_region) [MSDOS]: Create temporary file in $TMP or 
+       (Fcall_process_region) [MSDOS]: Create temporary file in $TMP or
        $TEMP.
        (Fchild_setup) [MSDOS]: #if 0, as it is not used.
 
        in a slash.
        (Finsert_file_contents) [MSDOS]: Determine file type by name (call
        find-buffer-file-type) and change CR+LF to LF if it is a text file.
-       (Fwrite_region) [MSDOS]: Use text/binary mode as specified by 
+       (Fwrite_region) [MSDOS]: Use text/binary mode as specified by
        buffer_file_type.
        (syms_of_fileio) [MSDOS]: Set Qfind_buffer_file_type.
        (Fsubstitute_in_file_name) [MSDOS]: Ignore case in environtment
 
        * floatfns.c [MSDOS]: Don't define HAVE_MATHERR.
 
-       * keyboard.c [MSDOS]: #include <dos.h> and <time.h>, but not 
+       * keyboard.c [MSDOS]: #include <dos.h> and <time.h>, but not
        <sys/ioctl.h>.
        (read_avail_input) [MSDOS]: Work around `ioctl'.  Also read through
        dos_keyread for better keyboard support.
        * systty.h [MSDOS]: don't #include <sgtty.h>.  We haven't got it.
        Declare dummy main field.  Don't ever use TABs.
 
-       * termcap.c (tgetent) [INTERNAL_TERMINAL]: Fake internal terminal 
+       * termcap.c (tgetent) [INTERNAL_TERMINAL]: Fake internal terminal
        without reading any files.
        (valid_file_name, tgetent) [MSDOS]: Drive letter support.
        (tgetent) [MSDOS]: Use text mode for database.
 
        * m/sun2.h (OTHER_FILES): Use ${libsrc} as dir.
 
-1993-12-15  Michal Jankowski (michalj@fuw.edu.pl)
+1993-12-15  Michal Jankowski  (michalj@fuw.edu.pl)
 
         * insdel.c (del_range): Second argument in call to
         offset_intervals is 'from', not 'point'.
        (redisplay_window): Likewise.
        (display_text_line): Likewise.
        (display_menu_bar): Likewise.
-       (display_mode_element): 
+       (display_mode_element):
 
        * editfns.c (Fmessage): Use message2.
 
 
        * process.c (create_process): Delete SYSV4_PTYS code.
        (deactivate_process): Likewise.
-       
+
 1993-12-06  Richard Stallman  (rms@gnu.ai.mit.edu)
 
        * doc.c (Fsubstitute_command_keys): Ignore menu bar bindings.
        * fileio.c (Fread_file_name): If defalt is nil and user tries to use
        it, signal an error.
 
-       * lisp.h (DEFUN_ARGS_MANY, DEFUN_ARGS_UNEVALLED, DEFUN_ARGS_0,...): 
+       * lisp.h (DEFUN_ARGS_MANY, DEFUN_ARGS_UNEVALLED, DEFUN_ARGS_0,...):
        New macros.
        (DEFUN) [__STDC__]: Use those macros.
 
 
 1993-11-20  Paul Reilly  (pmr@legacy.pajato.com)
 
-       *  s/dgux.h (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF): 
+       *  s/dgux.h (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF):
        Defined (copied from usg5-4.h).
        (FIRST_PTY_LETTER): Deleted.
 
        the case where there are no intervals.
        (Fprevious_single_property_change, Fprevious_property_change)
        Extra arg LIMIT.  Return value was off by 1.
-       (Fnext_single_property_change, Fnext_property_change): 
+       (Fnext_single_property_change, Fnext_property_change):
        Extra arg LIMIT.
        (Fnext_single_property_change): Require at least 2 args.
        * indent.c (compute_motion):
 
 1993-07-09  Karl Berry  (karl@cs.umb.edu)
 
-       * dired.c (file_name_completion): Install case-preserving 
+       * dired.c (file_name_completion): Install case-preserving
        changes from Emacs 18 for completion_ignore_case.
        (completion_ignore_case): Declare.
 
 
        * buffer.c (verify_overlay_modification): Initialize endpos.
 
-       * keymap.c (describe_buffer_bindings): Declare shadow just once. 
+       * keymap.c (describe_buffer_bindings): Declare shadow just once.
 
 1993-08-10  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
 
 
        * m/ibm370aix.h: Total rewrite; includes ibmps2-aix.h.
 
-       * m/ibmps2-aix.h (SYSTEM_TYPE): Don't redefine it here. 
+       * m/ibmps2-aix.h (SYSTEM_TYPE): Don't redefine it here.
 
        * syntax.c: Doc fix.
 
        (textget_direct, Qfront_sticky, Qrear_nonsticky): Declared.
        * textprop.c (Qfront_sticky, Qrear_nonsticky): New variables.
        (syms_of_textprop): Set them up.
-               
+
        Change display code to handle the `invisible' text property.
-       * dispnew.c (direct_output_for_insert): Fail if character 
+       * dispnew.c (direct_output_for_insert): Fail if character
        just inserted has text properties.
        (direct_ouput_forward_char): Fail if moving near invisible chars.
        * indent.c (compute_motion): Compute correctly for invisible text.
 
        * s/sco4.h (HAVE_SOCKETS): Define, if HAVE_INET_SOCKETS.
 
-       * sunfns.c: Fix comment syntax.  Put back the comment 
+       * sunfns.c: Fix comment syntax.  Put back the comment
        saying that we don't maintain this file.
 
        * xterm.c (XTread_socket) [! HAVE_X11R5]:
        be asked.
 
        * textprop.c (syms_of_textprop): Don't forget defsubr for
-       Stext_property_all. 
+       Stext_property_all.
 
        * textprop.c (Ftext_property_any, Ftext_property_all): Use EQ to
        compare property values, not Fequal.
 1993-07-08  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)
 
        * callint.c (check_mark): Don't check mark-active unless in
-       transient-mark-mode.  
+       transient-mark-mode.
        For inactive mark, signal mark-inactive instead of error with a
        message.
        * editfns.c (region_limit): Don't error if Vmark_even_if_inactive
        against Qnil, not 0.
 
        * keyboard.c (Vdouble_click_time): Renamed from double_click_time,
-       and made a Lisp_Object instead of an int.  
+       and made a Lisp_Object instead of an int.
        (make_lispy_event): If Vdouble_click_time is t, impose no time
        limit on double-clicks.
        (syms_of_keyboard): DEFVAR_LISP (not DEFVAR_INT)
 1993-06-28  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
 
        * keymap.c (describe_map_2): Cleanups.
-       Check there's no previous definition in same keymap. 
+       Check there's no previous definition in same keymap.
 
 1993-06-24  Jim Blandy  (jimb@wookumz.gnu.ai.mit.edu)
 
index d7794eb67225c9dfc5d058f036902f3da7257200..1f20b6812f7deef80e1a20f0148df85ef87e99c8 100644 (file)
        * m/intel386.h (C_SWITCH_SYSTEM): Don't #undef or define it.
        [SOLARIS2, SOLARIS2_4, !__GNUC__] (C_SWITCH_MACHINE): Define instead.
 
-1995-03-26  Germano Caronni <caronni@tik.ethz.ch>
+1995-03-26  Germano Caronni  <caronni@tik.ethz.ch>
 
        * ralloc.c (r_re_alloc): Correct realloc behavior--allow shrinking
        of blocks while reallocating, if shrinking by more than one page.
 
        * textprop.c (Fnext_property_change): Fix previous change.
 
-1995-03-23  Kevin Rodgers <kevinr@ihs.com>
+1995-03-23  Kevin Rodgers  <kevinr@ihs.com>
 
        * print.c (temp_output_buffer_setup): (Re)set the default
        directory of the temp buffer to that of the current buffer.
        * dispnew.c (scrolling): Fewer restrictions if scroll_region_ok is
        set.  New vector old_draw_cost for direct scrolling method.
 
-1994-12-23  Michal Jankowski (Michal.Jankowski@fuw.edu.pl)
+1994-12-23  Michal Jankowski  (Michal.Jankowski@fuw.edu.pl)
 
        * keyboard.c (read_char): Don't echo keys when echo_keystrokes is 0.
 
 
        * buffer.c (list_buffers_1): Always mark current_buffer read-only.
 
-1994-10-20  Fred Pierresteguy <F.Pierresteguy@frcl.bull.fr>
+1994-10-20  Fred Pierresteguy  <F.Pierresteguy@frcl.bull.fr>
 
        * m/dpx2.h (LD_SWITCH_MACHINE): Defined.
 
 
        * window.c (syms_of_window): Doc fix.
 
-1994-09-26  Fred Pierresteguy <F.Pierresteguy@frcl.bull.fr>
+1994-09-26  Fred Pierresteguy  <F.Pierresteguy@frcl.bull.fr>
 
        * m/dpx2.h (POSIX_SIGNALS): Define it.
        (sigsetmask): Add #undef.
 
        * editfns.c (Fmessage_box): Renamed from Fbox_message.
 
-1994-09-17  Michael Ben-Gershon (mybg@cs.huji.ac.il)
+1994-09-17  Michael Ben-Gershon  (mybg@cs.huji.ac.il)
 
        * unexec.c (copy_text_and_data): Add RISCiX changes.
 
 
        * term.c (clear_to_end): Fix reversed condition.
 
-1994-09-16  K. Berry <kb@cs.umb.edu>
+1994-09-16  K. Berry  <kb@cs.umb.edu>
 
        * dired.c (Qcompletion_ignored_extensions): New symbol.
        (syms_of_dired): Initialize it.
        * s/msdos.h (MODE_LINE_BINARY_TEXT): Define this symbol.
        * xdisp.c (decode_mode_spec): Use it when defined.
 
-1994-09-16  Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+1994-09-16  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
        * minibuf.c (read_minibuf): Don't add to the history list if the
        minibuffer string is empty, since it is not very useful.
 
        instead of whether SIGIO is defined.
        * Makefile.in.in (xterm.o): Depend on keyboard.h.
 
-1994-08-26  Kevin Rodgers <kevinr@ihs.com>
+1994-08-26  Kevin Rodgers  <kevinr@ihs.com>
 
        * xfns.c (Fx_color_defined_p): Return list of RGB values, not just t.
 
index cc4764a734acc1f6df46135a026a32b80ac55945..3cf30f682e32e1e5520ee1eaf4b09e8c7cfae1e2 100644 (file)
        * xmenu.c (Fx_popup_dialog): Don't fail to initialize WINDOW.
 
        * xdisp.c (prepare_menu_bars): Clear pending_menu_activation.
-       
+
        * print.c: When printing into a buffer, generate all the text
        first, then insert it all at once.
        (print_buffer): New variable.
        * xfns.c (xlwmenu_default_font): Declare, but don't define.
        * xselect.c (last_event_timestamp): Declare, but don't define.
 
-1996-07-15  David Mosberger-Tang <davidm@AZStarNet.com>
+1996-07-15  David Mosberger-Tang  <davidm@AZStarNet.com>
 
        * m/alpha.h (TEXT_START, DATA_START, DATA_SEG_BITS, UNEXEC, DATA_END):
        Omit these definitions if ELF.
        scroll_bar_up_arrow, scroll_bar_down_arrow.
        (win32_scroll_bar_click): New enum constant.
 
-1996-05-03  Andrw Innes <andrewi@harlequin.co.uk>
+1996-05-03  Andrw Innes  <andrewi@harlequin.co.uk>
 
        * makefile.nt (SUBSYSTEM) [NTGUI]: Remove conditional.
        (LINK_FLAGS): Explicitly set base address, and stack and heap sizes.
        * w32fns.c (defined_color): Map color to nearest in default palette.
        (win32_wnd_proc): Special handling for WM_CLOSE.
 
-1996-04-16  Kim Storm <storm@olicom.dk>
+1996-04-16  Kim Storm  <storm@olicom.dk>
 
        * msdos.c (check_timer): Removed; use gettime instead.
        (sys_select): Call __dpmi_yield while waiting for input to
        * keyboard.c (read_key_sequence): Validate the event position
        before calling get_local_map.
 
-1995-08-29  Jack Repenning <jackr@sgi.com>
+1995-08-29  Jack Repenning  <jackr@sgi.com>
 
        * unexelfsgi.c: Compute new data offset based on memory
        address; also, copy .got from memory not temacs.
index 6413b20eeeb5af9dcddc7374041cdcf2a9c7c542..99631e5eefaacfe7cdc7f9c7124aa4d6da39a162 100644 (file)
@@ -83,7 +83,7 @@
 
        * xterm.c, xterm.h: x_display_unibyte_char_with_fontset renamed to
        unibyte_display_via_language_environment.
-       
+
        * xfns.c (unibyte_display_through_language_environment):
        Renamed from x_display_unibyte_char_with_fontset.
 
 
        * commands.h (Vthis_command): Renamed from this_command.
 
-       * minibuf.c (Fminibuffer_complete): 
+       * minibuf.c (Fminibuffer_complete):
        this_command renamed to Vthis_command.
 
        * macros.c (Fcall_last_kbd_macro):
        (real_this_command): New variable, but not a Lisp variable;
        updated like Vthis_command, but never altered by Lisp programs.
        (command_loop_1): Use real_this_command to set Vreal_last_command.
-       
+
 1998-08-07  Kenichi Handa  <handa@etl.go.jp>
 
        * cmds.c (internal_self_insert): If enable-multibyte-characters is
        to XLoadQueryFont.
        (fast_find_position): Handle case where position is before
        an invisible character, thus not actually listed in charstarts.
-       
+
        * keyboard.c (Vinput_method_previous_message): New variable.
        (syms_of_keyboard): Set up lisp variable.
        (Qinput_method_exit_on_first_char, Qinput_method_use_echo_area):
        * lisp.h (Fread_key_sequence): Update declaration.
 
        * callint.c (Fcall_interactively): Pass new arg to Fread_key_sequence.
-       
+
 1998-08-03  Richard Stallman  <rms@psilocin.ai.mit.edu>
 
        * window.c (Fmove_to_window_line): Doc fix.
        account.
 
 1998-07-30  Paul Eggert  <eggert@twinsun.com>
-       
+
        * src/Makefile.in (widget.o, xfns.o, xmenu.o):
        Prepend $(srcdir)/ to rule dependencies outside this dir.
 
        (syms_of_keyboard): Set up Lisp vars.
        (command_loop_1): Check Vunread_input_method_events and
        Vunread_post_input_method_events along with Vunread_command_events.
-       
+
 1998-07-11  Andrew Innes  <andrewi@harlequin.co.uk>
 
        * w32menu.c (w32_menu_show): Set widget call_data to 0 if
 
        * charset.h (MAX_CHAR_COMPOSITION): Defined as (GLYPH_MASK_CHAR - 1),
        one less than the previous value.
-       (GENERIC_COMPOSITION_CHAR): New macro. 
+       (GENERIC_COMPOSITION_CHAR): New macro.
 
        * charset.c (Vgeneric_character_list): New variable.
        (init_charset_once): Init and staticpro it.
-       (Fgeneric_character_list): New function. 
+       (Fgeneric_character_list): New function.
        (syms_of_charset): defsubr it.
 
        * fns.c (Fset_char_table_default): Check only if the charset of
        * doc.c (get_doc_string): Take both UNIBYTE and DEFINITION as args.
        All callers changed.
        * lisp.h (get_doc_string): Adjust declaration.
-       
+
        * lread.c (read_list): Pass new arg to get_doc_string.
 
        * doc.c (get_doc_string): 2nd arg is now DEFINITION;
        * emacs.c (sort_args): Discard duplicate options with no args.
        (main): With duplicate -d options, use the last one.  Likewise for -t.
        Check -d last, by checking for -nl earlier on.
-       
+
 1998-06-22  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
 
        * keyboard.c (command_loop): Reset executing_macro after
 1998-06-14  Eli Zaretskii  <eliz@mescaline.gnu.org>
 
        * msdos.c (dos_set_keyboard): Call Int 2Fh via the DPMI server,
-       not directly. 
+       not directly.
        (dos_yield_time_slice): New function.
        (sys_select): Use it instead of __dpmi_yield.
 
        (display_text_line): If cursor's in the frame's echo area,
        don't set this_line_endpos.
        (redisplay_window): Use Fwindow_end to find lower scroll margin.
-       
+
        * syntax.c (scan_lists): Properly skip the comment-fence character
        that ends a comment, when moving forward.
        (Fbackward_prefix_chars): Return immediately if point is at BEGV.
        (scan_lists): Likewise.
        (prev_char_comstart_first): New function.
 
-       * syntax.c 
+       * syntax.c
 1998-06-05  Andrew Innes  <andrewi@harlequin.co.uk>
 
        * w32.c: #include sys/file.h
 
        * w32.c (sys_rename): Handle filenames with accented characters.
        (stat): Handle "c:/.." and "/.." specially.
-       
+
        * unexw32.c (w32_fatal_reload_error): Update error message.
 
 1998-05-30  Karl Heuer  <kwzh@gnu.org>
        (read1): Enable saving of doc strings on WINDOWSNT.
        (read_list): Call get_doc_string instead of read_doc_string, when
        forced to load doc strings.
-       
+
 1998-05-25  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
 
        * s/gnu-linux.h (setpgrp): Remove extra parens around parameters.
        * window.c (select_window_1): New subroutine, from Fselect_window.
        (Fselect_window): Use select_window_1.
        (temp_output_buffer_show): Use select_window_1.
-       
+
 1998-05-22  Kenichi Handa  <handa@etl.go.jp>
 
        * ccl.c: Change term "character translation table" to "translation
        * minibuf.c (syms_of_minibuf): Doc fix.
 
        * window.c (Fscroll_up, Fscroll_down, Fscroll_other_window): Doc fixes.
-       
+
        * frame.c (make_frame_visible_1): New function.
        (Fmake_frame_visible): Use that.
 
        * window.c (Fset_window_buffer): Update buffer's display_time.
 
        * insdel.c (insert_1_both, insert_from_string_1, replace_range)
-       (insert_from_buffer_1, adjust_before_replace, adjust_after_replace): 
+       (insert_from_buffer_1, adjust_before_replace, adjust_after_replace):
        Don't copy text being deleted, if undo is disabled.
 
        * lread.c (readchar): Use readchar_backlog again
        * xdisp.c (redisplay_window): Handle scroll_step along with
        scroll_conservatively.  Fix 1-off error checking the limit for them.
 
-       * filelock.c (unlock_file): Encode the file name. 
+       * filelock.c (unlock_file): Encode the file name.
 
 1998-05-10  Richard Stallman  <rms@psilocin.ai.mit.edu>
 
 
        * emacs.c (main): Call the syms_of_... and keys_of_... functions
        earlier, before init_vms_input and init_display.
-       
+
 1998-05-04  E. Jay Berkenbilt  <ejb@ql.org>
 
        * window.h (WINDOW_RIGHT_MARGIN): Don't subtract 1 from width when
 
 1998-05-02  Hrvoje Niksic  <hniksic@srce.hr>
 
-       * fileio.c (Fmake_temp_name): Improve randomness of generated file 
+       * fileio.c (Fmake_temp_name): Improve randomness of generated file
        names.
 
 1998-05-01  Richard Stallman  <rms@psilocin.gnu.org>
 
 1998-04-30  Geoff Voelker  <voelker@cs.washington.edu>
 
-       * keyboard.c (Qdrag_n_drop, drag_n_drop_syms, lispy_drag_n_drop_names) 
+       * keyboard.c (Qdrag_n_drop, drag_n_drop_syms, lispy_drag_n_drop_names)
        New variables.
        (make_lispy_event): Handle drag_n_drop events.
        (syms_of_keyboard): Initialize new symbols.
        * termhooks.h (event_kind): New event type `drag_n_drop'.
 
        * makefile.nt (LIBS): Link in shell32.lib.
-       
+
        * w32fns.c: Include shellapi.h.
        (w32_createwindow): Enable drag-n-drop on new windows.
        (w32_wnd_proc): Handle WM_DROPFILES messages.
 
        * w32term.c: Include shellapi.h.
        (construct_drag_n_drop): New function.
-       (w32_read_socket): Handle WM_DROPFILES messages.        
+       (w32_read_socket): Handle WM_DROPFILES messages.
 
 1998-04-30  Skip Collins  <ColliBF1@APLMSG.JHUAPL.EDU>
 
        * indent.c (compute_motion): When invisible text cross TO,
        return TO, not the start of the invisible text.
 
-       * process.c (Fset_process_inherit_coding_system_flag, Fstart_process): 
+       * process.c (Fset_process_inherit_coding_system_flag, Fstart_process):
        Store inherit_coding_system_flag as a Lisp_Object.
        (Fopen_network_stream): Likewise.
        (Fprocess_inherit_coding_system_flag): Access it as Lisp_Object.
 
        * emacs.c (abort): Omit this definition, if NO_ABORT.
        End by calling exit, to avoid warning.
-       
+
 1998-04-28  Richard Stallman  <rms@psilocin.gnu.org>
 
        * filelock.c: Include coding.h.
        * minibuf.c (minibuf_conform_representation): New function.
        (Ftry_completion): Use it to return multibyte string
        if and only if the completion table has a multibyte string.
-       (Fdisplay_completion_list): 
+       (Fdisplay_completion_list):
        Convert string to unibyte before displaying it, if default is unibyte.
 
        * eval.c (find_handler_clause): Cast Fbacktrace to proper type.
 
        * xfaces.c (unload_color): No longer static.
 
-       * insdel.c (insert_from_string, insert_from_string_before_markers): 
+       * insdel.c (insert_from_string, insert_from_string_before_markers):
        Don't special case LENGTH = 0.
        (insert_from_buffer): Likewise.
 
 1998-04-22  Eli Zaretskii  <eliz@delysid.gnu.org>
 
        * w16select.c (Fwin16_set_clipboard_data): Call UNBLOCK_INPUT
-       before calling sit_for.  
+       before calling sit_for.
        (Fwin16_get_clipboard_data, Fwin16_set_clipboard_data): Balance
        the calls to BLOCK_INPUT and UNBLOCK_INPUT.
        (alloc_xfer_buf): If want_size is more than 1MB, return
 1998-04-21  Eli Zaretskii  <eliz@delysid.gnu.org>
 
        * callproc.c (Fcall_process) [MSDOS]: Call child_setup instead of
-       run_msdos_command. 
+       run_msdos_command.
        (child_setup) [MSDOS]: Call run_msdos_command here.
        (child_setup) [DOS_NT]: Get past drive letter in pwd.  Don't call
        close_load_descs, since we are not in a vfork.
        (load_convert_to_unibyte): New variable.
        (syms_of_lread): Set up Lisp var.
        (read1): If load_convert_to_unibyte, convert strings to unibyte.
-       
+
        * insdel.c (copy_text): Count down bytes_left properly
        in multibyte to unibyte case.
 
        (map_virt_key): Brazilian keyboards use 0xc1 for /(?) key.
 
        * w32menu.c (Vmenu_updating_frame): New variable.
-       (Fx_popup_menu, set_frame_menubar): Record frame whose menu is 
+       (Fx_popup_menu, set_frame_menubar): Record frame whose menu is
        being updated.
        (syms_of_w32menu): Define Vmenu_updating_frame.
 
        * w32term.c (Vw32_recognize_altgr): New variable.
        (dumpglyphs): Update from xterm.c.
        (w32_ring_bell): Flash window, don't just reset its state.
-       (dumprectangle, show_mouse_face, x_draw_single_glyph): Use new 
+       (dumprectangle, show_mouse_face, x_draw_single_glyph): Use new
        args to dumpglyphs.
        (my_set_foreground_window): New function.
        (w32_condemn_scroll_bars): Mark all as condemned scroll bars.
        * fontset.h (FONT_ENCODING_NOT_DECIDED): The value is changed to 255.
        (find_ccl_program_func): Extern it.
        (Fquery_fontset): Args number changed to 2.
-       
+
        * xfns.c (syms_of_xfns): Initialize find_ccl_program_func.
 
        * xterm.c (x_find_ccl_program): New function.
        (printchar, strout): If echo area text converted to multibyte
        does not all fit, truncate it at char boundary.
 
-       * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos): 
+       * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos):
        When calling set_marker_both, pass the right buffer.
 
        * indent.c (Fcompute_motion): Check that TO and FROM are in range.
        (syms_of_charset): Defsubr it.
        (multibyte_form_length): Modified to be consistent with
        string_to_non_ascii_char.
-       
+
        * charset.h (MULTIBYTE_FORM_LENGTH): Don't check LEN here.
 
        * xdisp.c (display_text_line): Code for displaying a character by
 
        * fileio.c (barf_or_query_if_file_exists): New arg QUICK.
        All calls changed.
-       
+
 1998-03-27  Richard Stallman  <rms@psilocin.gnu.org>
 
        * insdel.c (check_markers_debug_flag): New variable.
 
        * coding.c (code_convert_region): Call adjust_before_replace
        in the no-conversion case.  Adjust GPT, ZV and Z in chars.
-       
+
 1998-03-25  Richard Stallman  <rms@psilocin.gnu.org>
 
        * lread.c (init_lread): Init Vstandard_input.
 
        * fns.c (substring_both, Fsubstring): Use make_specified_string.
        (concat): Make string result unibyte or multibyte as appropriate.
-       
+
        * doc.c (Fsubstitute_command_keys): Use make_string_from_bytes.
 
        * coding.c (code_convert_string): Use make_string_from_bytes.
        * editfns.c (Fchar_to_string): Use make_string_from_bytes.
        (Fformat): Use make_specified_string.
        (make_buffer_string_both): Use make_uninit_string if buffer is unibyte.
-       
+
        * sunfns.c (syms_of_sunfns): Pass new arg to make_pure_string.
 
        * lread.c (read1): Pass new arg to make_pure_string.
        * lisp.h (STRING_BYTES, SET_STRING_BYTES): New macros.
 
        * All files: Use STRING_BYTES and SET_STRING_BYTES.
-       
+
        * editfns.c (Ftranspose_regions): Try to handle combining bytes.
        * insdel.c (replace_range): New arg NOMARKERS.
-       
+
 1998-03-20  Richard Stallman  <rms@psilocin.gnu.org>
 
        * cmds.c (internal_self_insert): Pass new arg to replace_range.
-       
+
        * insdel.c (insert_1_both, insert_from_string_1, insert_from_buffer_1):
        (adjust_before_replace, adjust_after_replace, replace_range):
        (del_range_2): Call record_delete the new way.
 
        * undo.c (record_delete): Replace LENGTH arg with STRING.
        (record_change): Call record_delete the new way.
-       
+
        * Makefile.in (keymap.o): Depend on puresize.h.
        (xmenu.o): Don't depend on puresize.h.
 
        * keymap.c (fix_submap_inheritance, get_keyelt, store_in_keymap,
        copy-keymap, where_is_internal_1): Support new format for menu items.
        (syms_of_keymap): New symbol `menu-item'.
-       
+
        * keyboard.c: Include puresize.h for CHECK_IMPURE.
        (parse_menu_item): New function.
        (menu_item_eval_property_1, menu_item_eval_property) New suroutines.
 
        * process.c (exec_sentinel, read_process_output):
        Fstore_match_data => Fset_match_data.
-       
+
        * xmenu.c (set_frame_menubar): Fstore_match_data => Fset_match_data.
 
        * xdisp.c (message_dolog): Save and restore Vdeactivate_mark.
        * lisp.h (struct Lisp_Buffer_Local_Value):
        Field car renamed to realvalue.  New fields check_frame,
        found_for_buffer, found_for_frame, buffer, frame.
-       
+
        * data.c (store_symval_forwarding, swap_in_symval_forwarding)
        (set_internal, default_value, Fset_default, Fmake_local_variable)
        (Fmake_variable_buffer_local, Fkill_local_variable):
        Handle new data structure for struct Lisp_Buffer_Local_Value.
        (Fmake_variable_frame_local): New function.
 
-       * buffer.c (set_buffer_internal_1) 
+       * buffer.c (set_buffer_internal_1)
        (swap_out_buffer_local_variables): Handle new data structure
        for struct Lisp_Buffer_Local_Value.
 
        Call set_search_regs differently in a forward search.
        (boyer_moore): Fix up the code that translates the pattern
        and loops thru equivalent characters.
-       
+
 1998-03-07  Richard Stallman  <rms@psilocin.gnu.org>
 
        * insdel.c (adjust_markers_for_insert): New arg COMBINED_AFTER_BYTES.
        (list2, list3, list4, list5): New function decl.
        (Fwrite_region): Add an argument.
        (compare_window_configurations): New function decl.
-       
+
        * keyboard.c: Include syntax.h.
        (interrupt_signal): Save and restore gl_state
        around an immediate quit, in case debugger returns.
        * callproc.c (Fcall_process_region): Pass new arg to Fwrite_region.
 
 1998-03-01  Ilya Zakharevich  <ilya@math.ohio-state.edu>
-       
+
        * syntax.c (update_syntax_table): Properly update `position'
        field of used intervals.
 
        * buffer.c (advance_to_char_boundary): New function.
        (Fset_buffer_multibyte): Advance all byte-positions to char boundaries.
        Clear undo list.
-       
+
        * fontset.h (GENERIC_FONT_PTR): Commented-out definition deleted.
 
 1998-02-06  Kenichi Handa  <handa@etl.go.jp>
        * editfns.c (Fposition_bytes): New function.
        (syms_of_editfns): defsubr it.
 
-       * fns.c (Fstring_bytes): New function. 
+       * fns.c (Fstring_bytes): New function.
        (syms_of_fns): defsubr it.
 
 1998-02-05  Richard Stallman  <rms@psilocin.gnu.org>
        change of code_convert_string.
        (Fupdate_iso_coding_systems): New function.
        (init_coding_once): Initialize coding_system_table.
-       
+
        * data.c (Faset): Allow setting a multibyte character in a
        multibyte string as far as it doesn't change the size_byte of the
        string.
        CODING_CATEGORY_MASK_ISO_7_TIGHT.
        (coding_category_table, coding_category_name): Extern deleted.
        (Vselect_safe_coding_system_function): Extern it.
-       
+
        * charset.h (MAX_CHAR_COMPOSITION): New macro.
        (CHAR_CHARSET): Check more strictly.
        (CODING_FLAG_ISO_DESIGNATION): New macro.
        * charset.c (nonascii_insert_offset): Variable moved from cmds.c.
        (syms_of_charset): Initialize variable.
 
-       * cmds.c (internal_self_insert, Fself_insert_command): 
+       * cmds.c (internal_self_insert, Fself_insert_command):
        Use unibyte_char_to_multibyte.
        (nonascii_insert_offset): Variable moved to charset.c.
        (syms_of_cmds): Don't initialize nonascii_insert_offset.
 
        * fileio.c (Fsubstitute_in_file_name): Use unibyte_char_to_multibyte.
-       
+
        * keyboard.c (command_loop_1): Use unibyte_char_to_multibyte.
 
        * xdisp.c (message_dolog): Use unibyte_char_to_multibyte.
        Pass different args to scan_newline.
        Properly compare oldpoint with Z.
-       
+
        * syntax.c (skip_chars): Use unibyte_char_to_multibyte,
 
        * fns.c (concat): Use unibyte_char_to_multibyte.
        (insert_from_buffer_1): Call copy_text to convert between
        single-byte and multibyte text.
        (insert_from_string_1): Likewise.
-       
+
        * process.c (read_process_output): New var `multibyte'.
        Set it according to which coding system was used.
 
        insert_from_string.  Scan string by bytes and chars.
        (Ftry_completion): Use size_byte while comparing.
        (Fall_completions): Use size_byte while comparing.
-       (test_completion): 
+       (test_completion):
 
        * editfns.c (syms_of_editfns): Delete defsubr for sref.
 
        * keyboard.c (read_char): Use Faref on Vkeyboard_translate_table
        if it is a string.
        (apply_modifiers_uncached): New arg base_len_byte.  Calls changed.
-       (read_char_minibuf_menu_prompt): 
+       (read_char_minibuf_menu_prompt):
        (read_key_sequence): Access buffer's downcase_table with XCHAR_TABLE.
        (Fexecute_extended_command): Use Faref to access FUNCTION.
        Use size_byte of BINDING.
        Initialize print_buffer_pos_byte.  Use insert_1_both.
        (printchar): Update print_buffer_pos_byte and print_buffer_pos.
        (print_buffer_pos_byte): New variable.
-       
+
        * editfns.c (general_insert_function):
        Pass the additional args to INSERT_FROM_STRING_FUNC.
        (Fchar_to_string): Use make_multibyte_string.
        (Fmessage, Fmessage_box): Update message_text based on size_byte.
 
        * insdel.c (insert_from_string): New args POS_BYTE, LENGTH.
-       (insert_from_string_before_markers): 
+       (insert_from_string_before_markers):
        (insert_from_string_1): New arg POS_BYTE.  Swap args NCHARS, NBYTES.
        Don't fail to use POS_BYTE!
        (insert_from_buffer_1): Get both inschars and insbytes from NEW.
        (Fstring): Renamed from Fconcat_chars.
        Handle bytes vs chars in string.
        (syms_of_charset): Corresponding changes.
-       
+
        * fns.c (concat, Fsubstring, internal_equal, mapcar1):
        Distinguish bytes and chars when indexing strings.
        (Fstring_equal, Fstring_lessp): Likewise.
        (substring_both): New function.
        (string_char_to_byte, string_byte_to_char): New functions.
-       
+
        * charset.h (FETCH_STRING_CHAR_ADVANCE): New macro.
 
        * lisp.h (struct lisp_String): New field size_byte.
 
        * window.c (Fselect_window): Don't set OW->pointm if OW->buffer is nil.
        (Fset_window_configuration): Set old selected window's pointm.
-       
+
        * minibuf.c (Fcompleting_read): Doc fix.
 
-       * keymap.c (current_minor_maps): 
+       * keymap.c (current_minor_maps):
        If a variable has an entry in Vminor_mode_overriding_map_alist,
        and also an entry in Vminor_mode_map_alist, ignore the latter.
 
 
        * lisp.h (struct Lisp_Marker): Rename `bufpos' to `bytepos'.
        Its value no longer includes the gap space.
-       
+
        * editfns.c (Fchar_after): Fix previous change.
 
        * fileio.c (a_write): Fix prototype.
        (insert_1, indented_beyond_p): Decls changed.
        (move_gap_both, del_range_byte, del_range_both, del_range_2)
        (scan_newline, Ffile_locked_p): New decls.
-       (struct Lisp_Marker): 
+       (struct Lisp_Marker):
 
        * search.c (scan_newline): Always restore prev value of immediate_quit.
 
        * charset.h (CHAR_HEAD_P): Take char, not pointer, as arg.
 
        * window.c (unshow_buffer): Set PT with TEMP_SET_PT_BOTH.
-       
+
        * indent.c (indented_beyond_p): Take POS in bytes and chars.
        Callers changed.
        (pos_tab_indent): Function moved to xdisp.c.
 
        * xdisp.c (pos_tab_indent): Moved from indent,c.  Now static.
        Take POS in bytes and chars.  Callers changed.
-       
+
        * indent.c (Fcurrent_indentation): Use scan_newline and SET_PT_BOTH.
        (indented_beyond_p, current_column_1): Likewise.
 
        (window_scroll): Save and restore both kinds of pointers.
 
        * process.c (status_notify): Use byte and char pointers.
-       
+
        * callint.c (Fcall_interactively) <'d', 'r'>: Use set_marker_both.
 
        * emacs.c (abort): New function.
        (message_log_check_duplicate): Take charpos and bytepos args.
        (message_dolog): Use markers to update old PT, BEGV, ZV.
        Use scan_newline.  Handle positions in bytes and chars.
-       
+
 1997-12-28  Richard Stallman  <rms@psilocin.gnu.org>
 
        * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
 
        * coding.c (code_convert_region): Handle bytepos and charpos.
        (Fdetect_coding_region): Likewise.
-       
+
        * Makefile.in (marker.o): Depend on charset.h.
 
 1997-12-27  Richard Stallman  <rms@psilocin.gnu.org>
 
        * syntax.h (SETUP_SYNTAX_TABLE_FOR_OBJECT): Call bytepos_to_charpos.
        Wrap in  if (1) ... else.
-       
+
        * minibuf.c (Fminibuffer_complete_word): Handle bytes vs characters
        when comparing buffer against string.
        (temp_echo_area_glyphs): Save, update, delete text using
 
        * buffer.h (DECODE_POSITION): New macro.
        (CHAR_TO_BYTE, BYTE_TO_CHAR): New macros.
-       
+
        * buffer.h (BEG_BYTE, BEGV_BYTE, PT_BYTE, GPT_BYTE)
        (ZV_BYTE, Z_BYTE): New macros.
        (BUF_BEG_BYTE, BUF_BEGV_BYTE, BUF_PT_BYTE, BUF_GPT_BYTE)
        (BUF_ZV_BYTE, BUF_Z_BYTE): New macros.
        (BUF_GAP_END_ADDR): New macro.
-       (BEGV_ADDR, PT_ADDR, GPT_ADDR, GAP_END_ADDR, ZV_ADDR, Z_ADDR): 
+       (BEGV_ADDR, PT_ADDR, GPT_ADDR, GAP_END_ADDR, ZV_ADDR, Z_ADDR):
        Use the new ..._byte buffer data.
        (BUFFER_CEILING_OF, BUFFER_FLOOR_OF): Likewise.
        (BUF_GPT_ADDR, BUF_Z_ADDR): Likewise.
        (write_abbrev): Return void.
        (Fexpand_abbrev): Scan in bytepos along with charpos.
        (Funexpand_abbrev): Use bytepos to delete the expansion.
-       
+
        * charset.h (INC_POS, DEC_POS): Fix because arg is a bufpos.
        (BUF_INC_POS, BUF_DEC_POS): New macros.
        (INC_BOTH, DEC_BOTH): New macros.
        use readchar_backlog to fetch bytes from a character.
        (unreadchar): Increment readchar_backlog.
        (readevalloop, Fread): Init readchar_backlog.
-       
+
        * charset.c (Fchar_boundary_p): Always return 0.
        (Fchars_in_region): Just subtract the arguments.
        (chars_in_text): New function.
        (Fmove_to_column): Scan with bytepos and charpos.
        (pos_tab_offset): Use bytepos to do FETCH_BYTE.
        (skip_invisible): Don't worry about position in middle of character.
-       
+
        * xdisp.c (try_window): Pass bytepos to and from display_text_line.
        (try_window_id): Likewise.  Use byte pos as well as charpos.
        (redisplay_internal): Handle bytepos for tlbufpos.
 
        * xdisp.c (message): Cast last arg to doprnt.
-       
+
        * indent.h (struct position): New field bytepos.
 
        * keyboard.c (command_loop_1): Use PT_BYTE when calling FETCH_BYTE.
        Instead of Fforward_point, just add.
-       
+
        * search.c (looking_at_1): Use bytepos to call re_search_2.
        Convert search regs to charpos, if search succeeded.
        (search_buffer): Likewise.  Also convert charpos <-> bytepos
        in non-regexp case.
-       (scan_buffer): Convert charpos <-> bytepos. 
+       (scan_buffer): Convert charpos <-> bytepos.
        (scan_newline): New function.
        (find_next_newline): Function deleted.
        (set_search_regs): Args now in bytes; convert to charpos.
        (Freplace_match): Convert charpos <-> bytepos when scanning case.
-       
+
        * fileio.c (restore_point_unwind): Now static.  Use Fgoto_char.
        (Funhandled_file_name_directory): Doc fix.
        (Finsert_file_contents): Handle bytes vs chars.
        (e_write): Rename args.
        (Funhandled_file_name_directory): Doc fix.
        (a_write, e_write): Now static.
-       
+
        * editfns.c (Fgoto_char): When arg is a marker, copy char and byte
        positions from it.  When arg is an integer, no need to worry that it
        is in middle of a character.
        (message2): Pass new arg to message2_nolog.
        (message1_nolog): Likewise.
 
-       * keyboard.c (Fexecute_extended_command): 
+       * keyboard.c (Fexecute_extended_command):
        Save message_enable_multibyte and pass it to message2_nolog.
-       
+
        * alloc.c (Fgarbage_collect):
        Save message_enable_multibyte and pass it to message2_nolog.
 
 
        * xdisp.c (message_dolog): Convert between single-byte and multibyte
        when inserting text into *Messages*.
-       
+
 1997-12-11  Richard Stallman  <rms@gnu.org>
 
        * sysdep.c (sys_signal): Add two casts.
 1997-12-09  Richard Stallman  <rms@gnu.org>
 
        * callproc.c (Fcall_process): Don't clobber new_argv[0]
-       in the case of no args. 
+       in the case of no args.
 
 1997-12-09  Kenichi Handa  <handa@etl.go.jp>
 
        * eval.c (do_autoload): Return void.
 
        * sysdep.c (reset_sigio): Return void.
-       
+
        * keyboard.c (Fsuspend_emacs): Cast init_sys_modes when calling
        record_unwind_protect.
 
        * undo.c (record_change, record_first_change,
        record_property_change): Declare them as void.
        (record_delete, record_marker_adjustment): Declare them as void.
-       
+
        * indent.c (invalidate_current_column): Declare it as void.
 
        * fileio.c (report_file_error): Declare it as void.
        * xdisp.c (redisplay_preserve_echo_area): Declare it as void.
 
        * charset.c (strwidth): Remove extra argument to buffer_display_table.
-       
+
 1997-11-25  Andreas Schwab  <schwab@delysid.gnu.org>
 
        * charset.h (SPLIT_STRING): Remove extra argument to
 
 1997-10-24  Richard Stallman  <rms@gnu.org>
 
-       * frame.c (Fmouse_pixel_position, Fmouse_position): 
+       * frame.c (Fmouse_pixel_position, Fmouse_position):
        Pass -1 as INSIST arg to mouse_position_hook.
        * w32term.c (w32_mouse_position): Handle INSIST < 0.
        * xterm.c (XTmouse_position): Handle INSIST < 0.
        Decode all result file names using Vfile_name_coding_system.
 
        * coding.c (Fencode_coding_string, Fdecode_coding_string): Doc fixes.
-       
+
 1997-09-07  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
 
        * lread.c (Feval_buffer): New arg FILENAME.
 1997-09-07  Geoff Voelker  <voelker@cs.washington.edu>
 
        * firstfile.c: New file.
-       
+
 1997-09-07  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
 
        * xdisp.c (display_string): Determine multibyte from current buffer,
 
        * unexelf.c: Test __OpenBSD__ along with __NetBSD__.
        [__OpenBSD__]: Include sys/exec_elf.h.
-       
+
 1997-09-05  Ken'ichi Handa  <handa@psilocin.gnu.ai.mit.edu>
 
        * coding.c (Ffind_operation_coding_system): If a function in
        * lisp.h (Fread_coding_system): Update decl.
 
        * callint.c (Fcall_interactively): Pass new arg to Fread_coding_system.
-       
+
 1997-09-04  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
 
        * m/alpha.h (PTY_OPEN): Call sigblock properly.
        a separate .bss section conditional.
        Use my_begbss and my_endbss to determine .bss size by default.
        Look for Emacs data in EMDATA section.
-       
+
        * w32.c: Include stddef.h.
        (getwd): Delete macro.
        (startup_dir): New variable.
        (sys_link): Support NTFS links.
        (sys_rename): Use a long file name for temporary name.
        (sys_pipe): Make pipes binary and non-inheritable.
-       (sys_read, sys_write): Spoof text mode translation for pipes 
+       (sys_read, sys_write): Spoof text mode translation for pipes
        and sockets.
-       
+
        (hashval): Simplify.
        (generate_inode_val): Use long file name version of file.
 
        (lookup_volume_info, add_volume_info, GetCachedVolumeInformation):
        New functions.
        (get_volume_info): Use volume_info_data.
-       Use GetCachedVolumeInformation. 
+       Use GetCachedVolumeInformation.
 
        (init_ntproc): No longer restrict to one DOS subprocess.
        Use CRT _open and _fdopen.
        Cache fixed drive information.
-       
+
        * w32.h: Remove debugging macros.
        (child_process): Remove is_dos_process field, add hwnd handle field.
        (FILE_LAST_CR): New macro.
        (w32_get_long_filename): Declare extern.
 
-       * w32console.c: (DebPrint, reset_kbd, unset_kbd, take_console): 
+       * w32console.c: (DebPrint, reset_kbd, unset_kbd, take_console):
        Delete functions.
        (keyboard_init_hook): Delete variable.
        (prev_console_cursor) [! USE_SEPARATE_SCREEN]: New variable.
 
        * w32fns.c: Include limits.h and errno.h.
        Declare externs from other files.
-       (w32_in_use): New variable.     
+       (w32_in_use): New variable.
        (check_w32, have_menus_p, x_set_title, w32_msg_worker,
        find_deferred_msg, send_deferred_msg, complete_deferred_msg,
        Fw32_focus_frame, W32-send-sys-command): New functions.
        (x_icon): Initial support for creating window iconified.
        (x_display_info_for_name): Set w32_in_use.
        (Fx_open_connection): Validate Vwindow_system.  Set w32_in_use.
-       
+
        (w32_create_window): Set window size to frame dimensions.
        Set font width, line height, border, scrollbar indexes.
        Don't set X and Y units indexes.
        Make static.  Don't post done message. No longer handle
        create scrollbar message.  Don't abort on anomalous messages.
        Return when completion detected.
-       (w32_wnd_proc): Keep track of button state.     
+       (w32_wnd_proc): Keep track of button state.
        For WINDOWPOSCHANGING, force window dimensions to be multiples
        of character dimensions.
        Handle CREATESCROLLBAR.
        Set icon name.
        Use courier new as default font (has bold and italic).
        Set BufferPredicate and Title default parameters.
-       
+
        (x_to_w32_weight): Support semibold weight.
        (x_to_w32_charset): Map # to numeric charset identifier.
        (w32_to_x_charset): Encode unknown charsets as a number.
        * w32inevt.c: Declare externs from other files.
        (w32_kbd_mods_to_emacs): New parameter KEY.
        Use w32-capslock-is-shiftlock for old behavior.
-       (key_event): Pass in new parameter to w32_kbd_mods_to_emacs.    
-       
+       (key_event): Pass in new parameter to w32_kbd_mods_to_emacs.
+
        * w32menu.c (init_menu_items): Disable code.
        (x_activate_menubar): New function.
        (initialize_frame_menubar): Pass in new param to set_frame_menubar.
-       
+
        * w32proc.c: Include w32heap.h.
        (Vw32_start_process_share_console, Vw32_generate_fake_inodes,
-       Vw32_get_true_file_attributes, Qhigh, Qlow, process_dir): 
+       Vw32_get_true_file_attributes, Qhigh, Qlow, process_dir):
        New variables.
        (find_child_console, set_process_dir, Fw32_short_file_name,
        Fw32_long_file_name, Fw32_set_process_priority, Fw32_get_locale_info,
-       Fw32_get_current_locale_id, Fw32_get_default_local_id, 
+       Fw32_get_current_locale_id, Fw32_get_default_local_id,
        Fw32_set_current_locale): New functions.
        (CORRECT_DIR_SEPS): New macro.
        (create_child): Create a new console if subprocs don't share parent's.
-       (reap_subprocess): Don't check for dos subprocesses.  
+       (reap_subprocess): Don't check for dos subprocesses.
        Add debug support.
        (sys_wait): Ignore socket child_procs.
        Check for quit while waiting.
        Pass in new parameter to w32_kbd_mods_to_emacs.
        Handle WM_DISPLAYCHANGE, WINDOWPOSCHANGED, ACTIVATE, SHOWWINDOW,
        INITMENU, and ACTIVATEAPP messages.
-       Explicitly check for visibile and obscured frames, and to see if 
+       Explicitly check for visibile and obscured frames, and to see if
        any event should cause a redisplay.
 
        (x_display_bar_cursor): Don't check whether frame is updating here.
        (x_focus_on_frame): Set focus by making frame the foreground window.
        (x_raise_frame): Support frames to be raised without grabbing focus.
        (x_lower_frame): Set NOACTIVATE flag when setting window position.
-       (x_make_frame_visible, x_make_frame_invisible): Pass in frame 
+       (x_make_frame_visible, x_make_frame_invisible): Pass in frame
        to my_show_window.
-       (x_iconify_frame): Send a MINIMIZE message to the window.       
+       (x_iconify_frame): Send a MINIMIZE message to the window.
        (x_wm_set_size_hint): Set font width, line height, border,
        and scroll bar indexes instead of X and Y unit indexes.
 
 
        * w32term.h (w32_output): New fields menubar_widget, menubar_active,
        and pending_menu_activation.
-       (VERTICAL_SCROLL_BAR_*): Use proportional scroll bar variables. 
+       (VERTICAL_SCROLL_BAR_*): Use proportional scroll bar variables.
        (W32WindowPos): Delete definition.
        (WM_EMACS_SETFOCUS, WND_*_INDEX): New macros.
        (deferred_msg): New structure.
        Undef system calls before redefining.  Emulated calls redefined
        to sys_*, real calls redefined to _*.
        (DebPrint): Macro defined.
-       
+
 1997-09-02  Michael Welsh Duggan  <md5i@schenley.com>
 
        * w32term.h (WM_MOUSEWHEEL): Define if not already defined.
 
        * w32fns.c (win32_wnd_proc): Capture and handle WM_MOUSEWHEEL events.
        Capture and handle WM_EMACS_TRACKPOPUPMENU events.
-       Allow a dragged selection from a popup menu started up 
+       Allow a dragged selection from a popup menu started up
        by a mouse down event.
        (x_to_win32_color): Support for X Windows RGB string specifications.
 
        send address of menu to win32menu_show.
        (win32menu_show): Send message to call popup menu rather than
        trying directly.  get_menu_event should take an address.
-       Call eat_mouse_events in order to get rid of any extraneous 
+       Call eat_mouse_events in order to get rid of any extraneous
        mouse events.
        (list_of_panes): Only bring up one pane if the length of the list
        of panes is one.
 
 1997-09-02  Nico Francois  <nico.francois@scala.nl>
+
        * w32menu.c (single_keymap_panes): Fixed problem with 'descrip'
        lisp object not being protected properly (GCPRO).
        (get_single_keymap_event): Fixed problem with 'descrip' lisp
        * sysdep.c (sys_subshell) [DOS_NT]: Save and restore parent's
        working directory.
        (sys_subshell) [WINDOWSNT]: Share MSDOS code. Don't take console.
-       (init_sys_modes, reset_sys_modes) [WINDOWSNT]: Do it even with 
+       (init_sys_modes, reset_sys_modes) [WINDOWSNT]: Do it even with
        a read_socket_hook.
 
        * xdisp.c (redisplay_internal): Check to see if frame is not obscured
        as well as visible.
-       
+
 1997-09-02  Michael Welsh Duggan  <md5i@schenley.com>
 
        * lisp.h: Declare discard_mouse_events.
        in the detect_coding_iso2022 case.
 
        * minibuf.c (Fread_from_minibuffer, Fread_string): Doc fixes.
-       (Fread_no_blanks_input, Fcompleting_read): Doc fixes.   
+       (Fread_no_blanks_input, Fcompleting_read): Doc fixes.
 
        * unexnext.c: Include unistd.h instead of libc.h.
 
        raw-text-unix.
        (Fdetect_coding_region): Do not select no-conversion even if EOL
        format of raw-text file is inconsistent.
-       
+
 1997-08-28  Kenichi Handa  <handa@etl.go.jp>
 
        * coding.c (Qno_conversion, Qundecided): New variables.
        * fontset.c (Valternate_fontname_alist): Name changed from
        Valternative_fontname_alist.
        (syms_of_fontset): Adjusted for the above change.
-       
+
        * fontset.h: Adjusted for the name change of
        Valternate_fontname_alist.
 
 
        * xrdb.c (X_DEFAULT_SEARCH_PATH): Add /usr/X11R6/lib alternatives.
 
-       * editfns.c (Fwiden, Fnarrow_to_region, save_restriction_restore): 
+       * editfns.c (Fwiden, Fnarrow_to_region, save_restriction_restore):
        Don't set clip_changed if the new values are the same as the old.
 
        * fileio.c (Fwrite_region): Turn off the feature of checking
 1997-08-02  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
 
        * coding.c: Doc fixes.
-       
+
        * lread.c (Fload): New optional arg MUST-SUFFIX.
        * fns.c (Frequire): Pass t for the MUST-SUFFIX arg to Fload.
        * eval.c (do_autoload): Pass new arg to Fload.
 1997-07-29  Ken'ichi Handa  <handa@psilocin.gnu.ai.mit.edu>
 
        * xterm.c (x_list_fonts): Reject a font whose min_bounds.width is 0.
-       
+
 1997-07-28  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
 
        * emacs.c (sort_args): Check properly for `--'.
        * keyboard.c (read_char): Delete spurious UNGCPRO.
        Add UNGCPRO before the longjmps to wrong_kboard_jmpbuf.
        Initialize c before the GCPRO1.
-       
+
        * frame.c (Fdelete_frame): Undo previous change.
 
        * s/hpux8.h (LD_SWITCH_SYSTEM_TEMACS): Define this
        instead of LD_SWITCH_SYSTEM.
-       
+
        * window.c (set_window_height): Allow all heights > 0
        for minibuffer windows.
        (change_window_height): Fix one-off comparing DELTA with MAXIMUM.
 
        * w32.c (sys_shutdown): New function.
        * s/ms-win32.h: Define HAVE_SHUTDOWN.
-       
+
 1997-07-10  Eli Zaretskii  <eliz@pogo.gnu.ai.mit.edu>
 
        * xfaces.c (Fset_face_attribute_internal): Set mouse_face_defer
 
        * xterm.c (x_load_font): Get value of fontp->height from
        ascent and descent members of structure font->max_bounds.
-       (dumpglyphs): Draw background by FillSolid if a font is too short. 
+       (dumpglyphs): Draw background by FillSolid if a font is too short.
 
 1997-07-08  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
 
        * syntax.h (struct gl_state_s): New field `offset'.
        (SETUP_SYNTAX_TABLE_FOR_OBJECT): Set offset field.
        (SETUP_SYNTAX_TABLE): Clear offset field.
-       (UPDATE_SYNTAX_TABLE, UPDATE_SYNTAX_TABLE_FORWARD): 
+       (UPDATE_SYNTAX_TABLE, UPDATE_SYNTAX_TABLE_FORWARD):
        (UPDATE_SYNTAX_TABLE_BACKWARD): Use the offset field.
 
        * s/sol2.h (LIBS_SYSTEM): Add -lkvm and -lelf.
        emacs-mule, and set coding system for encoding to nil.
        (Fopen_network_stream): If enable-multibyte-characters is nil, set
        coding systems for decoding and encoding to nil.
-       
+
        * fileio.c (Finsert_file_contents): If enable-multibyte-characters
        is nil, decode character code by emacs-mule.
        (Fwrite_region): Use buffer-file-coding-system for encoding if
        * syssignal.h (sigpause): Don't define if already defined.
 
        * Makefile.in (LD_SWITCH_SYSTEM_TEMACS): New variable.
-       
+
 1997-07-02  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
 
        * Makefile.in (lisp, shortlisp): Add widget.elc.
        (read_process_output): Use read instead of READ_CHILD_OUTPUT.
 
        * makefile.nt (OBJ2): Include new source files.
-       
+
        * s/ms-w32.h: Duplicate undefs from config.in to check completeness.
        (STDC_HEADERS, HAVE_TZNAME, HAVE_MKTIME): Define to have a value.
        (HAVE_GETPAGESIZE, HAVE_SETLOCALE, HAVE_SHUTDOWN, HAVE_TZSET,
        [HAVE_NTGUI] (HAVE_MENUS): Define.
        (SYSTEM_PURESIZE_EXTRA): Increase value.
 
-       * unexw32.c, w32heap.c: Add pragma to force zero initialized 
+       * unexw32.c, w32heap.c: Add pragma to force zero initialized
        data into .data segment.
 
        * w32console.c, w32term.c: Include charset.h.
 1997-06-22  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
 
        * s/bsdos3.h: New file.
-       
+
        * s/bsdos2.h (KERNEL_FILE): New overriding definition.
 
        * keyboard.c (read_avail_input): Check for failure with EIO.
        (KERNEL_FILE, UNEXEC): Don't redefine them if __linux__.
        [__linux__] (TEXT_START, DATA_START, DATA_SEG_BITS):
        Alternate definitions.
-       
+
        * emacs.c (Fdump_emacs): Bind command-line-processed to nil here.
 
        * xdisp.c (init_xdisp): Pay attention to FRAME_MENU_BAR_LINES.
 
        * process.c (Fprocess_send_eof): Use shutdown, if it's a socket.
        Don't close the output descriptor if that is also the input descriptor.
-       
+
        * config.in (HAVE_SHUTDOWN): Add #undef.
 
        * editfns.c (Fchar_before): Validate N after decrementing.
 1997-06-15  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
 
        * process.c (wait_reading_process_input): When exiting because
-       the process WAIT_PROC has terminated, first read all its output. 
+       the process WAIT_PROC has terminated, first read all its output.
 
 1997-06-14  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
 
        Don't define these if __ELF__.
        (RUN_TIME_REMAP, N_PAGSIZ, N_BSSADDR, N_TRELOFF): Likewise.
 
-       * m/alpha.h (TEXT_END, COFF, DATA_END): 
+       * m/alpha.h (TEXT_END, COFF, DATA_END):
        Define them if __NetBSD__ just as if LINUX.
        (HAVE_TEXT_START): Define, if __NetBSD__ and __ELF__.
 
 
        * editfns.c (Finsert_char): Check QUIT.
 
-       * fontset.c (list_fontsets, fs_load_font): 
+       * fontset.c (list_fontsets, fs_load_font):
        fast_c_string_match_ignore_case renamed.
-       
+
        * xterm.c (x_list_fonts): fast_c_string_match_ignore_case renamed.
 
        * search.c (fast_c_string_match_ignore_case):
 1997-06-01  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
 
        * lisp.h (VALMASK, GCTYPEMASK, MARKBIT, ARRAY_MARK_FLAG)
-       (PSEUDOVECTOR_FLAG, enum pvec_type, PSEUDOVECTOR_SIZE_MASK): 
+       (PSEUDOVECTOR_FLAG, enum pvec_type, PSEUDOVECTOR_SIZE_MASK):
        Define regardless of NO_UNION_TYPE.
-       
+
        * xfns.c (Fx_create_frame): Use XINT to access parent.
 
        * syntax.c (Fsyntax_table_p, check_syntax_table): Use EQ.
        (ORDINARY_LINK): Defined (if __NetBSD__).
 
        * s/netbsd.h [__alpha__] (NO_SHARED_LIBS): Defined.
-       
+
 1997-05-31  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
 
        * lread.c (init_lread): Sometimes add to load-path
 
 1997-05-30  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
 
-       * xterm.c (process_expose_from_menu, XTread_socket): 
+       * xterm.c (process_expose_from_menu, XTread_socket):
        Set has_been_visible field.
        (x_make_frame_visible): Don't do XMoveWindow unles has_been_visible.
 
        Simplify the call to x_real_positions.
        (x_make_frame_visible): Use win_gravity to decide whether to
        call XMoveWindow.  Also, don't do it if frame already visible.
-       
+
        * xfns.c (x_real_positions): Subtract border width from results.
 
 1997-05-26  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
        Always call x_wm_set_size_hint for them.
        No need to call XTranslateCoordinates here.
        (x_clear_errors): New function.
-       
+
 1997-05-20  Erik Naggum  <erik@naggum.no>
 
        * editfns.c (Fformat_time_string): Doc update.
-       
+
 1997-05-20  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
 
        * editfns.c (Fformat_time_string): Doc update.
@@ -7969,7 +7969,7 @@ Thu May 15 22:21:18 1997  Ken'ichi Handa  <handa@diazepam.gnu.ai.mit.edu>
        CODING_EOL_AUTOMATIC => CODING_EOL_UNDECIDED.
        * coding.c: Likewise.
        * fileio.c: Likewise.
-       
+
        * xfns.c (Fx_create_frame): Delete unnecessary code.
 
 1997-05-15  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
@@ -8009,7 +8009,7 @@ Thu May 15 22:21:18 1997  Ken'ichi Handa  <handa@diazepam.gnu.ai.mit.edu>
        (compute_trt_identity, compute_trt_shuffle): New subroutines.
        (init_casetab_once): Use XSETFASTINT to store into case table;
        use CHAR_TABLE_SINGLE_BYTE_SLOTS to end the loop.
-       
+
 1997-05-13  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
 
        * syntax.c (describe_syntax_1): Pass new args to describe_vector.
@@ -8048,7 +8048,7 @@ Thu May 15 22:21:18 1997  Ken'ichi Handa  <handa@diazepam.gnu.ai.mit.edu>
        (copy_keymap_1, accessible_keymaps_char_table): New subroutines.
        (where_is_internal_1, where_is_internal_2): New functions.
        (syms_of_keymap): Set up Qchar_table_extra_slots prop on Qkeymap.
-       
+
 1997-05-10  Ken'ichi Handa  <handa@etl.go.jp>
 
        * callproc.c (Fcall_process_region): Supply 7th new arg
@@ -8151,7 +8151,7 @@ Thu May 15 22:21:18 1997  Ken'ichi Handa  <handa@diazepam.gnu.ai.mit.edu>
 
        * fileio.c (Fread_file_name): Finish previous change.
 
-       * coding.c (Fread_coding_system, Fread_non_nil_coding_system): 
+       * coding.c (Fread_coding_system, Fread_non_nil_coding_system):
        Pass new arg to Fcompleting_read.
 
        * callint.c (Fcall_interactively): Pass new arg to Fcompleting_read.
@@ -8231,7 +8231,7 @@ Thu May 15 22:21:18 1997  Ken'ichi Handa  <handa@diazepam.gnu.ai.mit.edu>
 
 1997-04-30  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
 
-       * xterm.c (XTmouse_position, x_term_init): 
+       * xterm.c (XTmouse_position, x_term_init):
        Save value from x_catch_errors and pass to x_uncatch_errors.
 
        * xselect.c (x_own_selection, x_reply_selection_request)
@@ -8405,14 +8405,14 @@ Thu May 15 22:21:18 1997  Ken'ichi Handa  <handa@diazepam.gnu.ai.mit.edu>
        SETUP_SYNTAX_TABLE_FOR_OBJECT): New macros.
        (struct gl_state_s): New struct.
 
-       * textprop.c: Style of comments corrected. 
+       * textprop.c: Style of comments corrected.
        (interval_of): New function.
 
 1997-04-14  Eli Zaretskii  <eliz@wombat.gnu.ai.mit.edu>
 
        * w16select.c: New file, MS-Windows clipboard support from
        Emacs running as MSDOS application.
-       
+
        * s/msdos.h (SYMS_SYSTEM): Add `syms_of_win16select'.
 
        * Makefile.in (MSDOS_OBJ): Add w16select.o.
@@ -8446,7 +8446,7 @@ Thu May 15 22:21:18 1997  Ken'ichi Handa  <handa@diazepam.gnu.ai.mit.edu>
        when REPLACE is handled by reading directly from the file.
        Use insert_1 to insert replacement text, to avoid
        query about whether to modify the buffer.
-       
+
 1997-04-10  Marcus G. Daniels  <marcus@cathcart.sysc.pdx.edu>
 
        * Makefile.in (mallocobj): Make non-REL_ALLOC configuration work
@@ -8496,7 +8496,7 @@ Thu May 15 22:21:18 1997  Ken'ichi Handa  <handa@diazepam.gnu.ai.mit.edu>
        (init_alloc_once): Set trim and mmap malloc parms, when using glibc.
 
        * config.in (DOUG_LEA_MALLOC): Add #undef.
-       
+
        * Makefile.in (mallocobj): Don't add gmalloc if using glibc.
        Drop check for `old malloc'; it isn't distributed with Emacs.
 
@@ -8631,7 +8631,7 @@ Sun Apr  6 10:26:53 1997  Eli Zaretskii  <eliz@wombat.gnu.ai.mit.edu>
        (Fcopy_file): Fix previous change.
        (Finsert_file_contents): Determine the character coding
        before we see if REPLACE can be handled.
-       Do handle REPLACE even if code conversion is needed. 
+       Do handle REPLACE even if code conversion is needed.
 
 1997-03-30  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
 
@@ -8664,10 +8664,10 @@ Sun Apr  6 10:26:53 1997  Eli Zaretskii  <eliz@wombat.gnu.ai.mit.edu>
 1997-03-22  Mark W. Eichin  <eichin@kitten.gen.ma.us>
 
        * keyboard.c (make_lispy_event): Use iso_lispy_function_keys for
-       XK_ISO_* keys found in XFree86. 
+       XK_ISO_* keys found in XFree86.
        (ISO_FUNCTION_KEY_OFFSET): New macro.
        (iso_lispy_function_keys): New table.
-       
+
        * xterm.c (XTread_socket): Accept XK_ISO_* keys.
 
 1997-03-19  Kenichi Handa  <handa@etl.go.jp>
@@ -8833,7 +8833,7 @@ Sun Apr  6 10:26:53 1997  Eli Zaretskii  <eliz@wombat.gnu.ai.mit.edu>
        precisely.
        (Ffind_coding_system, syms_of_coding): Escape newlines in
        docstring.
-       
+
        * charset.h (INC_POS, DEC_POS): Don't increase or decrease too
        much if there's binary code (invalid character code).
 
@@ -8970,7 +8970,7 @@ Sun Apr  6 10:26:53 1997  Eli Zaretskii  <eliz@wombat.gnu.ai.mit.edu>
        wordbeg, wordend, matchsyntax, and matchnotsyntax, code
        re-written to handle multibyte characters.
        Add code for case categoryspec and notcategoryspec.
-        
+
        * regex.h (struct re_pattern_buffer): New member multibyte.
 
 1997-02-21  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
@@ -9381,7 +9381,7 @@ Sun Apr  6 10:26:53 1997  Eli Zaretskii  <eliz@wombat.gnu.ai.mit.edu>
 1997-02-14  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
 
        * print.c (print): Generate a backslash in \2e10.
-       
+
 1997-02-08  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
 
        * window.c (change_window_height): Take size from multiple siblings,
@@ -9432,7 +9432,7 @@ Sun Feb  2 10:36:26 1997  Eli Zaretskii  <eliz@wombat.gnu.ai.mit.edu>
        that of the dividend.  This does not yield a
        particularly accurate result, but at least it will be in the
        range promised by fmod.
-       
+
        * doprnt.c: Include <float.h> if STDC_HEADERS.
        (DBL_MAX_10_EXP): Define if not defined; default is IEEE double.
        (doprnt1): Allocate enough buffer space to handle very large floating
@@ -9487,7 +9487,7 @@ Sun Feb  2 10:36:26 1997  Eli Zaretskii  <eliz@wombat.gnu.ai.mit.edu>
        Define these variables only if LOCALTIME_CACHE is defined.
 
 1997-01-21  Eli Zaretskii  <eliz@wombat.gnu.ai.mit.edu>
-               
+
        * msdos.c (run_msdos_command): Remove unused variables.
        (crlf_to_lf): Remove unused variables.
        (Fmsdos_downcase_filename): Remove unused variable.
@@ -9517,7 +9517,7 @@ Sun Feb  2 10:36:26 1997  Eli Zaretskii  <eliz@wombat.gnu.ai.mit.edu>
 
        * dispnew.c (init_display): Check for overflow in screen size.
        Use `fatal'.
-       
+
 1997-01-19  Geoff Voelker  <voelker@cs.washington.edu>
 
        * w32.c (init_environment): Rebuild Vsystem_configuration at startup.
@@ -9527,16 +9527,16 @@ Sun Feb  2 10:36:26 1997  Eli Zaretskii  <eliz@wombat.gnu.ai.mit.edu>
        * w32gui.h: Renamed from win32.h.
        * dispextern.h, w32term.h, makefile.nt: Use new name w32gui.h.
        * makefile.nt: Update header comment.
-       
-       * w32console.c (initialize_w32_display): Renamed from 
+
+       * w32console.c (initialize_w32_display): Renamed from
        initialize_win_nt_display.
        * term.c (term_init): Use new name initialize_w32_display.
-       
+
        * w32.c, w32console.c, w32faces.c, w32fns.c, w32heap.c,
        w32inevt.c, w32menu.c, w32proc.c, w32select.c, w32term.c,
        w32xfns.c, win32.h, w32inevt.h, w32term.h: Change all uses of win95,
        winnt, and win32 into Windows 95, Windows NT, and W32, respectively.
-       Expand "win" substring in variables referring to Microsoft Windows 
+       Expand "win" substring in variables referring to Microsoft Windows
        constructs into "windows".
        Canonicalize header comments to use same terminology.
 
@@ -9684,7 +9684,7 @@ Sun Feb  2 10:36:26 1997  Eli Zaretskii  <eliz@wombat.gnu.ai.mit.edu>
        Use BROKEN_MKTIME to determine whether mktime is broken.
 
 1996-12-30  Paul Eggert  <eggert@twinsun.com>
-       
+
        * data.c, floatfns.c: <float.h>: Include if STDC_HEADERS.
        (IEEE_FLOATING_POINT): New symbol.
        * data.c (float_arith_driver, Fmod), floatfns.c (Ffloor):
@@ -9725,7 +9725,7 @@ Sun Feb  2 10:36:26 1997  Eli Zaretskii  <eliz@wombat.gnu.ai.mit.edu>
        * window.c (window_scroll): Preserve vpos of point
        if we cannot preserve the actual position of it.
        Make it static.  New arg WHOLE; callers changed.
-       
+
        * keyboard.c (read_char_x_menu_prompt): Unread and record all the
        input events from here.
        (record_menu_key): New subroutine.
@@ -9876,7 +9876,7 @@ Sun Feb  2 10:36:26 1997  Eli Zaretskii  <eliz@wombat.gnu.ai.mit.edu>
        * msdos.c (IT_cmgoto): Don't update FRAME_CURSOR_X when the cursor
        is in echo area.
 
-1996-12-05  Erik Naggum <erik@naggum.no>
+1996-12-05  Erik Naggum  <erik@naggum.no>
 
        * keyboard.c (syms_of_keyboard): Doc fix.
 
@@ -9944,7 +9944,7 @@ Sun Feb  2 10:36:26 1997  Eli Zaretskii  <eliz@wombat.gnu.ai.mit.edu>
        * w32console.c: Renamed from w32term.c.
        * unexw32.c: Renamed from unexnt.c.
        * s/ms-w32.h: Renamed from s/windowsnt.h.
-       
+
        * dispnew.c (init_display) [HAVE_NTGUI]: Use w32 for window-system.
 
        * Makefile.in, callproc.c, makefile.nt: Use new names for w32 files.
@@ -10257,7 +10257,7 @@ Sun Feb  2 10:36:26 1997  Eli Zaretskii  <eliz@wombat.gnu.ai.mit.edu>
 
 1996-09-26  Marcus Daniels  <marcus@sayre.sysc.pdx.edu>
 
-       * xfns.c (x_set_scroll_bar_width): Move cursor to the 
+       * xfns.c (x_set_scroll_bar_width): Move cursor to the
        left margin, past a scroll bar, if any.
 
 1996-09-26  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
@@ -10372,7 +10372,7 @@ Sun Feb  2 10:36:26 1997  Eli Zaretskii  <eliz@wombat.gnu.ai.mit.edu>
 
 1996-09-20  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
 
-       * xterm.c (x_scroll_bar_create, x_scroll_bar_move): 
+       * xterm.c (x_scroll_bar_create, x_scroll_bar_move):
        (x_scroll_bar_expose): Use VERTICAL_SCROLL_BAR_WIDTH_TRIM.
 
        * xterm.h (VERTICAL_SCROLL_BAR_WIDTH_TRIM): Renamed from
@@ -10421,7 +10421,7 @@ Fri Sep 20 02:37:37 1996  Marcus Daniels  <marcus@sayre.sysc.pdx.edu>
 
        * xfns.c:  Add the symbol `right'; this symbol is used to indicate
        that a right-side scroll bar is wanted.
-       (x_set_vertical_scroll_bars): Check for left<->right<->none 
+       (x_set_vertical_scroll_bars): Check for left<->right<->none
        scroll bar changes, and modify the vertical scroll bar type
        as appropriate.
        (x_figure_window_size): Use new SET_FRAME_WIDTH macro.
@@ -10462,7 +10462,7 @@ Fri Sep 20 02:37:37 1996  Marcus Daniels  <marcus@sayre.sysc.pdx.edu>
 
        * w32fns.c (Qright): New variable.
        (syms_of_win32fns): Initialize and staticpro Qright.
-       (x_set_vertical_scroll_bars): Check for left<->right<->none 
+       (x_set_vertical_scroll_bars): Check for left<->right<->none
        scroll bar changes, and modify the vertical scroll bar type
        as appropriate.
        (x_figure_window_size): Use new SET_FRAME_WIDTH macro.
@@ -10497,7 +10497,7 @@ Fri Sep 20 02:37:37 1996  Marcus Daniels  <marcus@sayre.sysc.pdx.edu>
        (change_frame_size_1): Use FRAME_WINDOW_WIDTH to check for changes.
        Give `set_window_width' the window width value.
        Use new macro SET_FRAME_WIDTH.
-       
+
        * xterm.h (VERTICAL_SCROLL_BAR_INSIDE_WIDTH): Add frame as an
        argument, and use it to decrease the width in the case of a
        left-side scroll bar; this prevents the bar and adjacent text
@@ -10517,7 +10517,7 @@ Fri Sep 20 02:37:37 1996  Marcus Daniels  <marcus@sayre.sysc.pdx.edu>
        `external_width' and `width'.
        (WINDOW_VERTICAL_SCROLL_BAR_COLUMN): Modify to handle left-side
        scroll bars too.
-       
+
        * window.h (WINDOW_LEFT_MARGIN): New macro.
        (WINDOW_RIGHT_EDGE, WINDOW_RIGHT_MARGIN): New macros.
        (WINDOW_FULL_WIDTH_P, WINDOW_RIGHTMOST_P): New macros.
@@ -10528,7 +10528,7 @@ Fri Sep 20 02:37:37 1996  Marcus Daniels  <marcus@sayre.sysc.pdx.edu>
        (VERTICAL_SCROLL_BAR_TOP_RANGE): New arg F (not used).
        * xterm.c: Pass frame arg in calls to VERTICAL_SCROLL_BAR_INSIDE_HEIGHT
        and VERTICAL_SCROLL_BAR_TOP_RANGE.
-       
+
        * sysdep.c (init_system_name): Retry gethostbyname only 5 times
        and don't sleep after the last time.
 
@@ -10592,7 +10592,7 @@ Fri Sep 20 02:37:37 1996  Marcus Daniels  <marcus@sayre.sysc.pdx.edu>
 
        * window.c (Fset_window_start): Clear last_overlay_modified field.
        (set_window_height, set_window_width, Fset_window_buffer)
-       (change_window_height, window_scroll, Fset_window_configuration): 
+       (change_window_height, window_scroll, Fset_window_configuration):
        Clear last_overlay_modified field.
        (Fpos_visible_in_window_p): Test last_overlay_modified field.
 
@@ -10627,15 +10627,15 @@ Fri Sep 20 02:37:37 1996  Marcus Daniels  <marcus@sayre.sysc.pdx.edu>
 
        * xdisp.c (overlay_unchanged_modified): New variable.
        (redisplay_internal): Set overlay_unchanged_modified.
-       * insdel.c (gap_left, gap_right, modify_region): 
+       * insdel.c (gap_left, gap_right, modify_region):
        Compare overlay_unchanged_modified with OVERLAY_MODIFF.
 
        * buffer.c (modify_overlay): Renamed from redisplay_region
        moved here from xdisp.c, and made static.  Callers changed.
        Update OVERLAY_MODIFF instead of MODIFF.
        * xdisp.c (redisplay_region): Renamed and moved to buffer.c.
-       
-       * s/sco5.h (C_SWITCH_SYSTEM, LD_SWITCH_SYSTEM): 
+
+       * s/sco5.h (C_SWITCH_SYSTEM, LD_SWITCH_SYSTEM):
        Don't define them if using GCC.
 
 1996-09-13  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
@@ -10674,7 +10674,7 @@ Fri Sep 20 02:37:37 1996  Marcus Daniels  <marcus@sayre.sysc.pdx.edu>
        * keyboard.c (Fexecute_extended_command): Delete junk lines.
        Print the key bindings after the command, temporarily;
        then bring back the previous message.
-       
+
        * buffer.c (syms_of_buffer): Doc fixes.
 
        * filelock.c (lock_superlock): Delete superlock file if it stayed
@@ -10708,7 +10708,7 @@ Fri Sep 20 02:37:37 1996  Marcus Daniels  <marcus@sayre.sysc.pdx.edu>
 1996-09-04  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
 
        * lisp.h: Add many declarations.
-       
+
        * lisp.h (BITS_PER_EMACS_INT): New macro.
        (XMARKBIT): Test BITS_PER_EMACS_INT to conditionalize fast definition.
        * m/alpha.h (BITS_PER_EMACS_INT): New definition.
@@ -10771,7 +10771,7 @@ Fri Sep 20 02:37:37 1996  Marcus Daniels  <marcus@sayre.sysc.pdx.edu>
        * xterm.c (note_mouse_highlight):
        Pass POS argument to fast_find_position as int.
 
-       * textprop.c (set_properties, add_properties, remove_properties): 
+       * textprop.c (set_properties, add_properties, remove_properties):
        Call modify_region with ints.
 
        * insdel.c (prepare_to_modify_buffer): Take integer arguments.
@@ -10805,7 +10805,7 @@ Fri Sep 20 02:37:37 1996  Marcus Daniels  <marcus@sayre.sysc.pdx.edu>
        * xfns.c (x_get_and_record_arg): New function.
        (x_icon): Use that, for Qicon_top and Qicon_left.
        (x_report_frame_params): Report the Qparent_id parameter.
-       
+
 1996-09-03  Paul Eggert  <eggert@twinsun.com>
 
        * config.in (mktime): Define to emacs_mktime if we are using our own
@@ -10879,7 +10879,7 @@ Fri Sep 20 02:37:37 1996  Marcus Daniels  <marcus@sayre.sysc.pdx.edu>
 
 1996-08-31  Geoff Voelker  <voelker@cs.washington.edu>
 
-       * Makefile.in (MSDOS_SUPPORT, WINNT_SUPPORT, SOME_MACHINE_LISP): 
+       * Makefile.in (MSDOS_SUPPORT, WINNT_SUPPORT, SOME_MACHINE_LISP):
        Include dos-nt.elc.
 
 1996-08-31  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
@@ -10966,7 +10966,7 @@ Fri Sep 20 02:37:37 1996  Marcus Daniels  <marcus@sayre.sysc.pdx.edu>
        to the error message.
 
        * macros.h (executing_macro_iterations, executing_macro): Declared.
-       
+
        * macros.c (executing_macro_iterations, executing_macro): New vars.
        (Fexecute_kbd_macro): Set them.
 
@@ -11016,7 +11016,7 @@ Fri Sep 20 02:37:37 1996  Marcus Daniels  <marcus@sayre.sysc.pdx.edu>
        * s/sunos413.h: Renamed from s/sunos4-1-3.h.
        * s/dgux5-4-3.h: Renamed from s/dgux5-4r3.h.
        * s/sunos4-1-2.h: File deleted.
-       
+
        * xmenu.c (set_frame_menubar): Don't add ibw to menubar_size.
 
        * xfns.c (x_window): Don't add ibw to menubar_size.
index 978bf7e0429b61b6d920fb401790670c3b0d2334..1c2f7820bb578949e74b54c1811398c372a25a80 100644 (file)
        * xfns.c (Fx_show_busy_cursor): Doc-fix.
        (Fx_hide_busy_cursor): Ditto.
 
-1999-11-17  Marco Walther <walther@siemens-pyramid.com>
+1999-11-17  Marco Walther  <walther@siemens-pyramid.com>
 
        * unexsni.c (unexec): Handle .rel.dyn section.
 
        Don't call XSetInputFocus because that can generate additional
        FocusIn events.
 
-1999-10-07  Jeffrey C Honig <jch@bsdi.com>
+1999-10-07  Jeffrey C Honig  <jch@bsdi.com>
 
        * bsdos4.h [HAVE_LIBNCURSES]: Define TERMINFO and LIBS_TERMCAP.
 
        (Fputhash): Ditto.
        (Fremhash): Ditto.
 
-1999-07-26  Gerd Moellmann <gerd@gnu.org>
+1999-07-26  Gerd Moellmann  <gerd@gnu.org>
 
        * widget.c (EmacsFrameSetCharSize): Don't add XtNborderWidth
        value to frame width and height.
@@ -11346,7 +11346,7 @@ Wed Jun 25 15:22:58 1997  Gerd Moellmann  <gerd@acm.org>
 
        * editfns.c (Fuser_full_name): Doc fix.
 
-1999-06-14  Tak Ota <ota@atc.sel.sony.com>
+1999-06-14  Tak Ota  <ota@atc.sel.sony.com>
 
        * w32bdf.c: (clear_cached_bitmap_slots): Remove.
        (get_bitmap_with_cache): Check if CreateBitmap failed.
@@ -11355,7 +11355,7 @@ Wed Jun 25 15:22:58 1997  Gerd Moellmann  <gerd@acm.org>
        Do cache clearing inline.  Move global variables to local scope.
 
 
-1999-06-13  Wolfgang Glas <Wolfgang.Glas@hfm.tu-graz.ac.at>
+1999-06-13  Wolfgang Glas  <Wolfgang.Glas@hfm.tu-graz.ac.at>
 
        * unexsgi.c (unexec): Dump the .rodata section from memory
        under IRIX6.5 in order to be able to unexec with gcc.
@@ -11536,11 +11536,11 @@ Wed Jun 25 15:22:58 1997  Gerd Moellmann  <gerd@acm.org>
 
        * w32term.c (dumpglyphs): Always fill background for italic fonts.
 
-1999-05-03  Eli Zaretskii <eliz@is.elta.co.il>
+1999-05-03  Eli Zaretskii  <eliz@is.elta.co.il>
 
        * dired.c (make_time): Make argument type be time_t.
 
-1999-05-02  Eli Zaretskii <eliz@is.elta.co.il>
+1999-05-02  Eli Zaretskii  <eliz@is.elta.co.il>
 
        * msdos.c (unibyte_display_via_language_environment): Add extern.
 
@@ -11813,7 +11813,7 @@ Wed Jun 25 15:22:58 1997  Gerd Moellmann  <gerd@acm.org>
 
        * filelock.c (get_boot_time): Test tempname, not filename.
 
-1999-03-17  Jason Rumney <jasonr@altavista.net>
+1999-03-17  Jason Rumney  <jasonr@altavista.net>
 
        * w32bdf.h: Merged patches from Meadow; introduce bitmap cache to
        speed display.
@@ -11851,7 +11851,7 @@ Wed Jun 25 15:22:58 1997  Gerd Moellmann  <gerd@acm.org>
        * macros.c (Fexecute_kbd_macro): Initialize executing_macro_iterations
        at beginning.
 
-1999-03-14  Jason Rumney <jasonr@altavista.net>
+1999-03-14  Jason Rumney  <jasonr@altavista.net>
 
        * w32fns.c (w32_strict_fontnames): New variable.
        (Fx_create_frame): Formatting fix.
@@ -11902,7 +11902,7 @@ Wed Jun 25 15:22:58 1997  Gerd Moellmann  <gerd@acm.org>
 
        * makefile.nt: Remove common multiple file compilation commands.
 
-1999-03-04  Takeshi YAMADA <yamada@cslab.kecl.ntt.co.jp>
+1999-03-04  Takeshi YAMADA  <yamada@cslab.kecl.ntt.co.jp>
 
        * fns.c (Fbase64_encode_string): Allocate sufficient memory for
        newlines added when the arg NO-LINE-BREAK is nil.
@@ -12229,7 +12229,7 @@ Wed Jun 25 15:22:58 1997  Gerd Moellmann  <gerd@acm.org>
 
        * makefile.nt: Use full path to temacs.exe when dumping.
 
-1999-01-27  Jason Rumney <jasonr@altavista.net>
+1999-01-27  Jason Rumney  <jasonr@altavista.net>
 
        * w32fns.c (w32_load_system_font): Do not load unlisted fonts if
        list was reliable.
@@ -12291,7 +12291,7 @@ Wed Jun 25 15:22:58 1997  Gerd Moellmann  <gerd@acm.org>
        to set prev_from_syntax, above start of main loop.
        At startinstring, check syntax when checking for a match.
 
-1999-01-22  Jason Rumney <jasonr@altavista.net>
+1999-01-22  Jason Rumney  <jasonr@altavista.net>
 
        * w32bdf.c: New file.
        * w32bdf.h: New file.
@@ -12349,7 +12349,7 @@ Wed Jun 25 15:22:58 1997  Gerd Moellmann  <gerd@acm.org>
        * xterm.c (same_x_server): Detect treat ":0" and "unix:0"
        as the same.  Treat "myname:0" as the same as those two.
 
-1999-01-19  Jason Rumney <jasonr@altavista.net>
+1999-01-19  Jason Rumney  <jasonr@altavista.net>
 
        * w32fns.c (x_to_w32_charset): Add iso8859-9.
        (w32_to_x_charset): Fix charset mappings.
@@ -13203,7 +13203,7 @@ Wed Jun 25 15:22:58 1997  Gerd Moellmann  <gerd@acm.org>
 
        * m/ews4800.h, s/ux4800.h: New files.
 
-1998-11-03  Theodore Jump <tjump@tertius.com>
+1998-11-03  Theodore Jump  <tjump@tertius.com>
 
        * makefile.nt: Compile multiple source files when possible.
 
index 659397a3730be234fb7fc1a97664ee5dacfa1df0..224b8384f5a2833cd0b197aae79f9c7b359bc220 100644 (file)
        (live_float_p, live_misc_p): Return 1 only if the offset of the
        pointer in its block is >= 0.
 
-2001-03-28  Paul Eggert <eggert@twinsun.com>
+2001-03-28  Paul Eggert  <eggert@twinsun.com>
 
        * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
        microseconds calcuation.  Avoid double-rounding problem.
        gai_strerror.  Make sure xerrno is set if connect fails.  Improve
        error recovery.
 
-2000-09-29  Jason Rumney <jasonr@gnu.org>
+2000-09-29  Jason Rumney  <jasonr@gnu.org>
 
        * w32term.c (w32_char_font_type, w32_encode_char)
        (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
        * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
        Callers changed.
 
-2000-08-02  Colin Walters <walters@cis.ohio-state.edu>
+2000-08-02  Colin Walters  <walters@cis.ohio-state.edu>
 
        * window.c (display_buffer_reuse_frames): New variable.
        (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
        * msdos.c (XMenuActivate): Turn off the cursor after displaying
        the help message.
 
-2000-02-07  Eli Zaretskii <eliz@is.elta.co.il>
+2000-02-07  Eli Zaretskii  <eliz@is.elta.co.il>
 
        * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
        md, mh, mb, mr, and me to the fake termcap entry.
        the string constant limit (2048 bytes) in MSVC.
        (main): Ditto.
 
-2000-02-05  INOUE Seiichiro <inoue@ainet.or.jp>
+2000-02-05  INOUE Seiichiro  <inoue@ainet.or.jp>
 
        * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
        (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
        (create_frame_xic): Renamed from xic_create_frame.
        (free_frame_xic): Renamed from xic_destroy_frame.
 
-2000-01-29  INOUE Seiichiro <inoue@ainet.or.jp>
+2000-01-29  INOUE Seiichiro  <inoue@ainet.or.jp>
 
        * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
        our frames, call XFilterEvent with 2nd parameter `None'.
        (x_produce_glyphs): Calculate per char metrics for a character
        that we know exists in default font when font_not_found_p is true.
 
-2000-01-22  Jason Rumney <jasonr@gnu.org>
+2000-01-22  Jason Rumney  <jasonr@gnu.org>
 
        * makefile.nt (intervals.obj, composite.obj): New modules.
        (composite.h): Added as dependency where appropriate.
index 2939b138d3f79a9569526c3a9682f262a8e15098..ae675bb310ee5ebe4d26c8f25cff87d7a2a0a1c3 100644 (file)
@@ -303,7 +303,7 @@ Returns the abbrev symbol, if expansion took place.  */)
          c = FETCH_BYTE (idx_byte);
          idx++, idx_byte++;
        }
-         
+
       if (UPPERCASEP (c))
        c = DOWNCASE (c), uccount++;
       else if (! NOCASEP (c))
index 61ea3565153f07a293a93d1545030bce8450102d..20240136526ae564fb38eba1389ae13d17b5ab7d 100644 (file)
@@ -356,7 +356,7 @@ struct mem_node
 
   /* Node color.  */
   enum {MEM_BLACK, MEM_RED} color;
-  
+
   /* Memory type.  */
   enum mem_type type;
 };
@@ -596,14 +596,14 @@ lisp_malloc (nbytes, type)
 #ifdef GC_MALLOC_CHECK
   allocated_mem_type = type;
 #endif
-  
+
   val = (void *) malloc (nbytes);
 
 #if GC_MARK_STACK && !defined GC_MALLOC_CHECK
   if (val && type != MEM_TYPE_NON_LISP)
     mem_insert (val, (char *) val + nbytes, type);
 #endif
-   
+
   UNBLOCK_INPUT;
   if (!val && nbytes)
     memory_full ();
@@ -617,7 +617,7 @@ lisp_malloc (nbytes, type)
 struct buffer *
 allocate_buffer ()
 {
-  struct buffer *b 
+  struct buffer *b
     = (struct buffer *) lisp_malloc (sizeof (struct buffer),
                                     MEM_TYPE_BUFFER);
   VALIDATE_LISP_STORAGE (b, sizeof *b);
@@ -674,7 +674,7 @@ emacs_blocked_free (ptr)
   if (ptr)
     {
       struct mem_node *m;
-  
+
       m = mem_find (ptr);
       if (m == MEM_NIL || m->start != ptr)
        {
@@ -689,10 +689,10 @@ emacs_blocked_free (ptr)
        }
     }
 #endif /* GC_MALLOC_CHECK */
-  
+
   __free_hook = old_free_hook;
   free (ptr);
-  
+
   /* If we released our reserve (due to running out of memory),
      and we have a fair amount free once again,
      try to set aside another reserve in case we run out once more.  */
@@ -762,7 +762,7 @@ emacs_blocked_malloc (size)
       }
   }
 #endif /* GC_MALLOC_CHECK */
-  
+
   __malloc_hook = emacs_blocked_malloc;
   UNBLOCK_INPUT;
 
@@ -797,9 +797,9 @@ emacs_blocked_realloc (ptr, size)
 
       mem_delete (m);
     }
-  
+
   /* fprintf (stderr, "%p -> realloc\n", ptr); */
-  
+
   /* Prevent malloc from registering blocks.  */
   dont_register_blocks = 1;
 #endif /* GC_MALLOC_CHECK */
@@ -820,10 +820,10 @@ emacs_blocked_realloc (ptr, size)
     /* Can't handle zero size regions in the red-black tree.  */
     mem_insert (value, (char *) value + max (size, 1), MEM_TYPE_NON_LISP);
   }
-  
+
   /* fprintf (stderr, "%p <- realloc\n", value); */
 #endif /* GC_MALLOC_CHECK */
-  
+
   __realloc_hook = emacs_blocked_realloc;
   UNBLOCK_INPUT;
 
@@ -1069,13 +1069,13 @@ struct sdata
   struct Lisp_String *string;
 
 #ifdef GC_CHECK_STRING_BYTES
-  
+
   EMACS_INT nbytes;
   unsigned char data[1];
-  
+
 #define SDATA_NBYTES(S)        (S)->nbytes
 #define SDATA_DATA(S)  (S)->data
-  
+
 #else /* not GC_CHECK_STRING_BYTES */
 
   union
@@ -1086,7 +1086,7 @@ struct sdata
     /* When STRING is null.  */
     EMACS_INT nbytes;
   } u;
-  
+
 
 #define SDATA_NBYTES(S)        (S)->u.nbytes
 #define SDATA_DATA(S)  (S)->u.data
@@ -1165,7 +1165,7 @@ static int total_string_size;
    S must be live, i.e. S->data must not be null.  S->data is actually
    a pointer to the `u.data' member of its sdata structure; the
    structure starts at a constant offset in front of that.  */
-   
+
 #ifdef GC_CHECK_STRING_BYTES
 
 #define SDATA_OF_STRING(S) \
@@ -1238,7 +1238,7 @@ string_bytes (s)
     abort ();
   return nbytes;
 }
-    
+
 /* Check validity of Lisp strings' string_bytes member in B.  */
 
 void
@@ -1246,25 +1246,25 @@ check_sblock (b)
      struct sblock *b;
 {
   struct sdata *from, *end, *from_end;
-      
+
   end = b->next_free;
-      
+
   for (from = &b->first_data; from < end; from = from_end)
     {
       /* Compute the next FROM here because copying below may
         overwrite data we need to compute it.  */
       int nbytes;
-      
+
       /* Check that the string size recorded in the string is the
         same as the one recorded in the sdata structure. */
       if (from->string)
        CHECK_STRING_BYTES (from->string);
-      
+
       if (from->string)
        nbytes = GC_STRING_BYTES (from->string);
       else
        nbytes = SDATA_NBYTES (from);
-      
+
       nbytes = SDATA_SIZE (nbytes);
       from_end = (struct sdata *) ((char *) from + nbytes);
     }
@@ -1289,7 +1289,7 @@ check_string_bytes (all_p)
          if (s)
            CHECK_STRING_BYTES (s);
        }
-      
+
       for (b = oldest_sblock; b; b = b->next)
        check_sblock (b);
     }
@@ -1395,12 +1395,12 @@ allocate_string_data (s, nchars, nbytes)
 #endif
 
       b = (struct sblock *) lisp_malloc (size, MEM_TYPE_NON_LISP);
-      
+
 #ifdef DOUG_LEA_MALLOC
       /* Back to a reasonable maximum of mmap'ed areas. */
       mallopt (M_MMAP_MAX, MMAP_MAX_AREAS);
 #endif
-  
+
       b->next_free = &b->first_data;
       b->first_data.string = NULL;
       b->next = large_sblocks;
@@ -1428,7 +1428,7 @@ allocate_string_data (s, nchars, nbytes)
 
   old_data = s->data ? SDATA_OF_STRING (s) : NULL;
   old_nbytes = GC_STRING_BYTES (s);
-  
+
   data = b->next_free;
   data->string = s;
   s->data = SDATA_DATA (data);
@@ -1439,7 +1439,7 @@ allocate_string_data (s, nchars, nbytes)
   s->size_byte = nbytes;
   s->data[nbytes] = '\0';
   b->next_free = (struct sdata *) ((char *) data + needed);
-  
+
   /* If S had already data assigned, mark that as free by setting its
      string back-pointer to null, and recording the size of the data
      in it.  */
@@ -1460,7 +1460,7 @@ sweep_strings ()
 {
   struct string_block *b, *next;
   struct string_block *live_blocks = NULL;
-  
+
   string_free_list = NULL;
   total_strings = total_free_strings = 0;
   total_string_size = 0;
@@ -1484,7 +1484,7 @@ sweep_strings ()
                {
                  /* String is live; unmark it and its intervals.  */
                  UNMARK_STRING (s);
-                 
+
                  if (!NULL_INTERVAL_P (s->intervals))
                    UNMARK_BALANCE_INTERVALS (s->intervals);
 
@@ -1556,7 +1556,7 @@ free_large_strings ()
 {
   struct sblock *b, *next;
   struct sblock *live_blocks = NULL;
-  
+
   for (b = large_sblocks; b; b = next)
     {
       next = b->next;
@@ -1597,7 +1597,7 @@ compact_small_strings ()
     {
       end = b->next_free;
       xassert ((char *) end <= (char *) b + SBLOCK_SIZE);
-      
+
       for (from = &b->first_data; from < end; from = from_end)
        {
          /* Compute the next FROM here because copying below may
@@ -1611,15 +1611,15 @@ compact_small_strings ()
              && GC_STRING_BYTES (from->string) != SDATA_NBYTES (from))
            abort ();
 #endif /* GC_CHECK_STRING_BYTES */
-         
+
          if (from->string)
            nbytes = GC_STRING_BYTES (from->string);
          else
            nbytes = SDATA_NBYTES (from);
-         
+
          nbytes = SDATA_SIZE (nbytes);
          from_end = (struct sdata *) ((char *) from + nbytes);
-         
+
          /* FROM->string non-null means it's alive.  Copy its data.  */
          if (from->string)
            {
@@ -1633,7 +1633,7 @@ compact_small_strings ()
                  to = &tb->first_data;
                  to_end = (struct sdata *) ((char *) to + nbytes);
                }
-             
+
              /* Copy, and update the string's `data' pointer.  */
              if (from != to)
                {
@@ -1700,7 +1700,7 @@ Both LENGTH and INIT must be numbers.  */)
          p += len;
        }
     }
-  
+
   *p = 0;
   return val;
 }
@@ -1728,16 +1728,16 @@ LENGTH must be a number.  INIT matters only in whether it is t or nil.  */)
      slot `size' of the struct Lisp_Bool_Vector.  */
   val = Fmake_vector (make_number (length_in_elts + 1), Qnil);
   p = XBOOL_VECTOR (val);
-  
+
   /* Get rid of any bits that would cause confusion.  */
   p->vector_size = 0;
   XSETBOOL_VECTOR (val, p);
   p->size = XFASTINT (length);
-  
+
   real_init = (NILP (init) ? 0 : -1);
   for (i = 0; i < length_in_chars ; i++)
     p->data[i] = real_init;
-  
+
   /* Clear the extraneous bits in the last byte.  */
   if (XINT (length) != length_in_chars * BITS_PER_CHAR)
     XBOOL_VECTOR (val)->data[length_in_chars - 1]
@@ -1982,7 +1982,7 @@ make_float (float_value)
        }
       XSETFLOAT (val, &float_block->floats[float_block_index++]);
     }
-  
+
   XFLOAT_DATA (val) = float_value;
   XSETFASTINT (XFLOAT (val)->type, 0); /* bug chasing -wsr */
   consing_since_gc += sizeof (struct Lisp_Float);
@@ -2089,7 +2089,7 @@ DEFUN ("cons", Fcons, Scons, 2, 2, 0,
        }
       XSETCONS (val, &cons_block->conses[cons_block_index++]);
     }
-  
+
   XSETCAR (val, car);
   XSETCDR (val, cdr);
   consing_since_gc += sizeof (struct Lisp_Cons);
@@ -2174,17 +2174,17 @@ DEFUN ("make-list", Fmake_list, Smake_list, 2, 2, 0,
        {
          val = Fcons (init, val);
          --size;
-      
+
          if (size > 0)
            {
              val = Fcons (init, val);
              --size;
-      
+
              if (size > 0)
                {
                  val = Fcons (init, val);
                  --size;
-      
+
                  if (size > 0)
                    {
                      val = Fcons (init, val);
@@ -2196,7 +2196,7 @@ DEFUN ("make-list", Fmake_list, Smake_list, 2, 2, 0,
 
       QUIT;
     }
-  
+
   return val;
 }
 
@@ -2232,15 +2232,15 @@ allocate_vectorlike (len, type)
      a dumped Emacs.  */
   mallopt (M_MMAP_MAX, 0);
 #endif
-  
+
   nbytes = sizeof *p + (len - 1) * sizeof p->contents[0];
   p = (struct Lisp_Vector *) lisp_malloc (nbytes, type);
-  
+
 #ifdef DOUG_LEA_MALLOC
   /* Back to a reasonable maximum of mmap'ed areas.  */
   mallopt (M_MMAP_MAX, MMAP_MAX_AREAS);
 #endif
-  
+
   VALIDATE_LISP_STORAGE (p, 0);
   consing_since_gc += nbytes;
   vector_cells_consed += len;
@@ -2272,11 +2272,11 @@ allocate_hash_table ()
   EMACS_INT len = VECSIZE (struct Lisp_Hash_Table);
   struct Lisp_Vector *v = allocate_vectorlike (len, MEM_TYPE_HASH_TABLE);
   EMACS_INT i;
-  
+
   v->size = len;
   for (i = 0; i < len; ++i)
     v->contents[i] = Qnil;
-  
+
   return (struct Lisp_Hash_Table *) v;
 }
 
@@ -2287,11 +2287,11 @@ allocate_window ()
   EMACS_INT len = VECSIZE (struct window);
   struct Lisp_Vector *v = allocate_vectorlike (len, MEM_TYPE_WINDOW);
   EMACS_INT i;
-  
+
   for (i = 0; i < len; ++i)
     v->contents[i] = Qnil;
   v->size = len;
-  
+
   return (struct window *) v;
 }
 
@@ -2302,7 +2302,7 @@ allocate_frame ()
   EMACS_INT len = VECSIZE (struct frame);
   struct Lisp_Vector *v = allocate_vectorlike (len, MEM_TYPE_FRAME);
   EMACS_INT i;
-  
+
   for (i = 0; i < len; ++i)
     v->contents[i] = make_number (0);
   v->size = len;
@@ -2316,11 +2316,11 @@ allocate_process ()
   EMACS_INT len = VECSIZE (struct Lisp_Process);
   struct Lisp_Vector *v = allocate_vectorlike (len, MEM_TYPE_PROCESS);
   EMACS_INT i;
-  
+
   for (i = 0; i < len; ++i)
     v->contents[i] = Qnil;
   v->size = len;
-  
+
   return (struct Lisp_Process *) v;
 }
 
@@ -2331,11 +2331,11 @@ allocate_other_vector (len)
 {
   struct Lisp_Vector *v = allocate_vectorlike (len, MEM_TYPE_VECTOR);
   EMACS_INT i;
-  
+
   for (i = 0; i < len; ++i)
     v->contents[i] = Qnil;
   v->size = len;
-  
+
   return v;
 }
 
@@ -2547,7 +2547,7 @@ Its value and function definition are void, and its property list is nil.  */)
        }
       XSETSYMBOL (val, &symbol_block->symbols[symbol_block_index++]);
     }
-  
+
   p = XSYMBOL (val);
   p->xname = name;
   p->plist = Qnil;
@@ -2628,7 +2628,7 @@ allocate_misc ()
        }
       XSETMISC (val, &marker_block->markers[marker_block_index++]);
     }
-  
+
   consing_since_gc += sizeof (union Lisp_Misc);
   misc_objects_consed++;
   return val;
@@ -2713,7 +2713,7 @@ make_event_array (nargs, args)
      characters, so we can make a string.  */
   {
     Lisp_Object result;
-    
+
     result = Fmake_string (make_number (nargs), make_number (0));
     for (i = 0; i < nargs; i++)
       {
@@ -2722,7 +2722,7 @@ make_event_array (nargs, args)
        if (XINT (args[i]) & CHAR_META)
          SSET (result, i, SREF (result, i) | 0x80);
       }
-    
+
     return result;
   }
 }
@@ -2805,7 +2805,7 @@ mem_insert (start, end, type)
   parent = NULL;
 
 #if GC_MARK_STACK != GC_MAKE_GCPROS_NOOPS
-     
+
   while (c != MEM_NIL)
     {
       if (start >= c->start && start < c->end)
@@ -2813,15 +2813,15 @@ mem_insert (start, end, type)
       parent = c;
       c = start < c->start ? c->left : c->right;
     }
-     
+
 #else /* GC_MARK_STACK == GC_MARK_STACK_CHECK_GCPROS */
-     
+
   while (c != MEM_NIL)
     {
       parent = c;
       c = start < c->start ? c->left : c->right;
     }
-     
+
 #endif /* GC_MARK_STACK == GC_MARK_STACK_CHECK_GCPROS */
 
   /* Create a new node.  */
@@ -2847,7 +2847,7 @@ mem_insert (start, end, type)
       else
        parent->right = x;
     }
-  else 
+  else
     mem_root = x;
 
   /* Re-establish red-black tree properties.  */
@@ -2868,13 +2868,13 @@ mem_insert_fixup (x)
     {
       /* X is red and its parent is red.  This is a violation of
         red-black tree property #3.  */
-      
+
       if (x->parent == x->parent->parent->left)
        {
          /* We're on the left side of our grandparent, and Y is our
             "uncle".  */
          struct mem_node *y = x->parent->parent->right;
-         
+
          if (y->color == MEM_RED)
            {
              /* Uncle and parent are red but should be black because
@@ -2904,7 +2904,7 @@ mem_insert_fixup (x)
        {
          /* This is the symmetrical case of above.  */
          struct mem_node *y = x->parent->parent->left;
-         
+
          if (y->color == MEM_RED)
            {
              x->parent->color = MEM_BLACK;
@@ -2919,7 +2919,7 @@ mem_insert_fixup (x)
                  x = x->parent;
                  mem_rotate_right (x);
                }
-             
+
              x->parent->color = MEM_BLACK;
              x->parent->parent->color = MEM_RED;
              mem_rotate_left (x->parent->parent);
@@ -2933,8 +2933,8 @@ mem_insert_fixup (x)
 }
 
 
-/*   (x)                   (y)     
-     / \                   / \     
+/*   (x)                   (y)
+     / \                   / \
     a   (y)      ===>    (x)  c
         / \              / \
        b   c            a   b  */
@@ -2973,10 +2973,10 @@ mem_rotate_left (x)
 }
 
 
-/*     (x)                (Y)     
-       / \                / \               
-     (y)  c      ===>    a  (x)          
-     / \                    / \          
+/*     (x)                (Y)
+       / \                / \
+     (y)  c      ===>    a  (x)
+     / \                    / \
     a   b                  b   c  */
 
 static void
@@ -2988,7 +2988,7 @@ mem_rotate_right (x)
   x->left = y->right;
   if (y->right != MEM_NIL)
     y->right->parent = x;
-  
+
   if (y != MEM_NIL)
     y->parent = x->parent;
   if (x->parent)
@@ -3000,7 +3000,7 @@ mem_rotate_right (x)
     }
   else
     mem_root = y;
-  
+
   y->right = x;
   if (x != MEM_NIL)
     x->parent = y;
@@ -3049,7 +3049,7 @@ mem_delete (z)
       z->end = y->end;
       z->type = y->type;
     }
-  
+
   if (y->color == MEM_BLACK)
     mem_delete_fixup (x);
 
@@ -3073,7 +3073,7 @@ mem_delete_fixup (x)
       if (x == x->parent->left)
        {
          struct mem_node *w = x->parent->right;
-         
+
          if (w->color == MEM_RED)
            {
              w->color = MEM_BLACK;
@@ -3081,7 +3081,7 @@ mem_delete_fixup (x)
              mem_rotate_left (x->parent);
              w = x->parent->right;
             }
-         
+
          if (w->left->color == MEM_BLACK && w->right->color == MEM_BLACK)
            {
              w->color = MEM_RED;
@@ -3106,7 +3106,7 @@ mem_delete_fixup (x)
       else
        {
          struct mem_node *w = x->parent->left;
-         
+
          if (w->color == MEM_RED)
            {
              w->color = MEM_BLACK;
@@ -3114,7 +3114,7 @@ mem_delete_fixup (x)
              mem_rotate_right (x->parent);
              w = x->parent->left;
             }
-         
+
          if (w->right->color == MEM_BLACK && w->left->color == MEM_BLACK)
            {
              w->color = MEM_RED;
@@ -3129,7 +3129,7 @@ mem_delete_fixup (x)
                  mem_rotate_left (w);
                  w = x->parent->left;
                 }
-             
+
              w->color = x->parent->color;
              x->parent->color = MEM_BLACK;
              w->left->color = MEM_BLACK;
@@ -3138,7 +3138,7 @@ mem_delete_fixup (x)
             }
         }
     }
-  
+
   x->color = MEM_BLACK;
 }
 
@@ -3206,7 +3206,7 @@ live_symbol_p (m, p)
     {
       struct symbol_block *b = (struct symbol_block *) m->start;
       int offset = (char *) p - (char *) &b->symbols[0];
-      
+
       /* P must point to the start of a Lisp_Symbol, not be
         one of the unused cells in the current symbol block,
         and not be on the free-list.  */
@@ -3233,7 +3233,7 @@ live_float_p (m, p)
     {
       struct float_block *b = (struct float_block *) m->start;
       int offset = (char *) p - (char *) &b->floats[0];
-      
+
       /* P must point to the start of a Lisp_Float, not be
         one of the unused cells in the current float block,
         and not be on the free-list.  */
@@ -3260,7 +3260,7 @@ live_misc_p (m, p)
     {
       struct marker_block *b = (struct marker_block *) m->start;
       int offset = (char *) p - (char *) &b->markers[0];
-      
+
       /* P must point to the start of a Lisp_Misc, not be
         one of the unused cells in the current misc block,
         and not be on the free-list.  */
@@ -3366,7 +3366,7 @@ mark_maybe_object (obj)
 {
   void *po = (void *) XPNTR (obj);
   struct mem_node *m = mem_find (po);
-      
+
   if (m != MEM_NIL)
     {
       int mark_p = 0;
@@ -3412,12 +3412,12 @@ mark_maybe_object (obj)
                case Lisp_Misc_Marker:
                  mark_p = !XMARKBIT (XMARKER (obj)->chain);
                  break;
-                     
+
                case Lisp_Misc_Buffer_Local_Value:
                case Lisp_Misc_Some_Buffer_Local_Value:
                  mark_p = !XMARKBIT (XBUFFER_LOCAL_VALUE (obj)->realvalue);
                  break;
-                     
+
                case Lisp_Misc_Overlay:
                  mark_p = !XMARKBIT (XOVERLAY (obj)->plist);
                  break;
@@ -3456,30 +3456,30 @@ mark_maybe_pointer (p)
      assume that Lisp data is aligned on even addresses.  */
   if ((EMACS_INT) p & 1)
     return;
-      
+
   m = mem_find (p);
   if (m != MEM_NIL)
     {
       Lisp_Object obj = Qnil;
-      
+
       switch (m->type)
        {
        case MEM_TYPE_NON_LISP:
          /* Nothing to do; not a pointer to Lisp memory.  */
          break;
-         
+
        case MEM_TYPE_BUFFER:
          if (live_buffer_p (m, p)
              && !XMARKBIT (((struct buffer *) p)->name))
            XSETVECTOR (obj, p);
          break;
-         
+
        case MEM_TYPE_CONS:
          if (live_cons_p (m, p)
              && !XMARKBIT (((struct Lisp_Cons *) p)->car))
            XSETCONS (obj, p);
          break;
-         
+
        case MEM_TYPE_STRING:
          if (live_string_p (m, p)
              && !STRING_MARKED_P ((struct Lisp_String *) p))
@@ -3491,20 +3491,20 @@ mark_maybe_pointer (p)
            {
              Lisp_Object tem;
              XSETMISC (tem, p);
-             
+
              switch (XMISCTYPE (tem))
                {
                case Lisp_Misc_Marker:
                  if (!XMARKBIT (XMARKER (tem)->chain))
                    obj = tem;
                  break;
-                     
+
                case Lisp_Misc_Buffer_Local_Value:
                case Lisp_Misc_Some_Buffer_Local_Value:
                  if (!XMARKBIT (XBUFFER_LOCAL_VALUE (tem)->realvalue))
                    obj = tem;
                  break;
-                     
+
                case Lisp_Misc_Overlay:
                  if (!XMARKBIT (XOVERLAY (tem)->plist))
                    obj = tem;
@@ -3512,19 +3512,19 @@ mark_maybe_pointer (p)
                }
            }
          break;
-         
+
        case MEM_TYPE_SYMBOL:
          if (live_symbol_p (m, p)
              && !XMARKBIT (((struct Lisp_Symbol *) p)->plist))
            XSETSYMBOL (obj, p);
          break;
-         
+
        case MEM_TYPE_FLOAT:
          if (live_float_p (m, p)
              && !XMARKBIT (((struct Lisp_Float *) p)->type))
            XSETFLOAT (obj, p);
          break;
-         
+
        case MEM_TYPE_VECTOR:
        case MEM_TYPE_PROCESS:
        case MEM_TYPE_HASH_TABLE:
@@ -3552,7 +3552,7 @@ mark_maybe_pointer (p)
 
 /* Mark Lisp objects referenced from the address range START..END.  */
 
-static void 
+static void
 mark_memory (start, end)
      void *start, *end;
 {
@@ -3593,7 +3593,7 @@ mark_memory (start, end)
      Here, `obj' isn't really used, and the compiler optimizes it
      away.  The only reference to the life string is through the
      pointer `s'.  */
-  
+
   for (pp = (void **) start; (void *) pp < end; ++pp)
     mark_maybe_pointer (*pp);
 }
@@ -3783,14 +3783,14 @@ mark_stack ()
 #ifdef sparc
   asm ("ta 3");
 #endif
-  
+
   /* Save registers that we need to see on the stack.  We need to see
      registers used to hold register variables and registers used to
      pass parameters.  */
 #ifdef GC_SAVE_REGISTERS_ON_STACK
   GC_SAVE_REGISTERS_ON_STACK (end);
 #else /* not GC_SAVE_REGISTERS_ON_STACK */
-  
+
 #ifndef GC_SETJMP_WORKS  /* If it hasn't been checked yet that
                            setjmp will definitely work, test it
                            and print a message with the result
@@ -3801,7 +3801,7 @@ mark_stack ()
       test_setjmp ();
     }
 #endif /* GC_SETJMP_WORKS */
-  
+
   setjmp (j);
   end = stack_grows_down_p ? (char *) &j + sizeof j : (char *) &j;
 #endif /* not GC_SAVE_REGISTERS_ON_STACK */
@@ -4146,7 +4146,7 @@ Garbage collection happens automatically if you cons more than
           Qt tends to return NULL, which effectively turns undo back on.
           So don't call truncate_undo_list if undo_list is Qt.  */
        if (! EQ (nextb->undo_list, Qt))
-         nextb->undo_list 
+         nextb->undo_list
            = truncate_undo_list (nextb->undo_list, undo_limit,
                                  undo_strong_limit);
 
@@ -4199,7 +4199,7 @@ Garbage collection happens automatically if you cons more than
          XMARK (tail->var[i]);
        }
 #endif
-  
+
   mark_byte_stack ();
   for (bind = specpdl; bind != specpdl_ptr; bind++)
     {
@@ -4210,12 +4210,12 @@ Garbage collection happens automatically if you cons more than
     {
       mark_object (&catch->tag);
       mark_object (&catch->val);
-    }  
+    }
   for (handler = handlerlist; handler; handler = handler->next)
     {
       mark_object (&handler->handler);
       mark_object (&handler->var);
-    }  
+    }
   for (backlist = backtrace_list; backlist; backlist = backlist->next)
     {
       if (!XMARKBIT (*backlist->function))
@@ -4233,7 +4233,7 @@ Garbage collection happens automatically if you cons more than
            mark_object (&backlist->args[i]);
            XMARK (backlist->args[i]);
          }
-    }  
+    }
   mark_kboards ();
 
   /* Look thru every buffer's undo list
@@ -4300,7 +4300,7 @@ Garbage collection happens automatically if you cons more than
     for (i = 0; i < tail->nvars; i++)
       XUNMARK (tail->var[i]);
 #endif
-  
+
   unmark_byte_stack ();
   for (backlist = backtrace_list; backlist; backlist = backlist->next)
     {
@@ -4311,7 +4311,7 @@ Garbage collection happens automatically if you cons more than
        i = backlist->nargs - 1;
       for (; i >= 0; i--)
        XUNMARK (backlist->args[i]);
-    }  
+    }
   XUNMARK (buffer_defaults.name);
   XUNMARK (buffer_local_symbols.name);
 
@@ -4357,7 +4357,7 @@ Garbage collection happens automatically if you cons more than
   {
     /* Compute average percentage of zombies.  */
     double nlive = 0;
-      
+
     for (i = 0; i < 7; ++i)
       if (CONSP (total[i]))
        nlive += XFASTINT (XCAR (total[i]));
@@ -4408,7 +4408,7 @@ mark_glyph_matrix (matrix)
          {
            struct glyph *glyph = row->glyphs[area];
            struct glyph *end_glyph = glyph + row->used[area];
-           
+
            for (; glyph < end_glyph; ++glyph)
              if (GC_STRINGP (glyph->object)
                  && !STRING_MARKED_P (XSTRING (glyph->object)))
@@ -4450,7 +4450,7 @@ mark_image (img)
      struct image *img;
 {
   mark_object (&img->spec);
-  
+
   if (!NILP (img->data.lisp_val))
     mark_object (&img->data.lisp_val);
 }
@@ -4538,13 +4538,13 @@ mark_object (argptr)
     CHECK_ALLOCATED ();                                \
     CHECK_LIVE (LIVEP);                                \
   } while (0)                                  \
-  
+
 #else /* not GC_CHECK_MARKED_OBJECTS */
-  
+
 #define CHECK_ALLOCATED()              (void) 0
 #define CHECK_LIVE(LIVEP)              (void) 0
 #define CHECK_ALLOCATED_AND_LIVE(LIVEP)        (void) 0
-  
+
 #endif /* not GC_CHECK_MARKED_OBJECTS */
 
   switch (SWITCH_ENUM_CAST (XGCTYPE (obj)))
@@ -4571,7 +4571,7 @@ mark_object (argptr)
          && po != &buffer_local_symbols)
        abort ();
 #endif /* GC_CHECK_MARKED_OBJECTS */
-      
+
       if (GC_BUFFERP (obj))
        {
          if (!XMARKBIT (XBUFFER (obj)->name))
@@ -4602,7 +4602,7 @@ mark_object (argptr)
 
          if (size & ARRAY_MARK_FLAG)
            break;   /* Already marked */
-         
+
          CHECK_LIVE (live_vector_p);
          ptr->size |= ARRAY_MARK_FLAG; /* Else mark it */
          size &= PSEUDOVECTOR_SIZE_MASK;
@@ -4695,18 +4695,18 @@ mark_object (argptr)
        {
          struct Lisp_Hash_Table *h = XHASH_TABLE (obj);
          EMACS_INT size = h->size;
-         
+
          /* Stop if already marked.  */
          if (size & ARRAY_MARK_FLAG)
            break;
-         
+
          /* Mark it.  */
          CHECK_LIVE (live_vector_p);
          h->size |= ARRAY_MARK_FLAG;
 
          /* Mark contents.  */
          /* Do not mark next_free or next_weak.
-            Being in the next_weak chain 
+            Being in the next_weak chain
             should not keep the hash table alive.
             No need to mark `count' since it is an integer.  */
          mark_object (&h->test);
@@ -4725,7 +4725,7 @@ mark_object (argptr)
            mark_object (&h->key_and_value);
          else
            XVECTOR (h->key_and_value)->size |= ARRAY_MARK_FLAG;
-           
+
        }
       else
        {
@@ -4759,7 +4759,7 @@ mark_object (argptr)
        if (!PURE_POINTER_P (XSTRING (ptr->xname)))
          MARK_STRING (XSTRING (ptr->xname));
        MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
-       
+
        /* Note that we do not mark the obarray of the symbol.
           It is safe not to do so because nothing accesses that
           slot except to check whether it is nil.  */
@@ -4933,7 +4933,7 @@ mark_buffer (buf)
   /* If this is an indirect buffer, mark its base buffer.  */
   if (buffer->base_buffer && !XMARKBIT (buffer->base_buffer->name))
     {
-      XSETBUFFER (base_buffer, buffer->base_buffer); 
+      XSETBUFFER (base_buffer, buffer->base_buffer);
       mark_buffer (base_buffer);
     }
 }
@@ -4975,7 +4975,7 @@ survives_gc_p (obj)
      Lisp_Object obj;
 {
   int survives_p;
-  
+
   switch (XGCTYPE (obj))
     {
     case Lisp_Int:
@@ -4992,12 +4992,12 @@ survives_gc_p (obj)
        case Lisp_Misc_Marker:
          survives_p = XMARKBIT (obj);
          break;
-         
+
        case Lisp_Misc_Buffer_Local_Value:
        case Lisp_Misc_Some_Buffer_Local_Value:
          survives_p = XMARKBIT (XBUFFER_LOCAL_VALUE (obj)->realvalue);
          break;
-         
+
        case Lisp_Misc_Intfwd:
        case Lisp_Misc_Boolfwd:
        case Lisp_Misc_Objfwd:
@@ -5005,7 +5005,7 @@ survives_gc_p (obj)
        case Lisp_Misc_Kboard_Objfwd:
          survives_p = 1;
          break;
-         
+
        case Lisp_Misc_Overlay:
          survives_p = XMARKBIT (XOVERLAY (obj)->plist);
          break;
@@ -5071,7 +5071,7 @@ gc_sweep ()
     register int num_free = 0, num_used = 0;
 
     cons_free_list = 0;
-  
+
     for (cblk = cons_block; cblk; cblk = *cprev)
       {
        register int i;
@@ -5121,7 +5121,7 @@ gc_sweep ()
     register int num_free = 0, num_used = 0;
 
     float_free_list = 0;
-  
+
     for (fblk = float_block; fblk; fblk = *fprev)
       {
        register int i;
@@ -5221,7 +5221,7 @@ gc_sweep ()
     register int num_free = 0, num_used = 0;
 
     symbol_free_list = NULL;
-  
+
     for (sblk = symbol_block; sblk; sblk = *sprev)
       {
        int this_free = 0;
@@ -5234,7 +5234,7 @@ gc_sweep ()
               it might be pointed to by pure bytecode which we don't trace,
               so we conservatively assume that it is live.  */
            int pure_p = PURE_POINTER_P (XSTRING (sym->xname));
-           
+
            if (!XMARKBIT (sym->plist) && !pure_p)
              {
                *(struct Lisp_Symbol **) &sym->value = symbol_free_list;
@@ -5252,7 +5252,7 @@ gc_sweep ()
                XUNMARK (sym->plist);
              }
          }
-       
+
        lim = SYMBOL_BLOCK_SIZE;
        /* If this block contains only free symbols and we have already
           seen more than two blocks worth of free symbols then deallocate
@@ -5284,7 +5284,7 @@ gc_sweep ()
     register int num_free = 0, num_used = 0;
 
     marker_free_list = 0;
-  
+
     for (mblk = marker_block; mblk; mblk = *mprev)
       {
        register int i;
@@ -5414,7 +5414,7 @@ gc_sweep ()
          prev = vector, vector = vector->next;
        }
   }
-  
+
 #ifdef GC_CHECK_STRING_BYTES
   if (!noninteractive)
     check_string_bytes (1);
index 5277586a2ea8db4f19b65e5c339f0b5f8c9ea282..0833cba997c8d35fed714121fc013d50f2be2611 100644 (file)
@@ -59,7 +59,7 @@ lose!!
        data
        text
        globl   _alloca
-_alloca        
+_alloca
        move.l  (sp)+,a0        ; pop return addr from top of stack
        move.l  (sp)+,d0        ; pop size in bytes from top of stack
        add.l   #ROUND,d0       ; round size up to long word
@@ -112,7 +112,7 @@ copy_regs_loop:                     /* save caller's saved registers */
 alloca:
 #ifdef MOTOROLA_DELTA
 /* slightly modified version of alloca to motorola sysV/68 pcc - based
-   compiler. 
+   compiler.
    this compiler saves used registers relative to %sp instead of %fp.
    alright, just make new copy of saved register set whenever we allocate
    new space from stack..
@@ -251,9 +251,9 @@ alloca:
  * We have to copy registers, and therefore waste 32 bytes.
  *
  * Stack layout:
- * new sp ->   junk    
+ * new sp ->   junk
  *             registers (copy)
- *     r0 ->   new data                
+ *     r0 ->   new data
  *              |        (orig retval)
  *              |        (orig arg)
  * old  sp ->  regs      (orig)
index 492aa4ec04e9a0eb68ca79269c69e485b2a1324c..25b48c5857a3ac98b3024f7ce3b2987a0e7856bd 100644 (file)
@@ -132,12 +132,12 @@ start_atimer (type, time, fn, client_data)
     case ATIMER_ABSOLUTE:
       t->expiration = time;
       break;
-      
+
     case ATIMER_RELATIVE:
       EMACS_GET_TIME (t->expiration);
       EMACS_ADD_TIME (t->expiration, t->expiration, time);
       break;
-      
+
     case ATIMER_CONTINUOUS:
       EMACS_GET_TIME (t->expiration);
       EMACS_ADD_TIME (t->expiration, t->expiration, time);
@@ -151,7 +151,7 @@ start_atimer (type, time, fn, client_data)
 
   /* Arrange for a SIGALRM at the time the next atimer is ripe.  */
   set_alarm ();
-  
+
   return t;
 }
 
@@ -163,14 +163,14 @@ cancel_atimer (timer)
      struct atimer *timer;
 {
   int i;
-  
+
   BLOCK_ATIMERS;
 
   for (i = 0; i < 2; ++i)
     {
       struct atimer *t, *prev;
       struct atimer **list = i ? &stopped_atimers : &atimers;
-      
+
       /* See if TIMER is active or stopped.  */
       for (t = *list, prev = NULL; t && t != timer; prev = t, t = t->next)
        ;
@@ -184,7 +184,7 @@ cancel_atimer (timer)
            prev->next = t->next;
          else
            *list = t->next;
-         
+
          t->next = free_atimers;
          free_atimers = t;
          break;
@@ -209,7 +209,7 @@ append_atimer_lists (list1, list2)
   else
     {
       struct atimer *p;
-      
+
       for (p = list1; p->next; p = p->next)
        ;
       p->next = list2;
@@ -225,11 +225,11 @@ stop_other_atimers (t)
      struct atimer *t;
 {
   BLOCK_ATIMERS;
-  
+
   if (t)
     {
       struct atimer *p, *prev;
-      
+
       /* See if T is active.  */
       for (p = atimers, prev = 0; p && p != t; p = p->next)
        ;
@@ -246,7 +246,7 @@ stop_other_atimers (t)
        /* T is not active.  Let's handle this like T == 0.  */
        t = NULL;
     }
-  
+
   stopped_atimers = append_atimer_lists (atimers, stopped_atimers);
   atimers = t;
   UNBLOCK_ATIMERS;
@@ -263,18 +263,18 @@ run_all_atimers ()
     {
       struct atimer *t = atimers;
       struct atimer *next;
-      
+
       BLOCK_ATIMERS;
       atimers = stopped_atimers;
       stopped_atimers = NULL;
-      
+
       while (t)
        {
          next = t->next;
          schedule_atimer (t);
          t = next;
        }
-      
+
       UNBLOCK_ATIMERS;
     }
 }
@@ -301,7 +301,7 @@ set_alarm ()
      must reestablish each time.  */
   signal (SIGALRM, alarm_signal_handler);
 #endif /* USG */
-  
+
   if (atimers)
     {
       EMACS_TIME now, time;
@@ -320,7 +320,7 @@ set_alarm ()
          EMACS_SET_SECS (time, 0);
          EMACS_SET_USECS (time, 1000);
        }
-      
+
       bzero (&it, sizeof it);
       it.it_value = time;
       setitimer (ITIMER_REAL, &it, 0);
@@ -350,7 +350,7 @@ schedule_atimer (t)
     prev->next = t;
   else
     atimers = t;
-  
+
   t->next = a;
 }
 
@@ -363,20 +363,20 @@ alarm_signal_handler (signo)
      int signo;
 {
   EMACS_TIME now;
-  
+
   EMACS_GET_TIME (now);
   pending_atimers = 0;
-  
+
   while (atimers
         && (pending_atimers = interrupt_input_blocked) == 0
         && EMACS_TIME_LE (atimers->expiration, now))
     {
       struct atimer *t;
-      
+
       t = atimers;
       atimers = atimers->next;
       t->fn (t);
-      
+
       if (t->type == ATIMER_CONTINUOUS)
        {
          EMACS_ADD_TIME (t->expiration, now, t->interval);
@@ -387,10 +387,10 @@ alarm_signal_handler (signo)
          t->next = free_atimers;
          free_atimers = t;
        }
-      
+
       EMACS_GET_TIME (now);
     }
-  
+
   set_alarm ();
 }
 
index 7c1fb0544c629231bd60bf0f74413e743ef222a1..4a487cdbb30880177e04c62b4d2046ee99b71a81 100644 (file)
@@ -51,7 +51,7 @@ struct atimer
 {
   /* The type of this timer.  */
   enum atimer_type type;
-  
+
   /* Time when this timer is ripe.  */
   EMACS_TIME expiration;
 
index 6d4fde2c9b91ee68b90563f1f9b7b0e0fa364a7f..c5485fa4801a2c92575937c7a71a9680970e7daa 100644 (file)
@@ -42,7 +42,7 @@ Boston, MA 02111-1307, USA.  */
    BLOCK_INPUT and UNBLOCK_INPUT may be nested.
 
    * Any complicated interrupt handling code should test
-   interrupt_input_blocked, and put off its work until later.  
+   interrupt_input_blocked, and put off its work until later.
 
    * If the interrupt handling code wishes, it may set
    interrupt_input_pending to a non-zero value.  If that flag is set
index 49813b38d37599c6ac69e452caf34d986457dd28..06663c9abd70a66f2d1f13f8011a65b9ee979851 100644 (file)
@@ -464,13 +464,13 @@ copy_overlays (b, list)
       OVERLAY_START (overlay) = start;
       OVERLAY_END (overlay) = end;
       OVERLAY_PLIST (overlay) = Fcopy_sequence (OVERLAY_PLIST (old_overlay));
-      
+
       result = Fcons (overlay, result);
     }
 
   return Fnreverse (result);
 }
-     
+
 
 /* Clone per-buffer values of buffer FROM.
 
@@ -487,7 +487,7 @@ clone_per_buffer_values (from, to)
   int offset;
 
   XSETBUFFER (to_buffer, to);
-  
+
   for (offset = PER_BUFFER_VAR_OFFSET (name) + sizeof (Lisp_Object);
        offset < sizeof *to;
        offset += sizeof (Lisp_Object))
@@ -507,7 +507,7 @@ clone_per_buffer_values (from, to)
     }
 
   bcopy (from->local_flags, to->local_flags, sizeof to->local_flags);
-  
+
   to->overlays_before = copy_overlays (to, from->overlays_before);
   to->overlays_after = copy_overlays (to, from->overlays_after);
 }
@@ -816,7 +816,7 @@ If BUFFER is not indirect, return nil.  */)
 }
 
 DEFUN ("buffer-local-value", Fbuffer_local_value,
-       Sbuffer_local_value, 2, 2, 0, 
+       Sbuffer_local_value, 2, 2, 0,
        doc: /* Return the value of VARIABLE in BUFFER.
 If VARIABLE does not have a buffer-local binding in BUFFER, the value
 is the default binding of variable. */)
@@ -833,7 +833,7 @@ is the default binding of variable. */)
 
   /* Look in local_var_list */
   result = Fassoc (symbol, buf->local_var_alist);
-  if (NILP (result)) 
+  if (NILP (result))
     {
       int offset, idx;
       int found = 0;
@@ -846,8 +846,8 @@ is the default binding of variable. */)
        {
          idx = PER_BUFFER_IDX (offset);
          if ((idx == -1 || PER_BUFFER_VALUE_P (buf, idx))
-             && SYMBOLP (PER_BUFFER_SYMBOL (offset)) 
-             && EQ (PER_BUFFER_SYMBOL (offset), symbol)) 
+             && SYMBOLP (PER_BUFFER_SYMBOL (offset))
+             && EQ (PER_BUFFER_SYMBOL (offset), symbol))
            {
              result = PER_BUFFER_VALUE (buf, offset);
              found = 1;
@@ -1005,7 +1005,7 @@ A non-nil FLAG means mark the buffer modified.  */)
 #endif /* CLASH_DETECTION */
 
   SAVE_MODIFF = NILP (flag) ? MODIFF : 0;
-  
+
   /* Set update_mode_lines only if buffer is displayed in some window.
      Packages like jit-lock or lazy-lock preserve a buffer's modified
      state by recording/restoring the state around blocks of code.
@@ -1024,7 +1024,7 @@ A non-nil FLAG means mark the buffer modified.  */)
       ++update_mode_lines;
       current_buffer->prevent_redisplay_optimizations_p = 1;
     }
-  
+
   return flag;
 }
 
@@ -1038,7 +1038,7 @@ state of the current buffer.  Use with care.  */)
 {
 #ifdef CLASH_DETECTION
   Lisp_Object fn;
-  
+
   /* If buffer becoming modified, lock the file.
      If buffer becoming unmodified, unlock the file.  */
 
@@ -1053,7 +1053,7 @@ state of the current buffer.  Use with care.  */)
        unlock_file (fn);
     }
 #endif /* CLASH_DETECTION */
-  
+
   SAVE_MODIFF = NILP (flag) ? MODIFF : 0;
   return flag;
 }
@@ -1152,7 +1152,7 @@ If BUFFER is omitted or nil, some interesting buffer is returned.  */)
 
   /* Consider buffers that have been seen in the selected frame
      before other buffers.  */
-    
+
   tem = frame_buffer_list (frame);
   add_ons = Qnil;
   while (CONSP (tem))
@@ -1354,7 +1354,7 @@ with SIGHUP.  */)
 
       UNGCPRO;
     }
-  
+
   /* Make this buffer not be current.
      In the process, notice if this is the sole visible buffer
      and give up if so.  */
@@ -1495,7 +1495,7 @@ record_buffer (buf)
     Vbuffer_alist = XCDR (Vbuffer_alist);
   else
     XSETCDR (prev, XCDR (XCDR (prev)));
-       
+
   XSETCDR (link, Vbuffer_alist);
   Vbuffer_alist = link;
 
@@ -1519,7 +1519,7 @@ record_buffer (buf)
                               XCDR (frame_buffer_list (frame)));
       else
        XSETCDR (prev, XCDR (XCDR (prev)));
-       
+
       XSETCDR (link, frame_buffer_list (frame));
       set_frame_buffer_list (frame, link);
     }
@@ -1549,7 +1549,7 @@ the current buffer's major mode.  */)
          && NILP (Fget (current_buffer->major_mode, Qmode_class)))
        function = current_buffer->major_mode;
     }
-  
+
   if (NILP (function) || EQ (function, Qfundamental_mode))
     return Qnil;
 
@@ -1709,7 +1709,7 @@ set_buffer_internal_1 (b)
   if (b->text->beg == NULL)
     enlarge_buffer_text (b, 0);
 #endif /* USE_MMAP_FOR_BUFFERS */
-  
+
   if (current_buffer == b)
     return;
 
@@ -1937,7 +1937,7 @@ selected window if it is displayed there.  */)
   else
     {
       Lisp_Object buf1;
-      
+
       buf1 = Fget_buffer (buffer);
       if (NILP (buf1))
        nsberror (buffer);
@@ -2175,7 +2175,7 @@ but the contents viewed as characters do change.  */)
              p = GAP_END_ADDR;
              stop = Z;
            }
-             
+
          if (UNIBYTE_STR_AS_MULTIBYTE_P (p, stop - pos, bytes))
            p += bytes, pos += bytes;
          else
@@ -2328,7 +2328,7 @@ the normal hook `change-major-mode-hook'.  */)
 
   /* Any which are supposed to be permanent,
      make local again, with the same values they had.  */
-     
+
   for (alist = oalist; !NILP (alist); alist = XCDR (alist))
     {
       sym = XCAR (XCAR (alist));
@@ -2390,7 +2390,7 @@ swap_out_buffer_local_variables (b)
 }
 \f
 /* Find all the overlays in the current buffer that contain position POS.
-   Return the number found, and store them in a vector in *VEC_PTR.  
+   Return the number found, and store them in a vector in *VEC_PTR.
    Store in *LEN_PTR the size allocated for the vector.
    Store in *NEXT_PTR the next position after POS where an overlay starts,
      or ZV if there are no more overlays.
@@ -2542,7 +2542,7 @@ overlays_at (pos, extend, vec_ptr, len_ptr, next_ptr, prev_ptr, change_req)
 /* Find all the overlays in the current buffer that overlap the range BEG-END
    or are empty at BEG.
 
-   Return the number found, and store them in a vector in *VEC_PTR.  
+   Return the number found, and store them in a vector in *VEC_PTR.
    Store in *LEN_PTR the size allocated for the vector.
    Store in *NEXT_PTR the next position after POS where an overlay starts,
      or ZV if there are no more overlays.
@@ -2691,7 +2691,7 @@ mouse_face_overlay_overlaps (overlay)
   int end = OVERLAY_POSITION (OVERLAY_END (overlay));
   int n, i, size;
   Lisp_Object *v, tem;
-  
+
   size = 10;
   v = (Lisp_Object *) alloca (size * sizeof *v);
   n = overlays_in (start, end, 0, &v, &size, NULL, NULL);
@@ -3545,7 +3545,7 @@ rear delimiter advance when text is inserted there.  */)
   XOVERLAY (overlay)->end = end;
   XOVERLAY (overlay)->plist = Qnil;
 
-  /* Put the new overlay on the wrong list.  */ 
+  /* Put the new overlay on the wrong list.  */
   end = OVERLAY_END (overlay);
   if (OVERLAY_POSITION (end) < XINT (b->overlay_center))
     b->overlays_after = Fcons (overlay, b->overlays_after);
@@ -3576,7 +3576,7 @@ modify_overlay (buf, start, end)
     }
 
   BUF_COMPUTE_UNCHANGED (buf, start, end);
-  
+
   /* If this is a buffer not in the selected window,
      we must do other windows.  */
   if (buf != XBUFFER (XWINDOW (selected_window)->buffer))
@@ -3682,7 +3682,7 @@ buffer.  */)
   Fset_marker (OVERLAY_START (overlay), beg, buffer);
   Fset_marker (OVERLAY_END   (overlay), end, buffer);
 
-  /* Put the overlay on the wrong list.  */ 
+  /* Put the overlay on the wrong list.  */
   end = OVERLAY_END (overlay);
   if (OVERLAY_POSITION (end) < XINT (b->overlay_center))
     b->overlays_after = Fcons (overlay, b->overlays_after);
@@ -3712,7 +3712,7 @@ DEFUN ("delete-overlay", Fdelete_overlay, Sdelete_overlay, 1, 1, 0,
 
   b = XBUFFER (buffer);
   specbind (Qinhibit_quit, Qt);
-  
+
   b->overlays_before = Fdelq (overlay, b->overlays_before);
   b->overlays_after = Fdelq (overlay, b->overlays_after);
   modify_overlay (b,
@@ -4276,21 +4276,21 @@ buffer_slot_type_mismatch (offset)
 {
   Lisp_Object sym;
   char *type_name;
-  
+
   switch (XINT (PER_BUFFER_TYPE (offset)))
     {
     case Lisp_Int:
       type_name = "integers";
       break;
-      
+
     case Lisp_String:
       type_name = "strings";
       break;
-      
+
     case Lisp_Symbol:
       type_name = "symbols";
       break;
-      
+
     default:
       abort ();
     }
@@ -4353,7 +4353,7 @@ struct mmap_region
 {
   /* User-specified size.  */
   size_t nbytes_specified;
-  
+
   /* Number of bytes mapped */
   size_t nbytes_mapped;
 
@@ -4444,7 +4444,7 @@ mmap_find (start, end)
 {
   struct mmap_region *r;
   char *s = (char *) start, *e = (char *) end;
-  
+
   for (r = mmap_regions; r; r = r->next)
     {
       char *rstart = (char *) r;
@@ -4478,7 +4478,7 @@ mmap_free_1 (r)
     r->prev->next = r->next;
   else
     mmap_regions = r->next;
-  
+
   if (munmap ((POINTER_TYPE *) r, r->nbytes_mapped) == -1)
     {
       fprintf (stderr, "munmap: %s\n", emacs_strerror (errno));
@@ -4516,7 +4516,7 @@ mmap_enlarge (r, npages)
   else if (npages > 0)
     {
       nbytes = npages * mmap_page_size;
-      
+
       /* Try to map additional pages at the end of the region.  We
         cannot do this if the address range is already occupied by
         something else because mmap deletes any previous mapping.
@@ -4524,7 +4524,7 @@ mmap_enlarge (r, npages)
       if (!MMAP_ALLOCATED_P (region_end, region_end + nbytes))
        {
          POINTER_TYPE *p;
-      
+
          p = mmap (region_end, nbytes, PROT_READ | PROT_WRITE,
                    MAP_ANON | MAP_PRIVATE | MAP_FIXED, mmap_fd, 0);
          if (p == MAP_FAILED)
@@ -4605,7 +4605,7 @@ mmap_alloc (var, nbytes)
   map = ROUND (nbytes + MMAP_REGION_STRUCT_SIZE, mmap_page_size);
   p = mmap (NULL, map, PROT_READ | PROT_WRITE, MAP_ANON | MAP_PRIVATE,
            mmap_fd, 0);
-  
+
   if (p == MAP_FAILED)
     {
       if (errno != ENOMEM)
@@ -4615,7 +4615,7 @@ mmap_alloc (var, nbytes)
   else
     {
       struct mmap_region *r = (struct mmap_region *) p;
-      
+
       r->nbytes_specified = nbytes;
       r->nbytes_mapped = map;
       r->var = var;
@@ -4624,10 +4624,10 @@ mmap_alloc (var, nbytes)
       if (r->next)
        r->next->prev = r;
       mmap_regions = r;
-      
+
       p = MMAP_USER_AREA (p);
     }
-  
+
   return *var = p;
 }
 
@@ -4643,12 +4643,12 @@ mmap_realloc (var, nbytes)
      size_t nbytes;
 {
   POINTER_TYPE *result;
-  
+
   mmap_init ();
 
   if (*var == NULL)
     result = mmap_alloc (var, nbytes);
-  else if (nbytes == 0) 
+  else if (nbytes == 0)
     {
       mmap_free (var);
       result = mmap_alloc (var, nbytes);
@@ -4657,7 +4657,7 @@ mmap_realloc (var, nbytes)
     {
       struct mmap_region *r = MMAP_REGION (*var);
       size_t room = r->nbytes_mapped - MMAP_REGION_STRUCT_SIZE;
-      
+
       if (room < nbytes)
        {
          /* Must enlarge.  */
@@ -4718,7 +4718,7 @@ mmap_free (var)
      POINTER_TYPE **var;
 {
   mmap_init ();
-  
+
   if (*var)
     {
       mmap_free_1 (MMAP_REGION (*var));
@@ -4747,11 +4747,11 @@ mmap_init ()
   if (mmap_initialized_p)
     return;
   mmap_initialized_p = 1;
-  
+
 #if MAP_ANON != 0
   mmap_fd = -1;
 #endif
-  
+
   mmap_page_size = getpagesize ();
 }
 
@@ -4778,7 +4778,7 @@ alloc_buffer_text (b, nbytes)
      size_t nbytes;
 {
   POINTER_TYPE *p;
-  
+
   BLOCK_INPUT;
 #if defined USE_MMAP_FOR_BUFFERS
   p = mmap_alloc ((POINTER_TYPE **) &b->text->beg, nbytes);
@@ -4787,7 +4787,7 @@ alloc_buffer_text (b, nbytes)
 #else
   p = xmalloc (nbytes);
 #endif
-  
+
   if (p == NULL)
     {
       UNBLOCK_INPUT;
@@ -4817,7 +4817,7 @@ enlarge_buffer_text (b, delta)
 #else
   p = xrealloc (b->text->beg, nbytes);
 #endif
-  
+
   if (p == NULL)
     {
       UNBLOCK_INPUT;
@@ -4844,7 +4844,7 @@ free_buffer_text (b)
 #else
   xfree (b->text->beg);
 #endif
-  
+
   BUF_BEG_ADDR (b) = NULL;
   UNBLOCK_INPUT;
 }
@@ -4975,7 +4975,7 @@ init_buffer_once ()
   XSETFASTINT (buffer_local_flags.cache_long_line_scans, idx); ++idx;
   XSETFASTINT (buffer_local_flags.category_table, idx); ++idx;
   XSETFASTINT (buffer_local_flags.direction_reversed, idx); ++idx;
-  XSETFASTINT (buffer_local_flags.buffer_file_coding_system, idx); 
+  XSETFASTINT (buffer_local_flags.buffer_file_coding_system, idx);
   /* Make this one a permanent local.  */
   buffer_permanent_local_flags[idx++] = 1;
   XSETFASTINT (buffer_local_flags.left_margin_width, idx); ++idx;
@@ -4991,7 +4991,7 @@ init_buffer_once ()
   if (idx >= MAX_PER_BUFFER_VARS)
     abort ();
   last_per_buffer_idx = idx;
-  
+
   Vbuffer_alist = Qnil;
   current_buffer = 0;
   all_buffers = 0;
@@ -5036,13 +5036,13 @@ init_buffer ()
       text pointers will have been set to null in the dumped Emacs.
       Map new memory.  */
    struct buffer *b;
-   
+
    for (b = all_buffers; b; b = b->next)
      if (b->text->beg == NULL)
        enlarge_buffer_text (b, 0);
  }
 #endif /* USE_MMAP_FOR_BUFFERS */
-  
+
   Fset_buffer (Fget_buffer_create (build_string ("*scratch*")));
   if (NILP (buffer_defaults.enable_multibyte_characters))
     Fset_buffer_multibyte (Qnil);
@@ -5181,17 +5181,17 @@ This is the same as (default-value 'ctl-arrow).  */);
                      &buffer_defaults.direction_reversed,
                      doc: /* Default value of `direction_reversed' for buffers that do not override it.
 This is the same as (default-value 'direction-reversed).  */);
+
    DEFVAR_LISP_NOPRO ("default-enable-multibyte-characters",
                      &buffer_defaults.enable_multibyte_characters,
                      doc: /* *Default value of `enable-multibyte-characters' for buffers not overriding it.
 This is the same as (default-value 'enable-multibyte-characters).  */);
+
    DEFVAR_LISP_NOPRO ("default-buffer-file-coding-system",
                      &buffer_defaults.buffer_file_coding_system,
                      doc: /* Default value of `buffer-file-coding-system' for buffers not overriding it.
 This is the same as (default-value 'buffer-file-coding-system).  */);
+
   DEFVAR_LISP_NOPRO ("default-truncate-lines",
                     &buffer_defaults.truncate_lines,
                     doc: /* Default value of `truncate-lines' for buffers that do not override it.
@@ -5218,7 +5218,7 @@ This is the same as (default-value 'tab-width).  */);
 This is the same as (default-value 'case-fold-search).  */);
 
 #ifdef DOS_NT
-  DEFVAR_LISP_NOPRO ("default-buffer-file-type", 
+  DEFVAR_LISP_NOPRO ("default-buffer-file-type",
                     &buffer_defaults.buffer_file_type,
                     doc: /* Default file type for buffers that do not override it.
 This is the same as (default-value 'buffer-file-type).
@@ -5234,31 +5234,31 @@ This is the same as (default-value 'left-margin-width).  */);
                     &buffer_defaults.right_margin_width,
                     doc: /* Default value of `right_margin_width' for buffers that don't override it.
 This is the same as (default-value 'right-margin-width).  */);
-  
+
   DEFVAR_LISP_NOPRO ("default-indicate-empty-lines",
                     &buffer_defaults.indicate_empty_lines,
                     doc: /* Default value of `indicate-empty-lines' for buffers that don't override it.
 This is the same as (default-value 'indicate-empty-lines).  */);
-  
+
   DEFVAR_LISP_NOPRO ("default-scroll-up-aggressively",
                     &buffer_defaults.scroll_up_aggressively,
                     doc: /* Default value of `scroll-up-aggressively'.
 This value applies in buffers that don't have their own local values.
 This variable is an alias for (default-value 'scroll-up-aggressively).  */);
-  
+
   DEFVAR_LISP_NOPRO ("default-scroll-down-aggressively",
                     &buffer_defaults.scroll_down_aggressively,
                     doc: /* Default value of `scroll-down-aggressively'.
 This value applies in buffers that don't have their own local values.
 This variable is an alias for (default-value 'scroll-down-aggressively).  */);
-  
+
   DEFVAR_PER_BUFFER ("header-line-format",
                     &current_buffer->header_line_format,
                     Qnil,
                     doc: /* Analogous to `mode-line-format', but controls the header line.
 The header line appears, optionally, at the top of a window;
 the mode line appears at the bottom.  */);
-  
+
   DEFVAR_PER_BUFFER ("mode-line-format", &current_buffer->mode_line_format,
                     Qnil,
                     doc: /* Template for displaying mode line for current buffer.
@@ -5269,7 +5269,7 @@ For a symbol, its value is used (but it is ignored if t or nil).
  A string appearing directly as the value of a symbol is processed verbatim
  in that the %-constructs below are not recognized.
  Note that unless the symbol is marked as a `risky-local-variable', all
- properties in any strings, as well as all :eval and :propertize forms 
+ properties in any strings, as well as all :eval and :propertize forms
  in the value of that symbol will be ignored.
 For a list of the form `(:eval FORM)', FORM is evaluated and the result
  is used as a mode line element.  Be careful--FORM should not load any files,
@@ -5506,18 +5506,18 @@ See also the functions `display-table-slot' and `set-display-table-slot'.  */);
                     Qnil,
                     doc: /* *Width of left marginal area for display of a buffer.
 A value of nil means no marginal area.  */);
-  
+
   DEFVAR_PER_BUFFER ("right-margin-width", &current_buffer->right_margin_width,
                     Qnil,
                     doc: /* *Width of right marginal area for display of a buffer.
 A value of nil means no marginal area.  */);
-  
+
   DEFVAR_PER_BUFFER ("indicate-empty-lines",
                     &current_buffer->indicate_empty_lines, Qnil,
                     doc: /* *Visually indicate empty lines after the buffer end.
 If non-nil, a bitmap is displayed in the left fringe of a window on
 window-systems.  */);
-  
+
   DEFVAR_PER_BUFFER ("scroll-up-aggressively",
                     &current_buffer->scroll_up_aggressively, Qnil,
                     doc: /* How far to scroll windows upward.
@@ -5530,7 +5530,7 @@ case that you moved off with C-f means scrolling just one line.  1.0 means
 point goes at the top, so that in that simple case, the window
 window scrolls by a full window height.  Meaningful values are
 between 0.0 and 1.0, inclusive.  */);
-  
+
   DEFVAR_PER_BUFFER ("scroll-down-aggressively",
                     &current_buffer->scroll_down_aggressively, Qnil,
                     doc: /* How far to scroll windows downward.
@@ -5543,7 +5543,7 @@ case that you moved off with C-b means scrolling just one line.  1.0 means
 point goes at the bottom, so that in that simple case, the window
 window scrolls by a full window height.  Meaningful values are
 between 0.0 and 1.0, inclusive.  */);
-  
+
 /*DEFVAR_LISP ("debug-check-symbol", &Vcheck_symbol,
     "Don't ask.");
 */
index 890cabe24ec03224c7d8a5a67d76d1a52bb4d45c..7dd1e967afd7f3fb1fb6bc475537ca2537b8b62b 100644 (file)
@@ -25,52 +25,52 @@ Boston, MA 02111-1307, USA.  */
 /* These macros come in pairs, one for the char position
    and one for the byte position.  */
 
-/* Position of beginning of buffer.  */ 
+/* Position of beginning of buffer.  */
 #define BEG (1)
 #define BEG_BYTE (1)
 
-/* Position of beginning of accessible range of buffer.  */ 
+/* Position of beginning of accessible range of buffer.  */
 #define BEGV (current_buffer->begv)
 #define BEGV_BYTE (current_buffer->begv_byte)
 
 /* Position of point in buffer.  The "+ 0" makes this
-   not an l-value, so you can't assign to it.  Use SET_PT instead.  */ 
+   not an l-value, so you can't assign to it.  Use SET_PT instead.  */
 #define PT (current_buffer->pt + 0)
 #define PT_BYTE (current_buffer->pt_byte + 0)
 
-/* Position of gap in buffer.  */ 
+/* Position of gap in buffer.  */
 #define GPT (current_buffer->text->gpt)
 #define GPT_BYTE (current_buffer->text->gpt_byte)
 
-/* Position of end of accessible range of buffer.  */ 
+/* Position of end of accessible range of buffer.  */
 #define ZV (current_buffer->zv)
 #define ZV_BYTE (current_buffer->zv_byte)
 
-/* Position of end of buffer.  */ 
+/* Position of end of buffer.  */
 #define Z (current_buffer->text->z)
 #define Z_BYTE (current_buffer->text->z_byte)
 
 /* Macros for the addresses of places in the buffer.  */
 
-/* Address of beginning of buffer.  */ 
+/* Address of beginning of buffer.  */
 #define BEG_ADDR (current_buffer->text->beg)
 
-/* Address of beginning of accessible range of buffer.  */ 
+/* Address of beginning of accessible range of buffer.  */
 #define BEGV_ADDR (BYTE_POS_ADDR (current_buffer->begv_byte))
 
-/* Address of point in buffer.  */ 
+/* Address of point in buffer.  */
 #define PT_ADDR (BYTE_POS_ADDR (current_buffer->pt_byte))
 
-/* Address of beginning of gap in buffer.  */ 
+/* Address of beginning of gap in buffer.  */
 #define GPT_ADDR (current_buffer->text->beg + current_buffer->text->gpt_byte - 1)
 
 /* Address of end of gap in buffer.  */
 #define GAP_END_ADDR (current_buffer->text->beg + current_buffer->text->gpt_byte + current_buffer->text->gap_size - 1)
 
-/* Address of end of accessible range of buffer.  */ 
+/* Address of end of accessible range of buffer.  */
 #define ZV_ADDR (BYTE_POS_ADDR (current_buffer->zv_byte))
 
-/* Address of end of buffer.  */ 
+/* Address of end of buffer.  */
 #define Z_ADDR (current_buffer->text->beg + current_buffer->text->gap_size + current_buffer->text->z_byte - 1)
 
 /* Size of gap.  */
@@ -101,27 +101,27 @@ Boston, MA 02111-1307, USA.  */
 /* Similar macros to operate on a specified buffer.
    Note that many of these evaluate the buffer argument more than once.  */
 
-/* Position of beginning of buffer.  */ 
+/* Position of beginning of buffer.  */
 #define BUF_BEG(buf) (1)
 #define BUF_BEG_BYTE(buf) (1)
 
-/* Position of beginning of accessible range of buffer.  */ 
+/* Position of beginning of accessible range of buffer.  */
 #define BUF_BEGV(buf) ((buf)->begv)
 #define BUF_BEGV_BYTE(buf) ((buf)->begv_byte)
 
-/* Position of point in buffer.  */ 
+/* Position of point in buffer.  */
 #define BUF_PT(buf) ((buf)->pt)
 #define BUF_PT_BYTE(buf) ((buf)->pt_byte)
 
-/* Position of gap in buffer.  */ 
+/* Position of gap in buffer.  */
 #define BUF_GPT(buf) ((buf)->text->gpt)
 #define BUF_GPT_BYTE(buf) ((buf)->text->gpt_byte)
 
-/* Position of end of accessible range of buffer.  */ 
+/* Position of end of accessible range of buffer.  */
 #define BUF_ZV(buf) ((buf)->zv)
 #define BUF_ZV_BYTE(buf) ((buf)->zv_byte)
 
-/* Position of end of buffer.  */ 
+/* Position of end of buffer.  */
 #define BUF_Z(buf) ((buf)->text->z)
 #define BUF_Z_BYTE(buf) ((buf)->text->z_byte)
 
@@ -197,7 +197,7 @@ Boston, MA 02111-1307, USA.  */
        }                                                               \
     }                                                                  \
   while (0)
-     
+
 \f
 /* Macros to set PT in the current buffer, or another buffer.  */
 
@@ -336,14 +336,14 @@ extern int _fetch_multibyte_char_len;
    or converting between byte positions and addresses,
    in a specified buffer.  */
 
-/* Return the address of character at byte position POS in buffer BUF. 
+/* Return the address of character at byte position POS in buffer BUF.
    Note that both arguments can be computed more than once.  */
 
 #define BUF_BYTE_ADDRESS(buf, pos) \
 ((buf)->text->beg + (pos) - 1          \
  + ((pos) >= (buf)->text->gpt_byte ? (buf)->text->gap_size : 0))
 
-/* Return the address of character at char position POS in buffer BUF. 
+/* Return the address of character at char position POS in buffer BUF.
    Note that both arguments can be computed more than once.  */
 
 #define BUF_CHAR_ADDRESS(buf, pos) \
@@ -396,7 +396,7 @@ struct buffer_text
        e.g. happen when malloc is called.  So, don't pass a pointer
        into a buffer's text to functions that malloc.  */
     unsigned char *beg;
-    
+
     int gpt;                   /* Char pos of gap in buffer.  */
     int z;                     /* Char pos of end of buffer.  */
     int gpt_byte;              /* Byte pos of gap in buffer.  */
@@ -487,7 +487,7 @@ struct buffer
      this means the variable is always local in all buffers.  */
 #define MAX_PER_BUFFER_VARS 50
   char local_flags[MAX_PER_BUFFER_VARS];
-    
+
   /* Set to the modtime of the visited file when read or written.
      -1 means visited file was nonexistent.
      0 means visited file modtime unknown; in no case complain
@@ -579,7 +579,7 @@ struct buffer
      So we copy it around in set_buffer_internal.
      This comes before `name' because it is marked in a special way.  */
   Lisp_Object undo_list;
-    
+
   /* Analogous to mode_line_format for the line displayed at the top
      of windows.  Nil means don't display that line.  */
   Lisp_Object header_line_format;
@@ -712,7 +712,7 @@ struct buffer
 
   /* Incremented each time the buffer is displayed in a window.  */
   Lisp_Object display_count;
+
   /* Widths of left and right marginal areas for windows displaying
      this buffer.  */
   Lisp_Object left_margin_width, right_margin_width;
@@ -729,7 +729,7 @@ struct buffer
      that point ends up this number of lines from the top of the
      window.  Nil means that scrolling method isn't used.  */
   Lisp_Object scroll_up_aggressively;
-    
+
   /* If scrolling the display because point is above the top of a
      window showing this buffer, try to choose a window start so
      that point ends up this number of lines from the bottom of the
index 4552b2274b1618e45e64494d18c41fb10cc9b52e..6ce9fb123879d00b64d283f3a916db337739f26c 100644 (file)
@@ -743,7 +743,7 @@ supply if the command inquires which events were used to invoke it.  */)
              args[i] = Qnil;
              varies[i] = -1;
            }
-         else 
+         else
            {
              args[i]
                = Fread_non_nil_coding_system (build_string (callint_message));
@@ -820,7 +820,7 @@ supply if the command inquires which events were used to invoke it.  */)
     UNGCPRO;
     return unbind_to (speccount, val);
   }
-}  
+}
 
 DEFUN ("prefix-numeric-value", Fprefix_numeric_value, Sprefix_numeric_value,
        1, 1, 0,
@@ -831,7 +831,7 @@ Its numeric meaning is what you would get from `(interactive "p")'.  */)
      Lisp_Object raw;
 {
   Lisp_Object val;
-  
+
   if (NILP (raw))
     XSETFASTINT (val, 1);
   else if (EQ (raw, Qminus))
index d1e62de07053d3950d7499f0826f23de1642ef17..0e9b51920e5f082c338e86cf0f4b981533d1639a 100644 (file)
@@ -253,7 +253,7 @@ usage: (call-process PROGRAM &optional INFILE BUFFER DISPLAY &rest ARGS)  */)
 
 #ifndef subprocesses
   /* Without asynchronous processes we cannot have BUFFER == 0.  */
-  if (nargs >= 3 
+  if (nargs >= 3
       && (INTEGERP (CONSP (args[2]) ? XCAR (args[2]) : args[2])))
     error ("Operating system cannot handle asynchronous subprocesses");
 #endif /* subprocesses */
@@ -339,7 +339,7 @@ usage: (call-process PROGRAM &optional INFILE BUFFER DISPLAY &rest ARGS)  */)
          CHECK_BUFFER (buffer);
        }
     }
-  else 
+  else
     buffer = Qnil;
 
   /* Make sure that the child will be able to chdir to the current
@@ -431,7 +431,7 @@ usage: (call-process PROGRAM &optional INFILE BUFFER DISPLAY &rest ARGS)  */)
       *tempfile = '\0';
     }
   dostounix_filename (tempfile);
-  if (*tempfile == '\0' || tempfile[strlen (tempfile) - 1] != '/') 
+  if (*tempfile == '\0' || tempfile[strlen (tempfile) - 1] != '/')
     strcat (tempfile, "/");
   strcat (tempfile, "detmp.XXX");
   mktemp (tempfile);
@@ -545,7 +545,7 @@ usage: (call-process PROGRAM &optional INFILE BUFFER DISPLAY &rest ARGS)  */)
          code does not handle passing the environment to the synchronous
          Mac subprocess.  */
       char *infn, *outfn, *errfn, *currdn;
-      
+
       /* close these files so subprocess can write to them */
       close (outfilefd);
       if (fd_error != outfilefd)
@@ -780,7 +780,7 @@ usage: (call-process PROGRAM &optional INFILE BUFFER DISPLAY &rest ARGS)  */)
 
        /* Now NREAD is the total amount of data in the buffer.  */
        immediate_quit = 0;
-       
+
        if (!NILP (buffer))
          {
            if (! CODING_MAY_REQUIRE_DECODING (&process_coding))
@@ -793,7 +793,7 @@ usage: (call-process PROGRAM &optional INFILE BUFFER DISPLAY &rest ARGS)  */)
              repeat_decoding:
                size = decoding_buffer_size (&process_coding, nread);
                decoding_buf = (char *) xmalloc (size);
-               
+
                /* We can't use the macro CODING_REQUIRE_DETECTION
                   because it always returns nonzero if the coding
                   system requires EOL detection.  Here, we have to
@@ -807,10 +807,10 @@ usage: (call-process PROGRAM &optional INFILE BUFFER DISPLAY &rest ARGS)  */)
                  }
                if (process_coding.cmp_data)
                  process_coding.cmp_data->char_offset = PT;
-               
+
                decode_coding (&process_coding, bufptr, decoding_buf,
                               nread, size);
-               
+
                if (display_on_the_fly
                    && saved_coding.type == coding_type_undecided
                    && process_coding.type != coding_type_undecided)
@@ -825,7 +825,7 @@ usage: (call-process PROGRAM &optional INFILE BUFFER DISPLAY &rest ARGS)  */)
                    carryover = nread;
                    continue;
                  }
-               
+
                if (process_coding.produced > 0)
                  insert_1_both (decoding_buf, process_coding.produced_char,
                                 process_coding.produced, 0, 1, 0);
@@ -840,9 +840,9 @@ usage: (call-process PROGRAM &optional INFILE BUFFER DISPLAY &rest ARGS)  */)
                        /* CRs have been replaced with LFs.  Undo
                           that in the text inserted above.  */
                        unsigned char *p;
-                       
+
                        move_gap_both (PT, PT_BYTE);
-                       
+
                        p = BYTE_POS_ADDR (pt_byte_orig);
                        for (; p < GPT_ADDR; ++p)
                          if (*p == '\n')
@@ -858,7 +858,7 @@ usage: (call-process PROGRAM &optional INFILE BUFFER DISPLAY &rest ARGS)  */)
                        old_pt = PT;
                        old_pt_byte = PT_BYTE;
                        nCR = 0;
-                       
+
                        for (bytepos = PT_BYTE - 1;
                             bytepos >= pt_byte_orig;
                             --bytepos)
@@ -882,13 +882,13 @@ usage: (call-process PROGRAM &optional INFILE BUFFER DISPLAY &rest ARGS)  */)
                      coding = AREF (eol_type, CODING_EOL_LF);
                    else
                      coding = saved_coding.symbol;
-                   
+
                    process_coding.symbol = coding;
                    process_coding.eol_type = CODING_EOL_LF;
                    process_coding.mode
                      &= ~CODING_MODE_INHIBIT_INCONSISTENT_EOL;
                  }
-               
+
                nread -= process_coding.consumed;
                carryover = nread;
                if (carryover > 0)
@@ -1106,7 +1106,7 @@ usage: (call-process-region START END PROGRAM &optional DELETE BUFFER DISPLAY &r
     unbind_to (count1, Qnil);
   }
 
-  /* Note that Fcall_process takes care of binding 
+  /* Note that Fcall_process takes care of binding
      coding-system-for-read.  */
 
   record_unwind_protect (delete_temp_file, filename_string);
@@ -1144,7 +1144,7 @@ static int relocate_fd ();
    of environ around the vfork and the call to this function.
 
    SET_PGRP is nonzero if we should put the subprocess into a separate
-   process group.  
+   process group.
 
    CURRENT_DIR is an elisp string giving the path of the current
    directory the subprocess should have.  Since we can't really signal
@@ -1467,7 +1467,7 @@ egetenv (var)
 #endif /* not VMS */
 \f
 /* This is run before init_cmdargs.  */
-  
+
 void
 init_callproc_1 ()
 {
@@ -1475,7 +1475,7 @@ init_callproc_1 ()
   char *doc_dir = egetenv ("EMACSDOC");
 
   Vdata_directory
-    = Ffile_name_as_directory (build_string (data_dir ? data_dir 
+    = Ffile_name_as_directory (build_string (data_dir ? data_dir
                                             : PATH_DATA));
   Vdoc_directory
     = Ffile_name_as_directory (build_string (doc_dir ? doc_dir
@@ -1494,7 +1494,7 @@ void
 init_callproc ()
 {
   char *data_dir = egetenv ("EMACSDATA");
-    
+
   register char * sh;
   Lisp_Object tempdir;
 
@@ -1512,7 +1512,7 @@ init_callproc ()
          Vexec_path = Fcons (tem, Vexec_path);
          Vexec_path = nconc2 (decode_env_path ("PATH", ""), Vexec_path);
        }
-      
+
       Vexec_directory = Ffile_name_as_directory (tem);
 #endif /* not DOS_NT */
 
index 6056af54682d61d1ff56eb5be8580e4d680941b8..306c7df3281a51309a8cfe66f71026dd98d4b1b0 100644 (file)
@@ -71,7 +71,7 @@ check_case_table (obj)
   while (tem = Fcase_table_p (obj), NILP (tem))
     obj = wrong_type_argument (Qcase_table_p, obj);
   return (obj);
-}   
+}
 
 DEFUN ("current-case-table", Fcurrent_case_table, Scurrent_case_table, 0, 0, 0,
        doc: /* Return the case table of the current buffer.  */)
index c7ae2ccf90d4404d19f15c17e5920a6a92c40174..4846ae8f7f637b19b0b1528eb1b650460ff07e7c 100644 (file)
@@ -167,7 +167,7 @@ check_category_table (table)
   while (tem = Fcategory_table_p (table), NILP (tem))
     table = wrong_type_argument (Qcategory_table_p, table);
   return table;
-}   
+}
 
 DEFUN ("category-table", Fcategory_table, Scategory_table, 0, 0, 0,
        doc: /* Return the current category table.
@@ -377,7 +377,7 @@ then delete CATEGORY from the category set instead of adding it.  */)
 
   if (NILP (CATEGORY_DOCSTRING (table, XFASTINT (category))))
     error ("Undefined category: %c", XFASTINT (category));
-  
+
   set_value = NILP (reset) ? Qt : Qnil;
 
   if (c < CHAR_TABLE_SINGLE_BYTE_SLOTS)
@@ -534,7 +534,7 @@ init_category_once ()
   Fput (Qcategory_table, Qchar_table_extra_slots, make_number (2));
 
   Vstandard_category_table = Fmake_char_table (Qcategory_table, Qnil);
-  /* Set a category set which contains nothing to the default.  */ 
+  /* Set a category set which contains nothing to the default.  */
   XCHAR_TABLE (Vstandard_category_table)->defalt = MAKE_CATEGORY_SET;
   Fset_char_table_extra_slot (Vstandard_category_table, make_number (0),
                              Fmake_vector (make_number (95), Qnil));
index 3b2e609bdd3235ccd6c6a53862d6d45685511a5a..d48d99df805b7ce1a2083b0cd3b9077d7d3a88ce 100644 (file)
@@ -109,7 +109,7 @@ extern Lisp_Object _temp_category_set;
 #else
 #define CATEGORY_SET(c) \
   Faref (current_buffer->category_table, make_number (c))
-#endif   
+#endif
 
 /* Return the doc string of CATEGORY in category table TABLE.  */
 #define CATEGORY_DOCSTRING(table, category) \
index 3b8eb62db9a435b7aab54adfce0f8cfd47a02e3b..e82eea542c2821141c87a879c2ed4a426e3f7f3a 100644 (file)
--- a/src/ccl.c
+++ b/src/ccl.c
@@ -426,7 +426,7 @@ Lisp_Object Vtranslation_hash_table_vector;
                                        extended_command (rrr,RRR,Rrr,ARGS)
                                      */
 
-/* 
+/*
    Here after, Extended CCL Instructions.
    Bit length of extended command is 14.
    Therefore, the instruction code range is 0..16384(0x3fff).
@@ -484,7 +484,7 @@ Lisp_Object Vtranslation_hash_table_vector;
                                        3:MAP-ID1
                                        4:MAP-ID2
                                        ...
-                                    */ 
+                                    */
 
 /* Map the code in reg[rrr] by MAPs starting from the Nth (N =
    reg[RRR]) map.
@@ -562,7 +562,7 @@ Lisp_Object Vtranslation_hash_table_vector;
    where
        STARTPOINT is an offset to be used for indexing a map,
        ENDPOINT is a maximum index number of a map,
-       VAL and VALn is a number, nil, t, or lambda.  
+       VAL and VALn is a number, nil, t, or lambda.
 
    Valid index range of a map of type (a) is:
        STARTPOINT <= index < STARTPOINT + map_size - 1
@@ -862,7 +862,7 @@ struct ccl_prog_stack
     int ic;                    /* Instruction Counter.  */
   };
 
-/* For the moment, we only support depth 256 of stack.  */ 
+/* For the moment, we only support depth 256 of stack.  */
 static struct ccl_prog_stack ccl_prog_stack_struct[256];
 
 int
@@ -1096,7 +1096,7 @@ ccl_driver (ccl, source, destination, src_bytes, dst_bytes, consumed)
                  }
                CCL_INVALID_CMD;
              }
-           
+
            ccl_prog_stack_struct[stack_idx].ccl_prog = ccl_prog;
            ccl_prog_stack_struct[stack_idx].ic = ic;
            stack_idx++;
@@ -1260,7 +1260,7 @@ ccl_driver (ccl, source, destination, src_bytes, dst_bytes, consumed)
                  src++;
                  goto ccl_read_multibyte_character_suspend;
                }
-             
+
              if (!ccl->multibyte)
                {
                  int bytes;
@@ -1274,7 +1274,7 @@ ccl_driver (ccl, source, destination, src_bytes, dst_bytes, consumed)
              i = *src++;
              if (i == '\n' && ccl->eol_type != CODING_EOL_LF)
                {
-                 /* We are encoding.  */ 
+                 /* We are encoding.  */
                  if (ccl->eol_type == CODING_EOL_CRLF)
                    {
                      if (ccl->cr_consumed)
@@ -1399,7 +1399,7 @@ ccl_driver (ccl, source, destination, src_bytes, dst_bytes, consumed)
              SPLIT_CHAR (op, reg[RRR], i, j);
              if (j != -1)
                i = (i << 7) | j;
-             
+
              reg[rrr] = i;
              break;
 
@@ -1411,14 +1411,14 @@ ccl_driver (ccl, source, destination, src_bytes, dst_bytes, consumed)
              SPLIT_CHAR (op, reg[RRR], i, j);
              if (j != -1)
                i = (i << 7) | j;
-             
+
              reg[rrr] = i;
              break;
 
            case CCL_LookupIntConstTbl:
              op = XINT (ccl_prog[ic]); /* table */
              ic++;
-             {         
+             {
                struct Lisp_Hash_Table *h = GET_HASH_TABLE (op);
 
                op = hash_lookup (h, make_number (reg[RRR]), NULL);
@@ -1443,7 +1443,7 @@ ccl_driver (ccl, source, destination, src_bytes, dst_bytes, consumed)
              op = XINT (ccl_prog[ic]); /* table */
              ic++;
              CCL_MAKE_CHAR (reg[RRR], reg[rrr], i);
-             {         
+             {
                struct Lisp_Hash_Table *h = GET_HASH_TABLE (op);
 
                op = hash_lookup (h, make_number (i), NULL);
@@ -1517,7 +1517,7 @@ ccl_driver (ccl, source, destination, src_bytes, dst_bytes, consumed)
                        else
                          continue;
                      }
-                   else 
+                   else
                      continue;
 
                    if (NILP (content))
@@ -1553,7 +1553,7 @@ ccl_driver (ccl, source, destination, src_bytes, dst_bytes, consumed)
                ic = fin_ic;
              }
              break;
-             
+
            case CCL_MapMultiple:
              {
                Lisp_Object map, content, attrib, value;
@@ -1640,7 +1640,7 @@ ccl_driver (ccl, source, destination, src_bytes, dst_bytes, consumed)
                      }
                  }
                map_vector_size = ASIZE (Vcode_conversion_map_vector);
-               
+
                do {
                  for (;map_set_rest_length > 0;i++, ic++, map_set_rest_length--)
                    {
@@ -1690,7 +1690,7 @@ ccl_driver (ccl, source, destination, src_bytes, dst_bytes, consumed)
                          else
                            continue;
                        }
-                     else 
+                     else
                        continue;
 
                      if (NILP (content))
@@ -1808,7 +1808,7 @@ ccl_driver (ccl, source, destination, src_bytes, dst_bytes, consumed)
                  }
              }
              break;
-             
+
            default:
              CCL_INVALID_CMD;
            }
@@ -1881,7 +1881,7 @@ ccl_driver (ccl, source, destination, src_bytes, dst_bytes, consumed)
          bcopy (msg, dst, msglen);
          dst += msglen;
        }
-      
+
       if (ccl->status == CCL_STAT_INVALID_CMD)
        {
 #if 0 /* If the remaining bytes contain 0x80..0x9F, copying them
@@ -2317,7 +2317,7 @@ Return index number of the registered map.  */)
 
   CHECK_SYMBOL (symbol);
   CHECK_VECTOR (map);
-  
+
   for (i = 0; i < len; i++)
     {
       Lisp_Object slot = AREF (Vcode_conversion_map_vector, i);
index ed89bf5e6d87d81cad3c26d59e91d0514d32b386..f5344ff0d070f244a384f4ef6e8178dd52027391 100644 (file)
--- a/src/ccl.h
+++ b/src/ccl.h
@@ -44,7 +44,7 @@ struct ccl_program {
   int private_state;            /* CCL instruction may use this
                                   for private use, mainly for saving
                                   internal states on suspending.
-                                  This variable is set to 0 when ccl is 
+                                  This variable is set to 0 when ccl is
                                   set up.  */
   int last_block;              /* Set to 1 while processing the last
                                   block. */
index a0ab20c26a781546ab7e28488da3431b6e20067c..af5c6ff7068308ca5bca88e989a2642747cb76b3 100644 (file)
@@ -210,7 +210,7 @@ char_to_string_1 (c, str)
       /* If C still has any modifier bits, just ignore it.  */
       c &= ~CHAR_MODIFIER_MASK;
     }
-  
+
   if (SINGLE_BYTE_CHAR_P (c))
     {
       if (ASCII_BYTE_P (c) || c >= 0xA0)
@@ -345,7 +345,7 @@ char_printable_p (c)
     return 0;
   else if (c >= MAX_CHAR)
     return 0;
-  
+
   SPLIT_CHAR (c, charset, c1, c2);
   if (! CHARSET_DEFINED_P (charset))
     return 0;
@@ -817,7 +817,7 @@ find_charset_in_text (ptr, nchars, nbytes, charsets, table)
            {
              maskbits |= (*ptr < 0x80 ? 1 : *ptr < 0xA0 ? 2 : 4);
              ptr++;
-           }         
+           }
 
          if (maskbits & 1)
            charsets[CHARSET_ASCII] = 1;
@@ -1548,7 +1548,7 @@ str_as_multibyte (str, len, nbytes, nchars)
        {
          while (n--)
            *to++ = *p++;
-       }         
+       }
       else
        {
          *to++ = LEADING_CODE_8_BIT_CONTROL;
@@ -1600,7 +1600,7 @@ str_to_multibyte (str, len, bytes)
   endp = str + len;
   safe_bcopy (p, endp - bytes, bytes);
   p = endp - bytes;
-  while (p < endp)      
+  while (p < endp)
     {
       if (*p < 0x80 || *p >= 0xA0)
        *to++ = *p++;
@@ -1624,7 +1624,7 @@ str_as_unibyte (str, bytes)
 
   while (p < endp && *p != LEADING_CODE_8_BIT_CONTROL) p++;
   to = p;
-  while (p < endp)      
+  while (p < endp)
     {
       if (*p == LEADING_CODE_8_BIT_CONTROL)
        *to++ = *(p + 1) - 0x20, p += 2;
index 4e8984493a72cc022f3f872fc391bd7287ac02ae..5657062b5b3f910999f24c42e15c805364e2e22a 100644 (file)
--- a/src/cm.c
+++ b/src/cm.c
@@ -224,7 +224,7 @@ calccost (srcy, srcx, dsty, dstx, doit)
     if (doit)
        while (--deltay >= 0)
            tputs (p, 1, cmputc);
-x: 
+x:
     if ((deltax = dstx - srcx) == 0)
        goto done;
     if (deltax < 0) {
@@ -235,7 +235,7 @@ x:
     if (Wcm.cc_tab >= BIG || !Wcm.cm_usetabs)
        goto olddelta;          /* forget it! */
 
-    /* 
+    /*
      * ntabs is # tabs towards but not past dstx; n2tabs is one more
      * (ie past dstx), but this is only valid if that is not past the
      * right edge of the screen.  We can check that at the same time
@@ -251,7 +251,7 @@ x:
     if (tab2x >= Wcm.cm_cols)  /* too far (past edge) */
        n2tabs = 0;
 
-    /* 
+    /*
      * Now set tabcost to the cost for using ntabs, and c to the cost
      * for using n2tabs, then pick the minimum.
      */
@@ -270,7 +270,7 @@ x:
     if (tabcost >= BIG)                /* caint use tabs */
        goto newdelta;
 
-    /* 
+    /*
      * See if tabcost is less than just moving right
      */
 
@@ -282,20 +282,20 @@ x:
        srcx = tabx;
     }
 
-    /* 
+    /*
      * Now might as well just recompute the delta.
      */
 
-newdelta: 
+newdelta:
     if ((deltax = dstx - srcx) == 0)
        goto done;
-olddelta: 
+olddelta:
     if (deltax > 0)
        p = Wcm.cm_right, c = Wcm.cc_right;
     else
        p = Wcm.cm_left, c = Wcm.cc_left, deltax = -deltax;
 
-dodelta: 
+dodelta:
     if (c == BIG) {            /* caint get thar from here */
 fail:
        if (doit)
@@ -306,7 +306,7 @@ fail:
     if (doit)
        while (--deltax >= 0)
            tputs (p, 1, cmputc);
-done: 
+done:
     return totalcost;
 }
 
@@ -379,7 +379,7 @@ cmgoto (row, col)
       dcm = Wcm.cm_abs;
     }
 
-  /* 
+  /*
    * In the following comparison, the = in <= is because when the costs
    * are the same, it looks nicer (I think) to move directly there.
    */
@@ -400,17 +400,17 @@ cmgoto (row, col)
 
   switch (use)
     {
-    case USEHOME: 
+    case USEHOME:
       tputs (Wcm.cm_home, 1, cmputc);
       curY = 0, curX = 0;
       break;
 
-    case USELL: 
+    case USELL:
       tputs (Wcm.cm_ll, 1, cmputc);
       curY = Wcm.cm_rows - 1, curX = 0;
       break;
 
-    case USECR: 
+    case USECR:
       tputs (Wcm.cm_cr, 1, cmputc);
       if (Wcm.cm_autolf)
        curY++;
index fb7cd0cd9db963bf9f8c59940f4d12bde5724c14..9dde90af15ed1b1df38b43ba71ba9b7112969176 100644 (file)
@@ -6514,7 +6514,7 @@ find_safe_codings_2 (p, pend, safe_codings, work_table, single_byte_char_found)
   int c, len, i;
   Lisp_Object val, ch;
   Lisp_Object prev, tail;
-  
+
   while (p < pend)
     {
       c = STRING_CHAR_AND_LENGTH (p, pend - p, len);
@@ -6635,7 +6635,7 @@ DEFUN ("find-coding-systems-region-internal-2",
       else
        /* ... and append generic coding systems.  */
        val = Fcopy_sequence (XCAR (Vcoding_system_safe_chars));
-      
+
       for (; CONSP (safe_codings); safe_codings = XCDR (safe_codings))
        val = Fcons (XCAR (XCAR (safe_codings)), val);
       safe_codings = val;
index 7bd50a23396fd21fe26eed765241ff14eedbec1a..cc05a8691269b89214aff34a4f1a3dd1d61c7cbd 100644 (file)
@@ -249,7 +249,7 @@ get_composition_id (charpos, bytepos, nchars, prop, string)
     }
 
   /* This composition is a new one.  We must register it.  */
-         
+
   /* Check if we have sufficient memory to store this information.  */
   if (composition_table_size == 0)
     {
@@ -485,7 +485,7 @@ update_compositions (from, to, check_mask)
 
   if (inhibit_modification_hooks)
     return;
-  
+
   /* If FROM and TO are not in a valid range, do nothing.  */
   if (! (BEGV <= from && from <= to && to <= ZV))
     return;
@@ -754,7 +754,7 @@ for the composition.  See `compose-string' for more detail.  */)
 }
 
 DEFUN ("find-composition-internal", Ffind_composition_internal,
-       Sfind_composition_internal, 4, 4, 0, 
+       Sfind_composition_internal, 4, 4, 0,
        doc: /* Internal use only.
 
 Return information about composition at or nearest to position POS.
@@ -775,7 +775,7 @@ See `find-composition' for more detail.  */)
     }
   else
     end = -1;
-  
+
   if (!NILP (string))
     {
       CHECK_STRING (string);
@@ -839,7 +839,7 @@ syms_of_composite ()
   {
     Lisp_Object args[6];
     extern Lisp_Object QCsize;
-    
+
     args[0] = QCtest;
     args[1] = Qequal;
     args[2] = QCweakness;
index ce47aee7098cd680a167aa2f551c179c45562fb8..620d5d4ce2803a4a3897dba2e8c763c3622c7015 100644 (file)
@@ -147,7 +147,7 @@ extern Lisp_Object composition_temp;
 
    When a composition is assigned an ID number (by
    get_composition_id), this structure is allocated for the
-   composition and linked in composition_table[ID].  
+   composition and linked in composition_table[ID].
 
    Identical compositions appearing at different places have the same
    ID, and thus share the same instance of this structure.  */
index 5a22b7c3c50f0e3dad4bacbf3b2ea767882492f2..c86215d823f59867869763e49b47d81dd194e699 100644 (file)
@@ -22,7 +22,7 @@ Boston, MA 02111-1307, USA.  */
 
 
 /* No code in Emacs #includes config.h twice, but some bits of code
-   intended to work with other packages as well (like gmalloc.c) 
+   intended to work with other packages as well (like gmalloc.c)
    think they can include it as many times as they like.  */
 #ifndef EMACS_CONFIG_H
 #define EMACS_CONFIG_H
@@ -999,7 +999,7 @@ typedef unsigned size_t;
 #ifdef __GNUC__
 #  ifndef GC_SETJMP_WORKS
   /* GC_SETJMP_WORKS is nearly always appropriate for GCC --
-     see NON_SAVING_SETJMP in the target descriptions.  */   
+     see NON_SAVING_SETJMP in the target descriptions.  */
   /* Exceptions (see NON_SAVING_SETJMP in target description) are ns32k,
      SCO5 non-ELF (but Emacs specifies ELF) and SVR3 on x86.
      Fixme: Deal with ns32k, SVR3.  */
@@ -1022,7 +1022,7 @@ typedef unsigned size_t;
 
 #endif /* EMACS_CONFIG_H */
 
-/* 
+/*
 Local Variables:
 mode: c
 End:
index e1aca66ba162bd71082dd8cd1f4c0660baae7516..54f96ba82f1f96a6fd26d67df7b3fd1f35847b3d 100644 (file)
@@ -130,7 +130,7 @@ directory_files_internal_unwind (dh)
   return Qnil;
 }
 
-/* Function shared by Fdirectory_files and Fdirectory_files_and_attributes.  
+/* Function shared by Fdirectory_files and Fdirectory_files_and_attributes.
    When ATTRS is zero, return a list of directory filenames; when
    non-zero, return a list of directory filenames and their attributes.  */
 
@@ -187,7 +187,7 @@ directory_files_internal (directory, full, match, nosort, attrs)
      have to make sure it gets closed, and setting up an
      unwind_protect to do so would be a pain.  */
  retry:
-  
+
   d = opendir (SDATA (dirfilename));
   if (d == NULL)
     report_file_error ("Opening directory", Fcons (directory, Qnil));
@@ -219,7 +219,7 @@ directory_files_internal (directory, full, match, nosort, attrs)
       if (dp == NULL && errno == EAGAIN)
        continue;
 #endif
-      
+
       if (dp == NULL)
        break;
 
@@ -233,7 +233,7 @@ directory_files_internal (directory, full, match, nosort, attrs)
          len = NAMLEN (dp);
          name = finalname = make_unibyte_string (dp->d_name, len);
          GCPRO2 (finalname, name);
-         
+
          /* Note: ENCODE_FILE can GC; it should protect its argument,
             though.  */
          name = DECODE_FILE (name);
@@ -261,24 +261,24 @@ directory_files_internal (directory, full, match, nosort, attrs)
                  fullname = make_uninit_multibyte_string (nbytes, nbytes);
                  bcopy (SDATA (directory), SDATA (fullname),
                         directory_nbytes);
-                 
+
                  if (needsep)
                    SSET (fullname, directory_nbytes, DIRECTORY_SEP);
-                 
+
                  bcopy (SDATA (name),
                         SDATA (fullname) + directory_nbytes + needsep,
                         len);
-                 
+
                  nchars = chars_in_text (SDATA (fullname), nbytes);
 
                  /* Some bug somewhere.  */
                  if (nchars > nbytes)
                    abort ();
-                     
+
                  STRING_SET_CHARS (fullname, nchars);
                  if (nchars == nbytes)
                    STRING_SET_UNIBYTE (fullname);
-                 
+
                  finalname = fullname;
                }
              else
@@ -328,7 +328,7 @@ directory_files_internal (directory, full, match, nosort, attrs)
   if (NILP (nosort))
     list = Fsort (Fnreverse (list),
                  attrs ? Qfile_attributes_lessp : Qstring_lessp);
-  
+
   RETURN_UNGCPRO (list);
 }
 
@@ -686,7 +686,7 @@ file_name_completion (file, dirname, all_flag, ver_flag)
                  /* This tests that the current file is an exact match
                     but BESTMATCH is not (it is too long).  */
                  if ((matchsize == len
-                      && matchsize + !!directoryp 
+                      && matchsize + !!directoryp
                          < SCHARS (bestmatch))
                      ||
                      /* If there is no exact match ignoring case,
@@ -699,7 +699,7 @@ file_name_completion (file, dirname, all_flag, ver_flag)
                         either both or neither are exact.  */
                      (((matchsize == len)
                        ==
-                       (matchsize + !!directoryp 
+                       (matchsize + !!directoryp
                         == SCHARS (bestmatch)))
                       && !bcmp (p2, SDATA (encoded_file), SCHARS (encoded_file))
                       && bcmp (p1, SDATA (encoded_file), SCHARS (encoded_file))))
index ec5e16b2bcac1de4f556834174ab9bff7db57fa8..48732088e28d9495e484a049765d467dae83d255 100644 (file)
@@ -112,7 +112,7 @@ extern int trace_redisplay_p;
 
 #endif /* GLYPH_DEBUG == 0 */
 
-     
+
 \f
 /***********************************************************************
                            Text positions
@@ -121,7 +121,7 @@ extern int trace_redisplay_p;
 /* Starting with Emacs 20.3, characters from strings and buffers have
    both a character and a byte position associated with them.  The
    following structure holds such a pair of positions.  */
-     
+
 struct text_pos
 {
   /* Character position.  */
@@ -177,7 +177,7 @@ struct text_pos
 
 #define SET_MARKER_FROM_TEXT_POS(MARKER, POS) \
      set_marker_both ((MARKER), Qnil, CHARPOS ((POS)), BYTEPOS ((POS)))
-     
+
 /* Value is non-zero if character and byte positions of POS1 and POS2
    are equal.  */
 
@@ -224,7 +224,7 @@ struct display_pos
 enum glyph_type
 {
   /* Glyph describes a character.  */
-  CHAR_GLYPH,  
+  CHAR_GLYPH,
 
   /* Glyph describes a composition sequence.  */
   COMPOSITE_GLYPH,
@@ -255,7 +255,7 @@ struct glyph
   int charpos;
 
   /* Lisp object source of this glyph.  Currently either a buffer or
-     a string, if the glyph was produced from characters which came from 
+     a string, if the glyph was produced from characters which came from
      a buffer or a string; or 0 if the glyph was inserted by redisplay
      for its own purposes such as padding.  */
   Lisp_Object object;
@@ -334,7 +334,7 @@ struct glyph
       unsigned ascent  : 16;
     }
     stretch;
-    
+
     /* Used to compare all bit-fields above in one step.  */
     unsigned val;
   } u;
@@ -347,7 +347,7 @@ struct glyph
      (GLYPH_FROM_CHAR_GLYPH ((GLYPH)) == SPACEGLYPH)
 
 /* Are glyphs *X and *Y displayed equal?  */
-     
+
 #define GLYPH_EQUAL_P(X, Y)                                    \
      ((X)->type == (Y)->type                                   \
       && (X)->u.val == (Y)->u.val                              \
@@ -367,7 +367,7 @@ struct glyph
 
 /* Fill a character glyph GLYPH.  CODE, FACE_ID, PADDING_P correspond
    to the bits defined for the typedef `GLYPH' in lisp.h.  */
-     
+
 #define SET_CHAR_GLYPH(GLYPH, CODE, FACE_ID, PADDING_P)        \
      do                                                        \
        {                                               \
@@ -379,7 +379,7 @@ struct glyph
 
 /* Fill a character type glyph GLYPH from a glyph typedef FROM as
    defined in lisp.h.  */
-     
+
 #define SET_CHAR_GLYPH_FROM_GLYPH(GLYPH, FROM)                 \
      SET_CHAR_GLYPH ((GLYPH),                                  \
                     FAST_GLYPH_CHAR ((FROM)),                  \
@@ -389,14 +389,14 @@ struct glyph
 /* Construct a glyph code from a character glyph GLYPH.  If the
    character is multibyte, return -1 as we can't use glyph table for a
    multibyte character.  */
-     
+
 #define GLYPH_FROM_CHAR_GLYPH(GLYPH)                           \
   ((GLYPH).u.ch < 256                                          \
    ? ((GLYPH).u.ch | ((GLYPH).face_id << CHARACTERBITS))       \
    : -1)
 
 /* Is GLYPH a padding glyph?  */
-     
+
 #define CHAR_GLYPH_PADDING_P(GLYPH) (GLYPH).padding_p
 
 
@@ -557,7 +557,7 @@ enum glyph_row_area
 
    Each row is partitioned into three areas.  The start and end of
    each area is recorded in a pointer as shown below.
-   
+
    +--------------------+-------------+---------------------+
    |  left margin area  |  text area  |  right margin area  |
    +--------------------+-------------+---------------------+
@@ -565,13 +565,13 @@ enum glyph_row_area
    glyphs[LEFT_MARGIN_AREA]           glyphs[RIGHT_MARGIN_AREA]
                        |                                   |
                        glyphs[TEXT_AREA]                   |
-                                             glyphs[LAST_AREA]   
+                                             glyphs[LAST_AREA]
 
    Rows in frame matrices reference glyph memory allocated in a frame
    glyph pool (see the description of struct glyph_pool).  Rows in
    window matrices on frames having frame matrices reference slices of
    the glyphs of corresponding rows in the frame matrix.
-   
+
    Rows in window matrices on frames having no frame matrices point to
    glyphs allocated from the heap via xmalloc;
    glyphs[LEFT_MARGIN_AREA] is the start address of the allocated
@@ -655,7 +655,7 @@ struct glyph_row
 
   /* 1 means the overlay arrow is on this line.  */
   unsigned overlay_arrow_p : 1;
-  
+
   /* 1 means that this row displays a continued line, i.e. it has a
      continuation mark at the right side.  */
   unsigned continued_p : 1;
@@ -695,7 +695,7 @@ struct glyph_row
      of more than one glyph.  Some glyphs have been put in this row,
      the rest are put in rows below this one.  */
   unsigned ends_in_middle_of_char_p : 1;
-  
+
   /* 1 means this line starts in the middle of a character consisting
      of more than one glyph.  Some glyphs have been put in the
      previous row, the rest are put in this row.  */
@@ -726,7 +726,7 @@ struct glyph_row *matrix_row P_ ((struct glyph_matrix *, int));
 #define MATRIX_ROW(MATRIX, ROW)          ((MATRIX)->rows + (ROW))
 #endif
 
-/* Return a pointer to the row reserved for the mode line in MATRIX.  
+/* Return a pointer to the row reserved for the mode line in MATRIX.
    Row MATRIX->nrows - 1 is always reserved for the mode line.  */
 
 #define MATRIX_MODE_LINE_ROW(MATRIX) \
@@ -751,29 +751,29 @@ struct glyph_row *matrix_row P_ ((struct glyph_matrix *, int));
      (MATRIX_ROW ((MATRIX), (ROW))->glyphs[TEXT_AREA])
 
 /* Return the number of used glyphs in the text area of a row.  */
-     
+
 #define MATRIX_ROW_USED(MATRIX, ROW) \
      (MATRIX_ROW ((MATRIX), (ROW))->used[TEXT_AREA])
 
 /* Return the character/ byte position at which the display of ROW
    starts.  */
-     
+
 #define MATRIX_ROW_START_CHARPOS(ROW) ((ROW)->start.pos.charpos)
 #define MATRIX_ROW_START_BYTEPOS(ROW) ((ROW)->start.pos.bytepos)
 
 /* Return the character/ byte position at which ROW ends.  */
-     
+
 #define MATRIX_ROW_END_CHARPOS(ROW) ((ROW)->end.pos.charpos)
 #define MATRIX_ROW_END_BYTEPOS(ROW) ((ROW)->end.pos.bytepos)
 
 /* Return the vertical position of ROW in MATRIX.  */
-     
+
 #define MATRIX_ROW_VPOS(ROW, MATRIX) ((ROW) - (MATRIX)->rows)
 
 /* Return the last glyph row + 1 in MATRIX on window W reserved for
    text.  If W has a mode line, the last row in the matrix is reserved
    for it.  */
-     
+
 #define MATRIX_BOTTOM_TEXT_ROW(MATRIX, W)              \
      ((MATRIX)->rows                                   \
       + (MATRIX)->nrows                                        \
@@ -781,46 +781,46 @@ struct glyph_row *matrix_row P_ ((struct glyph_matrix *, int));
 
 /* Non-zero if the face of the last glyph in ROW's text area has
    to be drawn to the end of the text area.  */
-     
+
 #define MATRIX_ROW_EXTENDS_FACE_P(ROW) ((ROW)->fill_line_p)
 
 /* Set and query the enabled_p flag of glyph row ROW in MATRIX.  */
-     
+
 #define SET_MATRIX_ROW_ENABLED_P(MATRIX, ROW, VALUE) \
      (MATRIX_ROW ((MATRIX), (ROW))->enabled_p = (VALUE) != 0)
-     
+
 #define MATRIX_ROW_ENABLED_P(MATRIX, ROW) \
      (MATRIX_ROW ((MATRIX), (ROW))->enabled_p)
 
 /* Non-zero if ROW displays text.  Value is non-zero if the row is
    blank but displays a line end.  */
-     
+
 #define MATRIX_ROW_DISPLAYS_TEXT_P(ROW) ((ROW)->displays_text_p)
 
 /* Non-zero if ROW is not completely visible in window W.  */
-     
+
 #define MATRIX_ROW_PARTIALLY_VISIBLE_P(ROW)    \
      ((ROW)->height != (ROW)->visible_height)
 
 /* Non-zero if ROW is partially visible at the top of window W.  */
-     
+
 #define MATRIX_ROW_PARTIALLY_VISIBLE_AT_TOP_P(W, ROW)          \
      (MATRIX_ROW_PARTIALLY_VISIBLE_P ((ROW))                   \
       && (ROW)->y < WINDOW_DISPLAY_HEADER_LINE_HEIGHT ((W)))
 
 /* Non-zero if ROW is partially visible at the bottom of window W.  */
-     
+
 #define MATRIX_ROW_PARTIALLY_VISIBLE_AT_BOTTOM_P(W, ROW)                     \
      (MATRIX_ROW_PARTIALLY_VISIBLE_P ((ROW))                                 \
       && (ROW)->y + (ROW)->height > WINDOW_DISPLAY_HEIGHT_NO_MODE_LINE ((W)))
 
 /* Return the bottom Y + 1 of ROW.   */
-     
+
 #define MATRIX_ROW_BOTTOM_Y(ROW) ((ROW)->y + (ROW)->height)
 
 /* Is ROW the last visible one in the display described by the
    iterator structure pointed to by IT?.  */
-     
+
 #define MATRIX_ROW_LAST_VISIBLE_P(ROW, IT) \
      (MATRIX_ROW_BOTTOM_Y ((ROW)) >= (IT)->last_visible_y)
 
@@ -844,7 +844,7 @@ struct glyph_row *matrix_row P_ ((struct glyph_matrix *, int));
      ((ROW)->end.overlay_string_index >= 0)
 
 /* Non-zero if ROW starts in the middle of a character.  See above.  */
-     
+
 #define MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P(ROW)     \
      ((ROW)->start.dpvec_index >= 0                    \
       || (ROW)->starts_in_middle_of_char_p             \
@@ -1016,14 +1016,14 @@ extern struct glyph_row scratch_glyph_row;
        * CANON_X_UNIT (XFRAME (WINDOW_FRAME ((W))))))
 
 /* Height of the display region of W, including a mode line, if any.  */
-     
+
 #define WINDOW_DISPLAY_PIXEL_HEIGHT(W)                                 \
      (XFASTINT ((W)->height)                                           \
       * CANON_Y_UNIT (XFRAME (WINDOW_FRAME ((W)))))
 
 /* Height in pixels of the mode line.  May be zero if W doesn't have a
    mode line.  */
-     
+
 #define WINDOW_DISPLAY_MODE_LINE_HEIGHT(W)     \
      (WINDOW_WANTS_MODELINE_P ((W))            \
       ? CURRENT_MODE_LINE_HEIGHT (W)           \
@@ -1031,27 +1031,27 @@ extern struct glyph_row scratch_glyph_row;
 
 /* Height in pixels of the header line.  Zero if W doesn't have a header
    line.  */
-     
+
 #define WINDOW_DISPLAY_HEADER_LINE_HEIGHT(W)   \
      (WINDOW_WANTS_HEADER_LINE_P ((W))         \
       ? CURRENT_HEADER_LINE_HEIGHT (W)         \
       : 0)
 
 /* Pixel height of window W without mode line.  */
-     
+
 #define WINDOW_DISPLAY_HEIGHT_NO_MODE_LINE(W)  \
      (WINDOW_DISPLAY_PIXEL_HEIGHT ((W))                \
       - WINDOW_DISPLAY_MODE_LINE_HEIGHT ((W)))
 
 /* Pixel height of window W without mode and header line.  */
-     
+
 #define WINDOW_DISPLAY_TEXT_HEIGHT(W)          \
      (WINDOW_DISPLAY_PIXEL_HEIGHT ((W))                \
       - WINDOW_DISPLAY_MODE_LINE_HEIGHT ((W))  \
       - WINDOW_DISPLAY_HEADER_LINE_HEIGHT ((W)))
 
 /* Left edge of W in pixels relative to its frame.  */
-     
+
 #define WINDOW_DISPLAY_LEFT_EDGE_PIXEL_X(W)                            \
      (FRAME_INTERNAL_BORDER_WIDTH_SAFE (XFRAME (WINDOW_FRAME ((W))))   \
       + (WINDOW_LEFT_MARGIN ((W))                                      \
@@ -1059,54 +1059,54 @@ extern struct glyph_row scratch_glyph_row;
       + FRAME_LEFT_FRINGE_WIDTH (XFRAME (WINDOW_FRAME ((W)))))
 
 /* Right edge of window W in pixels, relative to its frame.  */
-     
+
 #define WINDOW_DISPLAY_RIGHT_EDGE_PIXEL_X(W)           \
      (WINDOW_DISPLAY_LEFT_EDGE_PIXEL_X ((W))           \
       + WINDOW_DISPLAY_PIXEL_WIDTH ((W)))
 
 /* Top edge of W in pixels relative to its frame.  */
-     
+
 #define WINDOW_DISPLAY_TOP_EDGE_PIXEL_Y(W)                             \
      (FRAME_INTERNAL_BORDER_WIDTH_SAFE (XFRAME (WINDOW_FRAME ((W))))   \
       + (XFASTINT ((W)->top)                                           \
          * CANON_Y_UNIT (XFRAME (WINDOW_FRAME ((W))))))
 
 /* Bottom edge of window W relative to its frame.  */
-     
+
 #define WINDOW_DISPLAY_BOTTOM_EDGE_PIXEL_Y(W)          \
      (WINDOW_DISPLAY_TOP_EDGE_PIXEL_Y ((W))            \
       + WINDOW_DISPLAY_PIXEL_HEIGHT ((W)))
-     
+
 /* Convert window W relative pixel X to frame pixel coordinates.  */
-     
+
 #define WINDOW_TO_FRAME_PIXEL_X(W, X) \
      ((X) + WINDOW_DISPLAY_LEFT_EDGE_PIXEL_X ((W)))
 
 /* Convert window W relative pixel Y to frame pixel coordinates.  */
-     
+
 #define WINDOW_TO_FRAME_PIXEL_Y(W, Y) \
      ((Y) + WINDOW_DISPLAY_TOP_EDGE_PIXEL_Y ((W)))
 
 /* Convert frame relative pixel X to window relative pixel X.  */
-     
+
 #define FRAME_TO_WINDOW_PIXEL_X(W, X) \
      ((X) - WINDOW_DISPLAY_LEFT_EDGE_PIXEL_X ((W)))
 
 /* Convert frame relative pixel Y to window relative pixel Y.  */
-     
+
 #define FRAME_TO_WINDOW_PIXEL_Y(W, Y) \
      ((Y) - WINDOW_DISPLAY_TOP_EDGE_PIXEL_Y ((W)))
 
 /* Width of left margin area in pixels.  */
-     
+
 #define WINDOW_DISPLAY_LEFT_AREA_PIXEL_WIDTH(W)                \
      (NILP ((W)->left_margin_width)                    \
       ? 0                                              \
       : (XINT ((W)->left_margin_width)                 \
         * CANON_X_UNIT (XFRAME (WINDOW_FRAME ((W))))))
-           
+
 /* Width of right marginal area in pixels.  */
-     
+
 #define WINDOW_DISPLAY_RIGHT_AREA_PIXEL_WIDTH(W)       \
      (NILP ((W)->right_margin_width)                   \
       ? 0                                              \
@@ -1114,7 +1114,7 @@ extern struct glyph_row scratch_glyph_row;
         * CANON_X_UNIT (XFRAME (WINDOW_FRAME ((W))))))
 
 /* Width of text area in pixels.  */
-     
+
 #define WINDOW_DISPLAY_TEXT_AREA_PIXEL_WIDTH(W)                \
      (WINDOW_DISPLAY_PIXEL_WIDTH ((W))                 \
       - WINDOW_DISPLAY_LEFT_AREA_PIXEL_WIDTH ((W))     \
@@ -1147,7 +1147,7 @@ extern struct glyph_row scratch_glyph_row;
       : (((AREA) == LEFT_MARGIN_AREA)                  \
         ? WINDOW_DISPLAY_LEFT_AREA_PIXEL_WIDTH ((W))   \
         : WINDOW_DISPLAY_RIGHT_AREA_PIXEL_WIDTH ((W))))
-     
+
 /* Value is non-zero if window W wants a mode line.  */
 
 #define WINDOW_WANTS_MODELINE_P(W)                                     \
@@ -1168,11 +1168,11 @@ extern struct glyph_row scratch_glyph_row;
       && !NILP (XBUFFER ((W)->buffer)->header_line_format)             \
       && XFASTINT ((W)->height) > 1 + !NILP (XBUFFER ((W)->buffer)->mode_line_format))
 
-\f     
+\f
 /***********************************************************************
                                Faces
  ***********************************************************************/
-     
+
 /* Indices of face attributes in Lisp face vectors.  Slot zero is the
    symbol `face'.  */
 
@@ -1230,11 +1230,11 @@ struct face
   int id;
 
 #ifdef HAVE_WINDOW_SYSTEM
-  
+
   /* If non-zero, this is a GC that we can use without modification for
      drawing the characters in this face.  */
   GC gc;
-  
+
   /* Font used for this face, or null if the font could not be loaded
      for some reason.  This points to a `font' slot of a struct
      font_info, and we should not call XFreeFont on it because the
@@ -1255,7 +1255,7 @@ struct face
   /* Pixel value of foreground color for X frames.  Color index
      for tty frames.  */
   unsigned long foreground;
-  
+
   /* Pixel value or color index of background color.  */
   unsigned long background;
 
@@ -1283,10 +1283,10 @@ struct face
      Otherwise, a specific font is loaded from the set of fonts
      specified by the fontset given by the family attribute of the face.  */
   int fontset;
-  
+
   /* Pixmap width and height.  */
   unsigned int pixmap_w, pixmap_h;
-  
+
   /* Non-zero means characters in this face have a box that thickness
      around them.  If it is negative, the absolute value indicates the
      thickness, and the horizontal lines of box (top and bottom) are
@@ -1335,7 +1335,7 @@ struct face
   /* 1 means that either no color is specified for underlining or that
      the specified color couldn't be loaded.  Use the foreground
      color when drawing in that case. */
-  unsigned underline_defaulted_p : 1; 
+  unsigned underline_defaulted_p : 1;
 
   /* 1 means that either no color is specified for the corresponding
      attribute or that the specified color couldn't be loaded.
@@ -1415,7 +1415,7 @@ struct face_cache
 {
   /* Hash table of cached realized faces.  */
   struct face **buckets;
-  
+
   /* Back-pointer to the frame this cache belongs to.  */
   struct frame *f;
 
@@ -1460,7 +1460,7 @@ struct face_cache
 /* Return the id of the realized face on frame F that is like the face
    with id ID but is suitable for displaying character CHAR.
    This macro is only meaningful for multibyte character CHAR.  */
-   
+
 #define FACE_FOR_CHAR(F, FACE, CHAR)   \
   (SINGLE_BYTE_CHAR_P (CHAR)           \
    ? (FACE)->ascii_face->id            \
@@ -1690,7 +1690,7 @@ struct it
 
   /* Stack pointer.  */
   int sp;
-  
+
   /* Setting of buffer-local variable selective-display-ellipsis.  */
   unsigned selective_display_ellipsis_p : 1;
 
@@ -1715,7 +1715,7 @@ struct it
   /* Non-null means that the current character is the first in a run
      of characters with box face.  */
   unsigned start_of_box_run_p : 1;
-  
+
   /* Non-zero means that the current character is the last in a run
      of characters with box face.  */
   unsigned end_of_box_run_p : 1;
@@ -1809,7 +1809,7 @@ struct it
   /* Number of glyphs needed for the last character requested via
      produce_glyphs.  This is 1 except for tabs.  */
   int nglyphs;
-  
+
   /* Width of the display element in pixels.  Result of
      produce_glyphs.  */
   int pixel_width;
@@ -1925,7 +1925,7 @@ struct redisplay_interface
   /* Produce glyphs/get display metrics for the display element IT is
      loaded with.  */
   void (*produce_glyphs) P_ ((struct it *it));
-  
+
   /* Write or insert LEN glyphs from STRING at the nominal output
      position.  */
   void (*write_glyphs) P_ ((struct glyph *string, int len));
@@ -1934,7 +1934,7 @@ struct redisplay_interface
   /* Clear from nominal output position to X.  X < 0 means clear
      to right end of display.  */
   void (*clear_end_of_line) P_ ((int x));
-  
+
   /* Function to call to scroll the display as described by RUN on
      window W.  */
   void (*scroll_run_hook) P_ ((struct window *w, struct run *run));
@@ -1955,7 +1955,7 @@ struct redisplay_interface
      have to update the mouse highlight.  */
   void (*update_window_end_hook) P_ ((struct window *w, int cursor_on_p,
                                      int mouse_face_overwritten_p));
-  
+
   /* Move cursor to row/column position VPOS/HPOS, pixel coordinates
      Y/X. HPOS/VPOS are window-relative row and column numbers and X/Y
      are window-relative pixel positions.  */
index 4ea59834762a7e70aef0da7227fe7ff726730807..1318bcb851f7ec99c400ea213e9a92b614a01466 100644 (file)
@@ -317,7 +317,7 @@ struct redisplay_interface *rif;
 
 int fonts_changed_p;
 
-/* Convert vpos and hpos from frame to window and vice versa. 
+/* Convert vpos and hpos from frame to window and vice versa.
    This may only be used for terminal frames.  */
 
 #if GLYPH_DEBUG
@@ -368,12 +368,12 @@ add_window_display_history (w, msg, paused_p)
      int paused_p;
 {
   char *buf;
-  
+
   if (history_idx >= REDISPLAY_HISTORY_SIZE)
     history_idx = 0;
   buf = redisplay_history[history_idx].trace;
   ++history_idx;
-  
+
   sprintf (buf, "%d: window %p (`%s')%s\n",
           history_tick++,
           w,
@@ -396,12 +396,12 @@ add_frame_display_history (f, paused_p)
      int paused_p;
 {
   char *buf;
-  
+
   if (history_idx >= REDISPLAY_HISTORY_SIZE)
     history_idx = 0;
   buf = redisplay_history[history_idx].trace;
   ++history_idx;
-  
+
   sprintf (buf, "%d: update frame %p%s",
           history_tick++,
           f, paused_p ? " ***paused***" : "");
@@ -490,7 +490,7 @@ safe_bcopy (from, to, size)
          bcopy (from, to, endt - from);
        }
     }
-}     
+}
 
 
 \f
@@ -530,7 +530,7 @@ new_glyph_matrix (pool)
    is freed.  If the count gets negative, more structures were freed
    than allocated, i.e. one matrix was freed more than once or a bogus
    pointer was passed to this function.
+
    If MATRIX->pool is null, this means that the matrix manages its own
    glyph memory---this is done for matrices on X frames.  Freeing the
    matrix also frees the glyph memory in this case.  */
@@ -552,7 +552,7 @@ free_glyph_matrix (matrix)
       if (matrix->pool == NULL)
        for (i = 0; i < matrix->rows_allocated; ++i)
          xfree (matrix->rows[i].glyphs[LEFT_MARGIN_AREA]);
-      
+
       /* Free row structures and the matrix itself.  */
       xfree (matrix->rows);
       xfree (matrix);
@@ -655,7 +655,7 @@ adjust_glyph_matrix (w, matrix, x, y, dim)
          && matrix->window_width == window_width)
        return;
     }
-  
+
   /* Enlarge MATRIX->rows if necessary.  New rows are cleared.  */
   if (matrix->rows_allocated < dim.height)
     {
@@ -675,7 +675,7 @@ adjust_glyph_matrix (w, matrix, x, y, dim)
   if (matrix->pool)
     {
       xassert (matrix->pool->glyphs);
-      
+
       if (w)
        {
          left = margin_glyphs_to_reserve (w, dim.width,
@@ -685,16 +685,16 @@ adjust_glyph_matrix (w, matrix, x, y, dim)
        }
       else
        left = right = 0;
-      
+
       for (i = 0; i < dim.height; ++i)
        {
          struct glyph_row *row = &matrix->rows[i];
-         
-         row->glyphs[LEFT_MARGIN_AREA] 
+
+         row->glyphs[LEFT_MARGIN_AREA]
            = (matrix->pool->glyphs
               + (y + i) * matrix->pool->ncolumns
               + x);
-         
+
          if (w == NULL
              || row == matrix->rows + dim.height - 1
              || (row == matrix->rows && matrix->header_line_p))
@@ -716,7 +716,7 @@ adjust_glyph_matrix (w, matrix, x, y, dim)
                = row->glyphs[LEFT_MARGIN_AREA] + dim.width;
            }
        }
-      
+
       matrix->left_margin_glyphs = left;
       matrix->right_margin_glyphs = right;
     }
@@ -731,14 +731,14 @@ adjust_glyph_matrix (w, matrix, x, y, dim)
        {
          struct glyph_row *row = matrix->rows;
          struct glyph_row *end = row + matrix->rows_allocated;
-         
+
          while (row < end)
            {
              row->glyphs[LEFT_MARGIN_AREA]
                = (struct glyph *) xrealloc (row->glyphs[LEFT_MARGIN_AREA],
                                             (dim.width
                                              * sizeof (struct glyph)));
-             
+
              /* The mode line never has marginal areas.  */
              if (row == matrix->rows + dim.height - 1
                  || (row == matrix->rows && matrix->header_line_p))
@@ -767,7 +767,7 @@ adjust_glyph_matrix (w, matrix, x, y, dim)
       matrix->left_margin_glyphs = left;
       matrix->right_margin_glyphs = right;
     }
-  
+
   /* Number of rows to be used by MATRIX.  */
   matrix->nrows = dim.height;
   xassert (matrix->nrows >= 0);
@@ -782,7 +782,7 @@ adjust_glyph_matrix (w, matrix, x, y, dim)
             building desired matrices when this function runs.  */
          if (window_width < 0)
            window_width = window_box_width (w, -1);
-      
+
          /* Optimize the case that only the height has changed (C-x 2,
             upper window).  Invalidate all rows that are no longer part
             of the window.  */
@@ -807,7 +807,7 @@ adjust_glyph_matrix (w, matrix, x, y, dim)
              if (INTEGERP (w->window_end_vpos)
                  && XFASTINT (w->window_end_vpos) >= i)
                w->window_end_valid = Qnil;
-         
+
              while (i < matrix->nrows)
                matrix->rows[i++].enabled_p = 0;
            }
@@ -827,8 +827,8 @@ adjust_glyph_matrix (w, matrix, x, y, dim)
            matrix->rows[i].enabled_p = 0;
        }
     }
-    
-  
+
+
   /* Remember last values to be able to optimize frame redraws.  */
   matrix->matrix_x = x;
   matrix->matrix_y = y;
@@ -939,7 +939,7 @@ enable_glyph_matrix_rows (matrix, start, end, enabled_p)
   xassert (start <= end);
   xassert (start >= 0 && start < matrix->nrows);
   xassert (end >= 0 && end <= matrix->nrows);
-  
+
   for (; start < end; ++start)
     matrix->rows[start].enabled_p = enabled_p != 0;
 }
@@ -965,7 +965,7 @@ clear_glyph_matrix (matrix)
       matrix->no_scrolling_p = 0;
     }
 }
-  
+
 
 /* Shift part of the glyph matrix MATRIX of window W up or down.
    Increment y-positions in glyph rows between START and END by DY,
@@ -978,21 +978,21 @@ shift_glyph_matrix (w, matrix, start, end, dy)
      int start, end, dy;
 {
   int min_y, max_y;
-  
+
   xassert (start <= end);
   xassert (start >= 0 && start < matrix->nrows);
   xassert (end >= 0 && end <= matrix->nrows);
-  
+
   min_y = WINDOW_DISPLAY_HEADER_LINE_HEIGHT (w);
   max_y = WINDOW_DISPLAY_HEIGHT_NO_MODE_LINE (w);
-  
+
   for (; start < end; ++start)
     {
       struct glyph_row *row = &matrix->rows[start];
-      
+
       row->y += dy;
       row->visible_height = row->height;
-      
+
       if (row->y < min_y)
        row->visible_height -= min_y - row->y;
       if (row->y + row->height > max_y)
@@ -1037,7 +1037,7 @@ clear_desired_matrices (f)
 {
   if (f->desired_matrix)
     clear_glyph_matrix (f->desired_matrix);
-  
+
   if (WINDOWP (f->menu_bar_window))
     clear_glyph_matrix (XWINDOW (f->menu_bar_window)->desired_matrix);
 
@@ -1142,16 +1142,16 @@ blank_row (w, row, y)
      int y;
 {
   int min_y, max_y;
-  
+
   min_y = WINDOW_DISPLAY_HEADER_LINE_HEIGHT (w);
   max_y = WINDOW_DISPLAY_HEIGHT_NO_MODE_LINE (w);
-  
+
   clear_glyph_row (row);
   row->y = y;
   row->ascent = row->phys_ascent = 0;
   row->height = row->phys_height = CANON_Y_UNIT (XFRAME (w->frame));
   row->visible_height = row->height;
-      
+
   if (row->y < min_y)
     row->visible_height -= min_y - row->y;
   if (row->y + row->height > max_y)
@@ -1290,7 +1290,7 @@ copy_glyph_row_contents (to, from, delta, delta_bytes)
   /* Copy glyphs from FROM to TO.  */
   for (area = 0; area < LAST_AREA; ++area)
     if (from->used[area])
-      bcopy (from->glyphs[area], to->glyphs[area], 
+      bcopy (from->glyphs[area], to->glyphs[area],
             from->used[area] * sizeof (struct glyph));
 
   /* Increment buffer positions in TO by DELTA.  */
@@ -1383,7 +1383,7 @@ line_hash_code (row)
      struct glyph_row *row;
 {
   int hash = 0;
-  
+
   if (row->enabled_p)
     {
       struct glyph *glyph = row->glyphs[TEXT_AREA];
@@ -1431,7 +1431,7 @@ line_draw_cost (matrix, vpos)
       while (end > beg && CHAR_GLYPH_SPACE_P (*(end - 1)))
        --end;
 
-      /* All blank line.  */      
+      /* All blank line.  */
       if (end == beg)
        return 0;
 
@@ -1452,17 +1452,17 @@ line_draw_cost (matrix, vpos)
       while (beg < end)
        {
          GLYPH g = GLYPH_FROM_CHAR_GLYPH (*beg);
-         
+
          if (g < 0
              || GLYPH_SIMPLE_P (glyph_table_base, glyph_table_len, g))
            len += 1;
          else
            len += GLYPH_LENGTH (glyph_table_base, g);
-         
+
          ++beg;
        }
     }
-  
+
   return len;
 }
 
@@ -1473,7 +1473,7 @@ line_draw_cost (matrix, vpos)
    visibility.  MOUSE_FACE_P non-zero means compare the mouse_face_p
    flags of A and B, too.  */
 
-static INLINE int 
+static INLINE int
 row_equal_p (w, a, b, mouse_face_p)
      struct window *w;
      struct glyph_row *a, *b;
@@ -1496,15 +1496,15 @@ row_equal_p (w, a, b, mouse_face_p)
        {
          if (a->used[area] != b->used[area])
            return 0;
-         
+
          a_glyph = a->glyphs[area];
          a_end = a_glyph + a->used[area];
          b_glyph = b->glyphs[area];
-         
+
          while (a_glyph < a_end
                 && GLYPH_EQUAL_P (a_glyph, b_glyph))
            ++a_glyph, ++b_glyph;
-         
+
          if (a_glyph != a_end)
            return 0;
        }
@@ -1551,10 +1551,10 @@ new_glyph_pool ()
   /* Allocate a new glyph_pool and clear it.  */
   result = (struct glyph_pool *) xmalloc (sizeof *result);
   bzero (result, sizeof *result);
-  
+
   /* For memory leak and double deletion checking.  */
   ++glyph_pool_count;
-  
+
   return result;
 }
 
@@ -1626,7 +1626,7 @@ realloc_glyph_pool (pool, matrix_dim)
      determine pointers to rows of window sub-matrices.  */
   pool->nrows = matrix_dim.height;
   pool->ncolumns = matrix_dim.width;
-  
+
   return changed_p;
 }
 
@@ -1659,7 +1659,7 @@ check_matrix_pointer_lossage (matrix)
      struct glyph_matrix *matrix;
 {
   int i, j;
-  
+
   for (i = 0; i < matrix->nrows; ++i)
     for (j = 0; j < matrix->nrows; ++j)
       xassert (i == j
@@ -1684,7 +1684,7 @@ matrix_row (matrix, row)
 #if 0
   check_matrix_pointer_lossage (matrix);
 #endif
-  
+
   return matrix->rows + row;
 }
 
@@ -1707,7 +1707,7 @@ check_matrix_invariants (w)
   struct buffer *saved = current_buffer;
   struct buffer *buffer = XBUFFER (w->buffer);
   int c;
-  
+
   /* This can sometimes happen for a fresh window.  */
   if (matrix->nrows < 2)
     return;
@@ -1870,18 +1870,18 @@ allocate_matrices_for_frame_redisplay (window, x, y, dim_only_p,
        && !NILP (XWINDOW (XWINDOW (window)->parent)->hchild));
 
   /* For WINDOW and all windows on the same level.  */
-  do 
+  do
     {
       w = XWINDOW (window);
 
       /* Get the dimension of the window sub-matrix for W, depending
         on whether this is a combination or a leaf window.  */
       if (!NILP (w->hchild))
-       dim = allocate_matrices_for_frame_redisplay (w->hchild, x, y, 
+       dim = allocate_matrices_for_frame_redisplay (w->hchild, x, y,
                                                     dim_only_p,
                                                     window_change_flags);
       else if (!NILP (w->vchild))
-       dim = allocate_matrices_for_frame_redisplay (w->vchild, x, y, 
+       dim = allocate_matrices_for_frame_redisplay (w->vchild, x, y,
                                                     dim_only_p,
                                                     window_change_flags);
       else
@@ -1893,7 +1893,7 @@ allocate_matrices_for_frame_redisplay (window, x, y, dim_only_p,
              w->current_matrix = new_glyph_matrix (f->current_pool);
              *window_change_flags |= NEW_LEAF_MATRIX;
            }
-  
+
          /* Width and height MUST be chosen so that there are no
             holes in the frame matrix.  */
          dim.width = required_matrix_width (w);
@@ -1929,7 +1929,7 @@ allocate_matrices_for_frame_redisplay (window, x, y, dim_only_p,
         below W.  */
       if (in_horz_combination_p)
        x += dim.width;
-      else 
+      else
         y += dim.height;
 
       /* Remember maximum glyph matrix dimensions.  */
@@ -1952,7 +1952,7 @@ allocate_matrices_for_frame_redisplay (window, x, y, dim_only_p,
       total.width = x - x0;
       total.height = hmax;
     }
-  else 
+  else
     {
       total.width = wmax;
       total.height = y - y0;
@@ -1970,7 +1970,7 @@ required_matrix_height (w)
 {
 #ifdef HAVE_WINDOW_SYSTEM
   struct frame *f = XFRAME (w->frame);
-  
+
   if (FRAME_WINDOW_P (f))
     {
       int ch_height = FRAME_SMALLEST_FONT_HEIGHT (f);
@@ -1984,7 +1984,7 @@ required_matrix_height (w)
              + 2);
     }
 #endif /* HAVE_WINDOW_SYSTEM */
-      
+
   return XINT (w->height);
 }
 
@@ -2001,7 +2001,7 @@ required_matrix_width (w)
     {
       int ch_width = FRAME_SMALLEST_CHAR_WIDTH (f);
       int window_pixel_width = XFLOATINT (w->width) * CANON_X_UNIT (f);
-  
+
       /* Compute number of glyphs needed in a glyph row.  */
       return (((window_pixel_width + ch_width - 1)
               / ch_width)
@@ -2020,7 +2020,7 @@ required_matrix_width (w)
 /* Allocate window matrices for window-based redisplay.  W is the
    window whose matrices must be allocated/reallocated.  CH_DIM is the
    size of the smallest character that could potentially be used on W.  */
-   
+
 static void
 allocate_matrices_for_window_redisplay (w)
      struct window *w;
@@ -2048,7 +2048,7 @@ allocate_matrices_for_window_redisplay (w)
          adjust_glyph_matrix (w, w->desired_matrix, 0, 0, dim);
          adjust_glyph_matrix (w, w->current_matrix, 0, 0, dim);
        }
-      
+
       w = NILP (w->next) ? NULL : XWINDOW (w->next);
     }
 }
@@ -2072,7 +2072,7 @@ adjust_glyphs (f)
   else
     {
       Lisp_Object tail, lisp_frame;
-      
+
       FOR_EACH_FRAME (tail, lisp_frame)
        adjust_frame_glyphs (XFRAME (lisp_frame));
     }
@@ -2082,9 +2082,9 @@ adjust_glyphs (f)
 
 
 /* Adjust frame glyphs when Emacs is initialized.
-   
-   To be called from init_display. 
-   
+
+   To be called from init_display.
+
    We need a glyph matrix because redraw will happen soon.
    Unfortunately, window sizes on selected_frame are not yet set to
    meaningful values.  I believe we can assume that there are only two
@@ -2115,7 +2115,7 @@ adjust_frame_glyphs_initially ()
   adjust_frame_glyphs (sf);
   glyphs_initialized_initially_p = 1;
 }
-  
+
 
 /* Allocate/reallocate glyph matrices of a single frame F.  */
 
@@ -2127,7 +2127,7 @@ adjust_frame_glyphs (f)
     adjust_frame_glyphs_for_window_redisplay (f);
   else
     adjust_frame_glyphs_for_frame_redisplay (f);
-  
+
   /* Don't forget the message buffer and the buffer for
      decode_mode_spec.  */
   adjust_frame_message_buffer (f);
@@ -2145,11 +2145,11 @@ fake_current_matrices (window)
      Lisp_Object window;
 {
   struct window *w;
-      
+
   for (; !NILP (window); window = w->next)
     {
       w = XWINDOW (window);
-      
+
       if (!NILP (w->hchild))
        fake_current_matrices (w->hchild);
       else if (!NILP (w->vchild))
@@ -2163,7 +2163,7 @@ fake_current_matrices (window)
 
          xassert (m->matrix_h == XFASTINT (w->height));
          xassert (m->matrix_w == XFASTINT (w->width));
-         
+
          for (i = 0; i < m->matrix_h; ++i)
            {
              struct glyph_row *r = m->rows + i;
@@ -2238,7 +2238,7 @@ restore_current_matrix (f, saved)
       to->used[TEXT_AREA] = from->used[TEXT_AREA];
       xfree (from->glyphs[TEXT_AREA]);
     }
-  
+
   xfree (saved->rows);
   xfree (saved);
 }
@@ -2264,7 +2264,7 @@ adjust_frame_glyphs_for_frame_redisplay (f)
   /* Determine the smallest character in any font for F.  On
      console windows, all characters have dimension (1, 1).  */
   ch_dim.width = ch_dim.height = 1;
-  
+
   top_window_y = FRAME_TOP_MARGIN (f);
 
   /* Allocate glyph pool structures if not already done.  */
@@ -2280,7 +2280,7 @@ adjust_frame_glyphs_for_frame_redisplay (f)
       f->desired_matrix = new_glyph_matrix (f->desired_pool);
       f->current_matrix = new_glyph_matrix (f->current_pool);
     }
-  
+
   /* Compute window glyph matrices.  (This takes the mini-buffer
      window into account).  The result is the size of the frame glyph
      matrix needed.  The variable window_change_flags is set to a bit
@@ -2301,7 +2301,7 @@ adjust_frame_glyphs_for_frame_redisplay (f)
   pool_changed_p = realloc_glyph_pool (f->desired_pool, matrix_dim);
   realloc_glyph_pool (f->current_pool, matrix_dim);
 
-  /* Set up glyph pointers within window matrices.  Do this only if 
+  /* Set up glyph pointers within window matrices.  Do this only if
      absolutely necessary since it requires a frame redraw.  */
   if (pool_changed_p || window_change_flags)
     {
@@ -2315,7 +2315,7 @@ adjust_frame_glyphs_for_frame_redisplay (f)
         to the frame width (from CHANGE_FRAME_SIZE_1).  */
       xassert (matrix_dim.width == FRAME_WIDTH (f)
               && matrix_dim.height == FRAME_HEIGHT (f));
-  
+
       /* Pointers to glyph memory in glyph rows are exchanged during
         the update phase of redisplay, which means in general that a
         frame's current matrix consists of pointers into both the
@@ -2357,7 +2357,7 @@ adjust_frame_glyphs_for_window_redisplay (f)
   struct window *w;
 
   xassert (FRAME_WINDOW_P (f) && FRAME_LIVE_P (f));
-  
+
   /* Get minimum sizes.  */
 #ifdef HAVE_WINDOW_SYSTEM
   ch_dim.width = FRAME_SMALLEST_CHAR_WIDTH (f);
@@ -2365,7 +2365,7 @@ adjust_frame_glyphs_for_window_redisplay (f)
 #else
   ch_dim.width = ch_dim.height = 1;
 #endif
-    
+
   /* Allocate/reallocate window matrices.  */
   allocate_matrices_for_window_redisplay (XWINDOW (FRAME_ROOT_WINDOW (f)));
 
@@ -2416,7 +2416,7 @@ adjust_frame_glyphs_for_window_redisplay (f)
 }
 
 
-/* Adjust/ allocate message buffer of frame F. 
+/* Adjust/ allocate message buffer of frame F.
 
    Note that the message buffer is never freed.  Since I could not
    find a free in 19.34, I assume that freeing it would be
@@ -2474,7 +2474,7 @@ free_glyphs (f)
          event while we're in an inconsistent state.  */
       BLOCK_INPUT;
       f->glyphs_initialized_p = 0;
-      
+
       /* Release window sub-matrices.  */
       if (!NILP (f->root_window))
         free_window_matrices (XWINDOW (f->root_window));
@@ -2516,7 +2516,7 @@ free_glyphs (f)
          free_glyph_pool (f->current_pool);
          f->desired_pool = f->current_pool = NULL;
        }
-      
+
       UNBLOCK_INPUT;
     }
 }
@@ -2536,7 +2536,7 @@ free_window_matrices (w)
        free_window_matrices (XWINDOW (w->hchild));
       else if (!NILP (w->vchild))
        free_window_matrices (XWINDOW (w->vchild));
-      else 
+      else
        {
          /* This is a leaf window.  Free its memory and reset fields
             to zero in case this function is called a second time for
@@ -2611,7 +2611,7 @@ check_glyph_memory ()
    up glyph lengths of the window matrices.  A line in the frame
    matrix is enabled, if a corresponding line in a window matrix is
    enabled.
-   
+
    After building the desired frame matrix, it will be passed to
    terminal code, which will manipulate both the desired and current
    frame matrix.  Changes applied to the frame's current matrix have
@@ -2624,7 +2624,7 @@ check_glyph_memory ()
    contents needed in a frame matrix.  Thus, any modification of
    glyphs done in terminal code will be reflected in window matrices
    automatically.
-   
+
    2. Exchanges of rows in a frame matrix done by terminal code are
    intercepted by hook functions so that corresponding row operations
    on window matrices can be performed.  This is necessary because we
@@ -2649,7 +2649,7 @@ build_frame_matrix (f)
 
   /* F must have a frame matrix when this function is called.  */
   xassert (!FRAME_WINDOW_P (f));
-  
+
   /* Clear all rows in the frame matrix covered by window matrices.
      Menu bar lines are not covered by windows.  */
   for (i = FRAME_TOP_MARGIN (f); i < f->desired_matrix->nrows; ++i)
@@ -2747,7 +2747,7 @@ build_frame_matrix_from_leaf_window (frame_matrix, w)
          window_row = w->current_matrix->rows + window_y;
          current_row_p = 1;
        }
-      
+
       if (current_row_p)
        {
          /* Copy window row to frame row.  */
@@ -2758,11 +2758,11 @@ build_frame_matrix_from_leaf_window (frame_matrix, w)
       else
        {
          xassert (window_row->enabled_p);
-         
+
          /* Only when a desired row has been displayed, we want
             the corresponding frame row to be updated.  */
          frame_row->enabled_p = 1;
-         
+
           /* Maybe insert a vertical border between horizontally adjacent
             windows.  */
           if (right_border_glyph)
@@ -2774,10 +2774,10 @@ build_frame_matrix_from_leaf_window (frame_matrix, w)
          /* Window row window_y must be a slice of frame row
             frame_y.  */
          xassert (glyph_row_slice_p (window_row, frame_row));
-         
+
          /* If rows are in sync, we don't have to copy glyphs because
             frame and window share glyphs.  */
-         
+
 #if GLYPH_DEBUG
          strcpy (w->current_matrix->method, w->desired_matrix->method);
          add_window_display_history (w, w->current_matrix->method, 0);
@@ -2787,7 +2787,7 @@ build_frame_matrix_from_leaf_window (frame_matrix, w)
       /* Set number of used glyphs in the frame matrix.  Since we fill
          up with spaces, and visit leaf windows from left to right it
          can be done simply.  */
-      frame_row->used[TEXT_AREA] 
+      frame_row->used[TEXT_AREA]
        = window_matrix->matrix_x + window_matrix->matrix_w;
 
       /* Next row.  */
@@ -2853,7 +2853,7 @@ fill_up_frame_row_with_spaces (row, upto)
 {
   int i = row->used[TEXT_AREA];
   struct glyph *glyph = row->glyphs[TEXT_AREA];
-  
+
   while (i < upto)
     glyph[i++] = space_glyph;
 
@@ -2949,7 +2949,7 @@ mirror_make_current (w, frame_row)
              current_row->enabled_p = 1;
            }
        }
-      
+
       w = NILP (w->next) ? 0 : XWINDOW (w->next);
     }
 }
@@ -2964,7 +2964,7 @@ mirror_make_current (w, frame_row)
    row 0 <= I < NLINES which is empty.
 
    This function is called from do_scrolling and do_direct_scrolling.  */
-   
+
 void
 mirrored_line_dance (matrix, unchanged_at_top, nlines, copy_from,
                     retained_p)
@@ -2978,7 +2978,7 @@ mirrored_line_dance (matrix, unchanged_at_top, nlines, copy_from,
 
   /* Rows to assign to.  */
   struct glyph_row *new_rows = MATRIX_ROW (matrix, unchanged_at_top);
-  
+
   int i;
 
   /* Make a copy of the original rows.  */
@@ -3030,7 +3030,7 @@ sync_window_with_frame_matrix_rows (w)
   window_row = w->current_matrix->rows;
   window_row_end = window_row + w->current_matrix->nrows;
   frame_row = f->current_matrix->rows + XFASTINT (w->top);
-  
+
   for (; window_row < window_row_end; ++window_row, ++frame_row)
     {
       window_row->glyphs[LEFT_MARGIN_AREA]
@@ -3054,7 +3054,7 @@ frame_row_to_window (w, row)
      int row;
 {
   struct window *found = NULL;
-  
+
   while (w && !found)
     {
       if (!NILP (w->hchild))
@@ -3064,7 +3064,7 @@ frame_row_to_window (w, row)
       else if (row >= XFASTINT (w->top)
               && row < XFASTINT (w->top) + XFASTINT (w->height))
        found = w;
-      
+
       w = NILP (w->next) ? 0 : XWINDOW (w->next);
     }
 
@@ -3114,36 +3114,36 @@ mirror_line_dance (w, unchanged_at_top, nlines, copy_from, retained_p)
            {
              /* Frame relative line assigned to.  */
              int frame_to = i + unchanged_at_top;
-             
+
              /* Frame relative line assigned.  */
              int frame_from = copy_from[i] + unchanged_at_top;
-             
+
              /* Window relative line assigned to.  */
              int window_to = frame_to - m->matrix_y;
-             
+
              /* Window relative line assigned.  */
              int window_from = frame_from - m->matrix_y;
-             
+
              /* Is assigned line inside window?  */
              int from_inside_window_p
                = window_from >= 0 && window_from < m->matrix_h;
-             
+
              /* Is assigned to line inside window?  */
              int to_inside_window_p
                = window_to >= 0 && window_to < m->matrix_h;
-             
+
              if (from_inside_window_p && to_inside_window_p)
                {
                  /* Enabled setting before assignment.  */
                  int enabled_before_p;
-                 
+
                  /* Do the assignment.  The enabled_p flag is saved
                     over the assignment because the old redisplay did
                     that.  */
                  enabled_before_p = m->rows[window_to].enabled_p;
                  m->rows[window_to] = old_rows[window_from];
                  m->rows[window_to].enabled_p = enabled_before_p;
-                 
+
                  /* If frame line is empty, window line is empty, too.  */
                  if (!retained_p[copy_from[i]])
                    m->rows[window_to].enabled_p = 0;
@@ -3163,7 +3163,7 @@ mirror_line_dance (w, unchanged_at_top, nlines, copy_from, retained_p)
                  m2_from = frame_from - m2->matrix_y;
                  copy_row_except_pointers (m->rows + window_to,
                                            m2->rows + m2_from);
-                 
+
                  /* If frame line is empty, window line is empty, too.  */
                  if (!retained_p[copy_from[i]])
                    m->rows[window_to].enabled_p = 0;
@@ -3177,7 +3177,7 @@ mirror_line_dance (w, unchanged_at_top, nlines, copy_from, retained_p)
             pointers are in sync with the frame matrix.  */
          if (sync_p)
            sync_window_with_frame_matrix_rows (w);
-         
+
          /* Check that no pointers are lost.  */
          CHECK_MATRIX (m);
        }
@@ -3212,7 +3212,7 @@ check_window_matrix_pointers (w)
          check_matrix_pointers (w->desired_matrix, f->desired_matrix);
          check_matrix_pointers (w->current_matrix, f->current_matrix);
        }
-      
+
       w = NILP (w->next) ? 0 : XWINDOW (w->next);
     }
 }
@@ -3233,7 +3233,7 @@ check_matrix_pointers (window_matrix, frame_matrix)
   /* Row number corresponding to I in FRAME_MATRIX.  */
   int j = window_matrix->matrix_y;
 
-  /* For all rows check that the row in the window matrix is a 
+  /* For all rows check that the row in the window matrix is a
      slice of the row in the frame matrix.  If it isn't we didn't
      mirror an operation on the frame matrix correctly.  */
   while (i < window_matrix->nrows)
@@ -3264,7 +3264,7 @@ window_to_frame_vpos (w, vpos)
      int vpos;
 {
   struct frame *f = XFRAME (w->frame);
-  
+
   xassert (!FRAME_WINDOW_P (f));
   xassert (vpos >= 0 && vpos <= w->desired_matrix->nrows);
   vpos += XFASTINT (w->top);
@@ -3282,12 +3282,12 @@ window_to_frame_hpos (w, hpos)
      int hpos;
 {
   struct frame *f = XFRAME (w->frame);
-  
+
   xassert (!FRAME_WINDOW_P (f));
   hpos += XFASTINT (w->left);
   return hpos;
 }
-  
+
 #endif /* GLYPH_DEBUG */
 
 
@@ -3429,8 +3429,8 @@ direct_output_for_insert (g)
         is handled specially there (see display_line).  */
       || (MINI_WINDOW_P (w) && XFASTINT (w->hscroll))
       /* Give up if overwriting in the middle of a line.  */
-      || (overwrite_p 
-         && PT != ZV 
+      || (overwrite_p
+         && PT != ZV
          && FETCH_BYTE (PT) != '\n')
       /* Give up for tabs and line ends.  */
       || g == '\t'
@@ -3474,7 +3474,7 @@ direct_output_for_insert (g)
   glyph_row = MATRIX_ROW (w->current_matrix, w->cursor.vpos);
   if (glyph_row->mouse_face_p)
     return 0;
-  
+
   /* Give up if highlighting trailing whitespace and we have trailing
      whitespace in glyph_row.  We would have to remove the trailing
      whitespace face in that case.  */
@@ -3494,7 +3494,7 @@ direct_output_for_insert (g)
      if the overlay string has newlines in it.  */
   if (STRINGP (it.string))
     return 0;
-  
+
   it.hpos = w->cursor.hpos;
   it.vpos = w->cursor.vpos;
   it.current_x = w->cursor.x + it.first_visible_x;
@@ -3505,7 +3505,7 @@ direct_output_for_insert (g)
 
   /* More than one display element may be returned for PT - 1 if
      (i) it's a control character which is translated into `\003' or
-     `^C', or (ii) it has a display table entry, or (iii) it's a 
+     `^C', or (ii) it has a display table entry, or (iii) it's a
      combination of both.  */
   delta = delta_bytes = 0;
   while (get_next_display_element (&it))
@@ -3562,7 +3562,7 @@ direct_output_for_insert (g)
   bcopy (it.glyph_row->glyphs[TEXT_AREA], glyphs, n * sizeof *glyphs);
   glyph_row->used[TEXT_AREA] = min (glyph_row->used[TEXT_AREA] + n,
                                    end - glyph_row->glyphs[TEXT_AREA]);
-  
+
   /* Compute new line width.  */
   glyph = glyph_row->glyphs[TEXT_AREA];
   end = glyph + glyph_row->used[TEXT_AREA];
@@ -3573,18 +3573,18 @@ direct_output_for_insert (g)
       ++glyph;
     }
 
-  /* Increment buffer positions for glyphs following the newly 
+  /* Increment buffer positions for glyphs following the newly
      inserted ones.  */
   for (glyph = glyphs + n; glyph < end; ++glyph)
     if (glyph->charpos > 0 && BUFFERP (glyph->object))
       glyph->charpos += delta;
-  
+
   if (MATRIX_ROW_END_CHARPOS (glyph_row) > 0)
     {
       MATRIX_ROW_END_CHARPOS (glyph_row) += delta;
       MATRIX_ROW_END_BYTEPOS (glyph_row) += delta_bytes;
     }
-      
+
   /* Adjust positions in lines following the one we are in.  */
   increment_matrix_positions (w->current_matrix,
                              w->cursor.vpos + 1,
@@ -3611,7 +3611,7 @@ direct_output_for_insert (g)
   if (rif)
     {
       rif->update_window_begin_hook (w);
-      
+
       if (glyphs == end - n
          /* In front of a space added by append_space.  */
          || (glyphs == end - n - 1
@@ -3684,8 +3684,8 @@ direct_output_forward_char (n)
   /* Give up if face attributes have been changed.  */
   if (face_change_count)
     return 0;
-  
-  /* Give up if current matrix is not up to date or we are 
+
+  /* Give up if current matrix is not up to date or we are
      displaying a message.  */
   if (!display_completed || cursor_in_echo_area)
     return 0;
@@ -3712,7 +3712,7 @@ direct_output_forward_char (n)
   if (XWINDOW (minibuf_window) == w
       && EQ (minibuf_window, echo_area_window))
     return 0;
-  
+
   /* Give up if we don't know where the cursor is.  */
   if (w->cursor.vpos < 0)
     return 0;
@@ -3725,13 +3725,13 @@ direct_output_forward_char (n)
     return 0;
 
   set_cursor_from_row (w, row, w->current_matrix, 0, 0, 0, 0);
-  
+
   w->last_cursor = w->cursor;
   XSETFASTINT (w->last_point, PT);
 
   xassert (w->cursor.hpos >= 0
           && w->cursor.hpos < w->desired_matrix->matrix_w);
-  
+
   if (FRAME_WINDOW_P (f))
     rif->cursor_to (w->cursor.vpos, w->cursor.hpos,
                    w->cursor.y, w->cursor.x);
@@ -3745,7 +3745,7 @@ direct_output_forward_char (n)
       y = WINDOW_TO_FRAME_VPOS (w, w->cursor.vpos);
       cursor_to (y, x);
     }
-  
+
   fflush (stdout);
   redisplay_performed_directly_p = 1;
   return 1;
@@ -3762,7 +3762,7 @@ direct_output_forward_char (n)
    If FORCE_P is non-zero, don't let redisplay be stopped by detecting
    pending input.  If INHIBIT_HAIRY_ID_P is non-zero, don't try
    scrolling.
-   
+
    Value is non-zero if redisplay was stopped due to pending input.  */
 
 int
@@ -3812,12 +3812,12 @@ update_frame (f, force_p, inhibit_hairy_id_p)
              f->desired_tool_bar_string = tem;
            }
        }
-  
+
 
       /* Update windows.  */
       paused_p = update_window_tree (root_window, force_p);
       update_end (f);
-      
+
 #if 0 /* This flush is a performance bottleneck under X,
         and it doesn't seem to be necessary anyway.  */
       rif->flush_display (f);
@@ -3831,7 +3831,7 @@ update_frame (f, force_p, inhibit_hairy_id_p)
 
       /* Build F's desired matrix from window matrices.  */
       build_frame_matrix (f);
-      
+
       /* Update the display  */
       update_begin (f);
       paused_p = update_frame_1 (f, force_p, inhibit_hairy_id_p);
@@ -3850,7 +3850,7 @@ update_frame (f, force_p, inhibit_hairy_id_p)
 
   /* Reset flags indicating that a window should be updated.  */
   set_window_update_flags (root_window, 0);
-  
+
   display_completed = !paused_p;
   return paused_p;
 }
@@ -3870,7 +3870,7 @@ update_window_tree (w, force_p)
      int force_p;
 {
   int paused_p = 0;
-  
+
   while (w && !paused_p)
     {
       if (!NILP (w->hchild))
@@ -3922,7 +3922,7 @@ redraw_overlapped_rows (w, yb)
      int yb;
 {
   int i;
-  
+
   /* If rows overlapping others have been changed, the rows being
      overlapped have to be redrawn.  This won't draw lines that have
      already been drawn in update_window_line because overlapped_p in
@@ -3936,11 +3936,11 @@ redraw_overlapped_rows (w, yb)
        break;
       else if (row->mode_line_p)
        continue;
-      
+
       if (row->overlapped_p)
        {
          enum glyph_row_area area;
-         
+
          for (area = LEFT_MARGIN_AREA; area < LAST_AREA; ++area)
            {
              updated_row = row;
@@ -3950,7 +3950,7 @@ redraw_overlapped_rows (w, yb)
                rif->write_glyphs (row->glyphs[area], row->used[area]);
              rif->clear_end_of_line (-1);
            }
-         
+
          row->overlapped_p = 0;
        }
 
@@ -3970,7 +3970,7 @@ redraw_overlapping_rows (w, yb)
 {
   int i, bottom_y;
   struct glyph_row *row;
-  
+
   for (i = 0; i < w->current_matrix->nrows; ++i)
     {
       row = w->current_matrix->rows + i;
@@ -3979,17 +3979,17 @@ redraw_overlapping_rows (w, yb)
        break;
       else if (row->mode_line_p)
        continue;
-      
+
       bottom_y = MATRIX_ROW_BOTTOM_Y (row);
 
       if (row->overlapping_p && i > 0 && bottom_y < yb)
        {
          if (row->used[LEFT_MARGIN_AREA])
            rif->fix_overlapping_area (w, row, LEFT_MARGIN_AREA);
-  
+
          if (row->used[TEXT_AREA])
            rif->fix_overlapping_area (w, row, TEXT_AREA);
-  
+
          if (row->used[RIGHT_MARGIN_AREA])
            rif->fix_overlapping_area (w, row, RIGHT_MARGIN_AREA);
 
@@ -4078,7 +4078,7 @@ update_window (w, force_p)
         Adjust y-positions of other rows by the header line height.  */
       row = desired_matrix->rows;
       end = row + desired_matrix->nrows - 1;
-      
+
       if (row->mode_line_p)
        {
          header_line_row = row;
@@ -4103,7 +4103,7 @@ update_window (w, force_p)
         be also completely empty matrices.  */
       while (row < end && !row->enabled_p)
        ++row;
-      
+
       /* Try reusing part of the display by copying.  */
       if (row < end && !desired_matrix->no_scrolling_p)
        {
@@ -4136,7 +4136,7 @@ update_window (w, force_p)
          {
            int vpos = MATRIX_ROW_VPOS (row, desired_matrix);
            int i;
-           
+
            /* We'll have to play a little bit with when to
               detect_input_pending.  If it's done too often,
               scrolling large windows with repeated scroll-up
@@ -4163,9 +4163,9 @@ update_window (w, force_p)
 
       /* Was display preempted?  */
       paused_p = row < end;
-      
+
     set_cursor:
-      
+
       /* Fix the appearance of overlapping/overlapped rows.  */
       if (!paused_p && !w->pseudo_window_p)
        {
@@ -4174,7 +4174,7 @@ update_window (w, force_p)
              redraw_overlapped_rows (w, yb);
              redraw_overlapping_rows (w, yb);
            }
-      
+
          /* Make cursor visible at cursor position of W.  */
          set_window_cursor_after_update (w);
 
@@ -4202,7 +4202,7 @@ update_window (w, force_p)
   /* check_current_matrix_flags (w); */
   add_window_display_history (w, w->current_matrix->method, paused_p);
 #endif
-  
+
   clear_glyph_matrix (desired_matrix);
 
   return paused_p;
@@ -4248,7 +4248,7 @@ update_text_area (w, vpos)
   /* Let functions in xterm.c know what area subsequent X positions
      will be relative to.  */
   updated_area = TEXT_AREA;
-  
+
   /* If rows are at different X or Y, or rows have different height,
      or the current row is marked invalid, write the entire line.  */
   if (!current_row->enabled_p
@@ -4262,11 +4262,11 @@ update_text_area (w, vpos)
       || current_row->x != desired_row->x)
     {
       rif->cursor_to (vpos, 0, desired_row->y, desired_row->x);
-      
+
       if (desired_row->used[TEXT_AREA])
        rif->write_glyphs (desired_row->glyphs[TEXT_AREA],
                           desired_row->used[TEXT_AREA]);
-      
+
       /* Clear to end of window.  */
       rif->clear_end_of_line (-1);
       changed_p = 1;
@@ -4294,7 +4294,7 @@ update_text_area (w, vpos)
         extension actually takes place.  */
       if (MATRIX_ROW_EXTENDS_FACE_P (desired_row))
        --desired_stop_pos;
-      
+
       stop = min (current_row->used[TEXT_AREA], desired_stop_pos);
       i = 0;
       x = desired_row->x;
@@ -4304,7 +4304,7 @@ update_text_area (w, vpos)
       while (i < stop)
        {
          int can_skip_p = 1;
-         
+
          /* Skip over glyphs that both rows have in common.  These
             don't have to be written.  We can't skip if the last
             current glyph overlaps the glyph to its right.  For
@@ -4317,12 +4317,12 @@ update_text_area (w, vpos)
            {
              struct glyph *glyph = &current_row->glyphs[TEXT_AREA][i - 1];
              int left, right;
-             
+
              rif->get_glyph_overhangs (glyph, XFRAME (w->frame),
                                        &left, &right);
              can_skip_p = right == 0;
            }
-         
+
          if (can_skip_p)
            {
              while (i < stop
@@ -4347,7 +4347,7 @@ update_text_area (w, vpos)
                      != desired_row->used[TEXT_AREA]))
                {
                  int left, right;
-             
+
                  rif->get_glyph_overhangs (current_glyph, XFRAME (w->frame),
                                            &left, &right);
                  while (left > 0 && i > 0)
@@ -4358,7 +4358,7 @@ update_text_area (w, vpos)
                    }
                }
            }
-         
+
          /* Try to avoid writing the entire rest of the desired row
             by looking for a resync point.  This mainly prevents
             mode line flickering in the case the mode line is in
@@ -4395,7 +4395,7 @@ update_text_area (w, vpos)
              changed_p = 1;
            }
        }
-      
+
       /* Write the rest.  */
       if (i < desired_row->used[TEXT_AREA])
        {
@@ -4403,7 +4403,7 @@ update_text_area (w, vpos)
          rif->write_glyphs (desired_glyph, desired_row->used[TEXT_AREA] - i);
          changed_p = 1;
        }
-      
+
       /* Maybe clear to end of line.  */
       if (MATRIX_ROW_EXTENDS_FACE_P (desired_row))
        {
@@ -4427,7 +4427,7 @@ update_text_area (w, vpos)
          /* Otherwise clear to the end of the old row.  Everything
             after that position should be clear already.  */
          int x;
-         
+
          if (i >= desired_row->used[TEXT_AREA])
            rif->cursor_to (vpos, i, desired_row->y,
                            desired_row->x + desired_row->pixel_width);
@@ -4470,8 +4470,8 @@ update_window_line (w, vpos, mouse_face_overwritten_p)
      know what line height values are in effect.  */
   updated_row = desired_row;
 
-  /* A row can be completely invisible in case a desired matrix was 
-     built with a vscroll and then make_cursor_line_fully_visible shifts 
+  /* A row can be completely invisible in case a desired matrix was
+     built with a vscroll and then make_cursor_line_fully_visible shifts
      the matrix.  Make sure to make such rows current anyway, since
      we need the correct y-position, for example, in the current matrix.  */
   if (desired_row->mode_line_p
@@ -4486,7 +4486,7 @@ update_window_line (w, vpos, mouse_face_overwritten_p)
          changed_p = 1;
          update_marginal_area (w, LEFT_MARGIN_AREA, vpos);
        }
-      
+
       /* Update the display of the text area.  */
       if (update_text_area (w, vpos))
        {
@@ -4494,7 +4494,7 @@ update_window_line (w, vpos, mouse_face_overwritten_p)
          if (current_row->mouse_face_p)
            *mouse_face_overwritten_p = 1;
        }
-      
+
       /* Update display of the right margin area, if there is one.  */
       if (!desired_row->full_width_p
          && !NILP (w->right_margin_width))
@@ -4502,7 +4502,7 @@ update_window_line (w, vpos, mouse_face_overwritten_p)
          changed_p = 1;
          update_marginal_area (w, RIGHT_MARGIN_AREA, vpos);
        }
-      
+
       /* Draw truncation marks etc.  */
       if (!current_row->enabled_p
          || desired_row->y != current_row->y
@@ -4518,7 +4518,7 @@ update_window_line (w, vpos, mouse_face_overwritten_p)
              != MATRIX_ROW_CONTINUATION_LINE_P (current_row)))
        rif->after_update_window_line_hook (desired_row);
     }
-  
+
   /* Update current_row from desired_row.  */
   make_current (w->desired_matrix, w->current_matrix, vpos);
   updated_row = NULL;
@@ -4538,7 +4538,7 @@ set_window_cursor_after_update (w)
 
   /* Not intended for frame matrix updates.  */
   xassert (FRAME_WINDOW_P (f));
-  
+
   if (cursor_in_echo_area
       && !NILP (echo_area_buffer[0])
       /* If we are showing a message instead of the mini-buffer,
@@ -4573,7 +4573,7 @@ set_window_cursor_after_update (w)
                last_row = row;
              ++row;
            }
-         
+
          if (last_row)
            {
              struct glyph *start = last_row->glyphs[TEXT_AREA];
@@ -4581,7 +4581,7 @@ set_window_cursor_after_update (w)
 
              while (last > start && last->charpos < 0)
                --last;
-             
+
              for (glyph = start; glyph < last; ++glyph)
                {
                  cx += glyph->pixel_width;
@@ -4629,7 +4629,7 @@ set_window_update_flags (w, on_p)
 
       w = NILP (w->next) ? 0 : XWINDOW (w->next);
     }
-}    
+}
 
 
 \f
@@ -4643,16 +4643,16 @@ struct row_entry
 {
   /* Number of occurrences of this row in desired and current matrix.  */
   int old_uses, new_uses;
-    
+
   /* Vpos of row in new matrix.  */
   int new_line_number;
 
   /* Bucket index of this row_entry in the hash table row_table.  */
   int bucket;
-    
+
   /* The row described by this entry.  */
   struct glyph_row *row;
-    
+
   /* Hash collision chain.  */
   struct row_entry *next;
 };
@@ -4700,11 +4700,11 @@ add_row_entry (w, row)
 {
   struct row_entry *entry;
   int i = row->hash % row_table_size;
-  
+
   entry = row_table[i];
   while (entry && !row_equal_p (w, entry->row, row, 1))
     entry = entry->next;
-  
+
   if (entry == NULL)
     {
       entry = row_entry_pool + row_entry_idx++;
@@ -4781,7 +4781,7 @@ scrolling_window (w, header_line_p)
   /* Give up if some rows in the desired matrix are not enabled.  */
   if (!MATRIX_ROW (desired_matrix, i)->enabled_p)
     return -1;
-  
+
   first_old = first_new = i;
 
   /* Set last_new to the index + 1 of the last enabled row in the
@@ -4833,14 +4833,14 @@ scrolling_window (w, header_line_p)
     return 0;
 
   /* Reallocate vectors, tables etc. if necessary.  */
-  
+
   if (current_matrix->nrows > old_lines_size)
     {
       old_lines_size = current_matrix->nrows;
       nbytes = old_lines_size * sizeof *old_lines;
       old_lines = (struct row_entry **) xrealloc (old_lines, nbytes);
     }
-  
+
   if (desired_matrix->nrows > new_lines_size)
     {
       new_lines_size = desired_matrix->nrows;
@@ -4878,7 +4878,7 @@ scrolling_window (w, header_line_p)
 
   /* Add rows from the current and desired matrix to the hash table
      row_hash_table to be able to find equal ones quickly.  */
-  
+
   for (i = first_old; i < last_old; ++i)
     {
       if (MATRIX_ROW (current_matrix, i)->enabled_p)
@@ -4927,8 +4927,8 @@ scrolling_window (w, header_line_p)
               && old_lines[j] == new_lines[k])
          {
            int h = MATRIX_ROW (current_matrix, j)->height;
-           --run->current_vpos; 
-           --run->desired_vpos; 
+           --run->current_vpos;
+           --run->desired_vpos;
            ++run->nrows;
            run->height += h;
            run->desired_y -= h;
@@ -4944,7 +4944,7 @@ scrolling_window (w, header_line_p)
               && old_lines[j] == new_lines[k])
          {
            int h = MATRIX_ROW (current_matrix, j)->height;
-           ++run->nrows; 
+           ++run->nrows;
            run->height += h;
            ++j, ++k;
          }
@@ -4994,7 +4994,7 @@ scrolling_window (w, header_line_p)
            for (j = i + 1; j < nruns; ++j)
              {
                struct run *p = runs[j];
-               
+
                if ((p->current_y >= r->desired_y
                     && p->current_y < r->desired_y + r->height)
                    || (p->current_y + p->height >= r->desired_y
@@ -5126,7 +5126,7 @@ update_frame_1 (f, force_p, inhibit_id_p)
          update_frame_line (f, i);
        }
     }
-  
+
   pause = (i < FRAME_HEIGHT (f) - 1) ? i : 0;
 
   /* Now just clean up termcap drivers and set cursor, etc.  */
@@ -5161,11 +5161,11 @@ update_frame_1 (f, force_p, inhibit_id_p)
                 is several lines high, find the last line that has
                 any text on it.  */
              row = FRAME_HEIGHT (f);
-             do 
+             do
                {
                  --row;
                  col = 0;
-                 
+
                  if (MATRIX_ROW_ENABLED_P (current_matrix, row))
                    {
                      /* Frame rows are filled up with spaces that
@@ -5178,7 +5178,7 @@ update_frame_1 (f, force_p, inhibit_id_p)
                      while (last > start
                             && (last - 1)->charpos < 0)
                        --last;
-                     
+
                      col = last - start;
                    }
                }
@@ -5219,7 +5219,7 @@ update_frame_1 (f, force_p, inhibit_id_p)
 
              if (INTEGERP (w->left_margin_width))
                x += XFASTINT (w->left_margin_width);
-             
+
              /* x = max (min (x, FRAME_WINDOW_WIDTH (f) - 1), 0); */
              cursor_to (y, x);
            }
@@ -5334,7 +5334,7 @@ count_blanks (r, len)
      int len;
 {
   int i;
-  
+
   for (i = 0; i < len; ++i)
     if (!CHAR_GLYPH_SPACE_P (r[i]))
       break;
@@ -5353,12 +5353,12 @@ count_match (str1, end1, str2, end2)
 {
   struct glyph *p1 = str1;
   struct glyph *p2 = str2;
-  
+
   while (p1 < end1
         && p2 < end2
         && GLYPH_CHAR_AND_FACE_EQUAL_P (p1, p2))
     ++p1, ++p2;
-  
+
   return p1 - str1;
 }
 
@@ -5403,7 +5403,7 @@ update_frame_line (f, vpos)
     {
       obody = MATRIX_ROW_GLYPH_START (current_matrix, vpos);
       olen = current_row->used[TEXT_AREA];
-      
+
       /* Ignore trailing spaces, if we can.  */
       if (!write_spaces_p)
        while (olen > 0 && CHAR_GLYPH_SPACE_P (obody[olen-1]))
@@ -5438,7 +5438,7 @@ update_frame_line (f, vpos)
           cursor_to (vpos, 0);
          write_glyphs (nbody, nlen);
        }
-      
+
       /* Don't call clear_end_of_line if we already wrote the whole
         line.  The cursor will not be at the right margin in that
         case but in the line below.  */
@@ -5451,7 +5451,7 @@ update_frame_line (f, vpos)
        /* Make sure we are in the right row, otherwise cursor movement
           with cmgoto might use `ch' in the wrong row.  */
        cursor_to (vpos, 0);
-      
+
       make_current (desired_matrix, current_matrix, vpos);
       return;
     }
@@ -5480,8 +5480,8 @@ update_frame_line (f, vpos)
                         || !GLYPH_EQUAL_P (nbody + j, obody + j)
                         || CHAR_GLYPH_PADDING_P (nbody[j])))
                ++j;
-                    
-             /* Output this run of non-matching chars.  */ 
+
+             /* Output this run of non-matching chars.  */
              cursor_to (vpos, i);
              write_glyphs (nbody + i, j - i);
              i = j - 1;
@@ -5641,17 +5641,17 @@ update_frame_line (f, vpos)
          int del;
 
          cursor_to (vpos, nsp + begmatch);
-         
+
          /* Calculate columns we can actually overwrite.  */
          while (CHAR_GLYPH_PADDING_P (nbody[nsp + begmatch + out]))
            out--;
          write_glyphs (nbody + nsp + begmatch, out);
-         
+
          /* If we left columns to be overwritten, we must delete them.  */
          del = olen - tem - out;
          if (del > 0)
            delete_glyphs (del);
-         
+
          /* At last, we insert columns not yet written out.  */
          insert_glyphs (nbody + nsp + begmatch + out, nlen - olen + del);
          olen = nlen;
@@ -5705,11 +5705,11 @@ buffer_posn_from_coords (w, x, y, object, pos)
   CHARPOS (startp) = min (ZV, max (BEGV, CHARPOS (startp)));
   BYTEPOS (startp) = min (ZV_BYTE, max (BEGV_BYTE, BYTEPOS (startp)));
   start_display (&it, w, startp);
-  
+
   left_area_width = WINDOW_DISPLAY_LEFT_AREA_PIXEL_WIDTH (w);
   move_it_to (&it, -1, *x + it.first_visible_x - left_area_width, *y, -1,
              MOVE_TO_X | MOVE_TO_Y);
-  
+
   *x = it.current_x - it.first_visible_x + left_area_width;
   *y = it.current_y;
   current_buffer = old_current_buffer;
@@ -5873,7 +5873,7 @@ do_pending_window_change (safe)
   /* If window_change_signal should have run before, run it now.  */
   if (redisplaying_p && !safe)
     return;
-  
+
   while (delayed_size_change)
     {
       Lisp_Object tail, frame;
@@ -5895,7 +5895,7 @@ do_pending_window_change (safe)
 
 
 /* Change the frame height and/or width.  Values may be given as zero to
-   indicate no change is to take place. 
+   indicate no change is to take place.
 
    If DELAY is non-zero, then assume we're being called from a signal
    handler, and queue the change for later - perhaps the next
@@ -6017,7 +6017,7 @@ change_frame_size_1 (f, newheight, newwidth, pretend, delay, safe)
   {
     struct window *w = XWINDOW (FRAME_SELECTED_WINDOW (f));
     int text_area_x, text_area_y, text_area_width, text_area_height;
-    
+
     window_box (w, TEXT_AREA, &text_area_x, &text_area_y, &text_area_width,
                &text_area_height);
     if (w->cursor.x >= text_area_x + text_area_width)
@@ -6190,14 +6190,14 @@ Emacs was built without floating point support.
 #ifdef VMS
   sys_sleep (sec);
 #else /* not VMS */
-/* The reason this is done this way 
+/* The reason this is done this way
     (rather than defined (H_S) && defined (H_T))
    is because the VMS preprocessor doesn't grok `defined'.  */
 #ifdef HAVE_SELECT
   EMACS_GET_TIME (end_time);
   EMACS_SET_SECS_USECS (timeout, sec, usec);
   EMACS_ADD_TIME (end_time, end_time, timeout);
+
   while (1)
     {
       EMACS_GET_TIME (timeout);
@@ -6210,7 +6210,7 @@ Emacs was built without floating point support.
   sleep (sec);
 #endif /* HAVE_SELECT */
 #endif /* not VMS */
-  
+
   immediate_quit = 0;
 #endif /* no subprocesses */
 
@@ -6439,7 +6439,7 @@ init_display ()
       display_arg = (display != 0 && *display != 0);
     }
 
-  if (!inhibit_window_system && display_arg 
+  if (!inhibit_window_system && display_arg
 #ifndef CANNOT_DUMP
      && initialized
 #endif
@@ -6463,7 +6463,7 @@ init_display ()
 #endif /* HAVE_X_WINDOWS */
 
 #ifdef HAVE_NTGUI
-  if (!inhibit_window_system) 
+  if (!inhibit_window_system)
     {
       Vwindow_system = intern ("w32");
       Vwindow_system_version = make_number (1);
@@ -6473,7 +6473,7 @@ init_display ()
 #endif /* HAVE_NTGUI */
 
 #ifdef MAC_OS
-  if (!inhibit_window_system) 
+  if (!inhibit_window_system)
     {
       Vwindow_system = intern ("mac");
       Vwindow_system_version = make_number (1);
@@ -6518,11 +6518,11 @@ For types not defined in VMS, use  define emacs_term \"TYPE\".\n\
        *p = tolower (*p);
 
     terminal_type = new;
-  }    
+  }
 #endif /* VMS */
 
   term_init (terminal_type);
-  
+
   {
     struct frame *sf = SELECTED_FRAME ();
     int width = FRAME_WINDOW_WIDTH (sf);
@@ -6591,7 +6591,7 @@ don't show a cursor.  */)
        window = selected_window;
       else
        CHECK_WINDOW (window);
-      
+
       XWINDOW (window)->cursor_off_p = NILP (show);
     }
 
@@ -6607,14 +6607,14 @@ WINDOW nil or omitted means report on the selected window.  */)
      Lisp_Object window;
 {
   struct window *w;
-  
+
   if (NILP (window))
     window = selected_window;
   else
     CHECK_WINDOW (window);
-  
+
   w = XWINDOW (window);
-  return w->cursor_off_p ? Qnil : Qt;    
+  return w->cursor_off_p ? Qnil : Qt;
 }
 
 \f
@@ -6652,34 +6652,34 @@ syms_of_display ()
              doc: /* *The output baud rate of the terminal.
 On most systems, changing this value will affect the amount of padding
 and the other strategic decisions made during redisplay.  */);
-  
+
   DEFVAR_BOOL ("inverse-video", &inverse_video,
               doc: /* *Non-nil means invert the entire frame display.
 This means everything is in inverse video which otherwise would not be.  */);
-  
+
   DEFVAR_BOOL ("visible-bell", &visible_bell,
               doc: /* *Non-nil means try to flash the frame to represent a bell.
 
 See also `ring-bell-function'.  */);
-  
+
   DEFVAR_BOOL ("no-redraw-on-reenter", &no_redraw_on_reenter,
               doc: /* *Non-nil means no need to redraw entire frame after suspending.
 A non-nil value is useful if the terminal can automatically preserve
 Emacs's frame display when you reenter Emacs.
 It is up to you to set this variable if your terminal can do that.  */);
-  
+
   DEFVAR_LISP ("window-system", &Vwindow_system,
               doc: /* Name of window system that Emacs is displaying through.
 The value is a symbol--for instance, `x' for X windows.
 The value is nil if Emacs is using a text-only terminal.  */);
-  
+
   DEFVAR_LISP ("window-system-version", &Vwindow_system_version,
               doc: /* The version number of the window system in use.
 For X windows, this is 10 or 11.  */);
-  
+
   DEFVAR_BOOL ("cursor-in-echo-area", &cursor_in_echo_area,
               doc: /* Non-nil means put cursor in minibuffer, at end of any message there.  */);
-  
+
   DEFVAR_LISP ("glyph-table", &Vglyph_table,
               doc: /* Table defining how to output a glyph code to the frame.
 If not nil, this is a vector indexed by glyph code to define the glyph.
index 473ba91102301b3bf0d2aa5f0eb1609b50eaec14..3a53dc5174eb954c3bc4a355839483a13cbf27e0 100644 (file)
--- a/src/doc.c
+++ b/src/doc.c
@@ -151,7 +151,7 @@ get_doc_string (filepos, unibyte, definition)
 
   if (!STRINGP (file))
     return Qnil;
-    
+
   /* Put the file name in NAME as a C string.
      If it is relative, combine it with Vdoc_directory.  */
 
@@ -375,12 +375,12 @@ string is passed through `substitute-command-keys'.  */)
  documentation:
 
   doc = Qnil;
-  
+
   if (SYMBOLP (function)
       && (tem = Fget (function, Qfunction_documentation),
          !NILP (tem)))
     return Fdocumentation_property (function, Qfunction_documentation, raw);
-  
+
   fun = Findirect_function (function);
   if (SUBRP (fun))
     {
@@ -487,7 +487,7 @@ aren't strings.  */)
   Lisp_Object tem;
 
  documentation_property:
-  
+
   tem = Fget (symbol, prop);
   if (EQ (tem, make_number (0)))
     tem = Qnil;
@@ -512,7 +512,7 @@ aren't strings.  */)
   else if (!STRINGP (tem))
     /* Feval protects its argument.  */
     tem = Feval (tem);
-  
+
   if (NILP (raw) && STRINGP (tem))
     tem = Fsubstitute_command_keys (tem);
   return tem;
@@ -918,7 +918,7 @@ syms_of_doc ()
 {
   Qfunction_documentation = intern ("function-documentation");
   staticpro (&Qfunction_documentation);
-  
+
   DEFVAR_LISP ("internal-doc-file-name", &Vdoc_file_name,
               doc: /* Name of file containing documentation strings of built-in symbols.  */);
   Vdoc_file_name = Qnil;
index ac23259de4fbf703cdf77f3168d3a2371ea2469a..17bd48410021aeea9040384fdb103125b9794549 100644 (file)
@@ -348,7 +348,7 @@ _start ()
 {
 #ifdef sun
   finitfp_();
-#endif     
+#endif
 /* On 68000, _start pushes a6 onto stack  */
   start1 ();
 }
index d5293e170c8e63fe2d3e5ad45c35340172a610b9..0c012514f93aa10d214a4670989bfb08f272aa70 100644 (file)
@@ -289,16 +289,16 @@ region_limit (beginningp)
 {
   extern Lisp_Object Vmark_even_if_inactive; /* Defined in callint.c. */
   Lisp_Object m;
-  
+
   if (!NILP (Vtransient_mark_mode)
       && NILP (Vmark_even_if_inactive)
       && NILP (current_buffer->mark_active))
     Fsignal (Qmark_inactive, Qnil);
-  
+
   m = Fmarker_position (current_buffer->mark);
   if (NILP (m))
     error ("The mark is not set now, so there is no region");
-  
+
   if ((PT < XFASTINT (m)) == beginningp)
     m = make_number (PT);
   return m;
@@ -456,7 +456,7 @@ get_pos_property (position, prop, object)
                }
            }
        }
-      
+
     }
 
   { /* Now check the text-properties.  */
@@ -881,7 +881,7 @@ save_excursion_restore (info)
   /* visible */
   info = XCDR (info);
   visible_p = !NILP (XCAR (info));
-  
+
 #if 0 /* We used to make the current buffer visible in the selected window
         if that was true previously.  That avoids some anomalies.
         But it creates others, and it wasn't documented, and it is simpler
@@ -2952,7 +2952,7 @@ save_restriction_restore (data)
                             clip_to_bounds (beg->charpos, pt, end->charpos),
                             clip_to_bounds (beg->bytepos, BUF_PT_BYTE (buf),
                                             end->bytepos));
-         
+
          buf->clip_changed = 1; /* Remember that the narrowing changed. */
        }
     }
index 5cd50271292fb0fc36b74346fa234bfdf8d7963f..9d63da194a87c4e96a87059ffb8606564c0fc5fc 100644 (file)
@@ -234,13 +234,13 @@ call_debugger (arg)
   int debug_while_redisplaying;
   int count = SPECPDL_INDEX ();
   Lisp_Object val;
-  
+
   if (lisp_eval_depth + 20 > max_lisp_eval_depth)
     max_lisp_eval_depth = lisp_eval_depth + 20;
-  
+
   if (specpdl_size + 40 > max_specpdl_size)
     max_specpdl_size = specpdl_size + 40;
-  
+
 #ifdef HAVE_X_WINDOWS
   if (display_hourglass_p)
     cancel_hourglass ();
@@ -261,7 +261,7 @@ call_debugger (arg)
         redisplay, which necessarily leads to display problems.  */
   specbind (Qinhibit_eval_during_redisplay, Qt);
 #endif
-  
+
   val = apply1 (Vdebugger, arg);
 
   /* Interrupting redisplay and resuming it later is not safe under
@@ -535,7 +535,7 @@ usage: (setq SYM VAL SYM VAL ...)  */)
   UNGCPRO;
   return val;
 }
-     
+
 DEFUN ("quote", Fquote, Squote, 1, UNEVALLED, 0,
        doc: /* Return the argument, without evaluating it.  `(quote x)' yields `x'.
 usage: (quote ARG)  */)
@@ -544,7 +544,7 @@ usage: (quote ARG)  */)
 {
   return Fcar (args);
 }
-     
+
 DEFUN ("function", Ffunction, Sfunction, 1, UNEVALLED, 0,
        doc: /* Like `quote', but preferred for objects which are functions.
 In byte compilation, `function' causes its argument to be compiled.
@@ -614,7 +614,7 @@ interactive_p (exclude_subrs_p)
   fun = Findirect_function (*btp->function);
   if (exclude_subrs_p && SUBRP (fun))
     return 0;
-  
+
   /* btp points to the frame of a Lisp function that called interactive-p.
      Return t if that function was called interactively.  */
   if (btp && btp->next && EQ (*btp->next->function, Qcall_interactively))
@@ -694,7 +694,7 @@ usage: (defmacro NAME ARGLIST [DOCSTRING] [DECL] BODY...)  */)
          call2 (Vmacro_declaration_function, fn_name, Fcar (tail));
          UNGCPRO;
        }
-      
+
       tail = Fcdr (tail);
     }
 
@@ -703,7 +703,7 @@ usage: (defmacro NAME ARGLIST [DOCSTRING] [DECL] BODY...)  */)
   else
     tail = Fcons (lambda_list, Fcons (doc, tail));
   defn = Fcons (Qmacro, Fcons (Qlambda, tail));
-  
+
   if (!NILP (Vpurify_flag))
     defn = Fpurecopy (defn);
   if (CONSP (XSYMBOL (fn_name)->function)
@@ -835,7 +835,7 @@ value of `standard-value' or of `custom-autoload' on its property list).  */)
      Lisp_Object variable;
 {
   Lisp_Object documentation;
-  
+
   if (!SYMBOLP (variable))
       return Qnil;
 
@@ -856,7 +856,7 @@ value of `standard-value' or of `custom-autoload' on its property list).  */)
       || (!NILP (Fget (variable, intern ("custom-autoload")))))
     return Qt;
   return Qnil;
-}  
+}
 \f
 DEFUN ("let*", FletX, SletX, 1, UNEVALLED, 0,
        doc: /* Bind variables according to VARLIST then eval BODY.
@@ -1168,7 +1168,7 @@ unwind_to_catch (catch, value)
 #endif
   backtrace_list = catch->backlist;
   lisp_eval_depth = catch->lisp_eval_depth;
-  
+
   _longjmp (catch->jmp, 1);
 }
 
@@ -1207,7 +1207,7 @@ usage: (unwind-protect BODYFORM UNWINDFORMS...)  */)
 
   record_unwind_protect (0, Fcdr (args));
   val = Feval (Fcar (args));
-  return unbind_to (count, val);  
+  return unbind_to (count, val);
 }
 \f
 /* Chain of condition handlers currently in effect.
@@ -1288,7 +1288,7 @@ usage: (condition-case VAR BODYFORM HANDLERS...)  */)
     }
   c.next = catchlist;
   catchlist = &c;
-  
+
   h.var = var;
   h.handler = handlers;
   h.next = handlerlist;
@@ -1486,7 +1486,7 @@ See also the function `condition-case'.  */)
   if (display_hourglass_p)
     cancel_hourglass ();
 #endif
-#endif 
+#endif
 
   /* This hook is used by edebug.  */
   if (! NILP (Vsignal_hook_function)
@@ -1512,13 +1512,13 @@ See also the function `condition-case'.  */)
   for (; handlerlist; handlerlist = handlerlist->next)
     {
       register Lisp_Object clause;
-      
+
       if (lisp_eval_depth + 20 > max_lisp_eval_depth)
        max_lisp_eval_depth = lisp_eval_depth + 20;
-  
+
       if (specpdl_size + 40 > max_specpdl_size)
        max_specpdl_size = specpdl_size + 40;
-  
+
       clause = find_handler_clause (handlerlist->handler, conditions,
                                    error_symbol, data, &debugger_value);
 
@@ -1608,7 +1608,7 @@ skip_debugger (conditions, data)
              error_message = Ferror_message_string (data);
              first_string = 0;
            }
-         
+
          if (fast_string_match (XCAR (tail), error_message) >= 0)
            return 1;
        }
@@ -1933,7 +1933,7 @@ do_autoload (fundef, funname)
 
   /* Preserve the match data.  */
   record_unwind_protect (Fset_match_data, Fmatch_data (Qnil, Qnil));
-  
+
   /* Value saved here is to be restored into Vautoload_queue.  */
   record_unwind_protect (un_autoload, Vautoload_queue);
   Vautoload_queue = Qt;
@@ -1981,7 +1981,7 @@ DEFUN ("eval", Feval, Seval, 1, 1, 0,
 
   if (handling_signal)
     abort ();
-  
+
   if (SYMBOLP (form))
     return Fsymbol_value (form);
   if (!CONSP (form))
@@ -2162,7 +2162,7 @@ DEFUN ("eval", Feval, Seval, 1, 1, 0,
 
 #ifdef HAVE_CARBON
   mac_check_for_quit_char();
-#endif  
+#endif
   return val;
 }
 \f
@@ -2185,7 +2185,7 @@ usage: (apply FUNCTION &rest ARGUMENTS)  */)
   funcall_args = 0;
   spread_arg = args [nargs - 1];
   CHECK_LIST (spread_arg);
-  
+
   numargs = XINT (Flength (spread_arg));
 
   if (numargs == 0)
@@ -2280,7 +2280,7 @@ usage: (run-hooks &rest HOOKS)  */)
 
   return Qnil;
 }
-      
+
 DEFUN ("run-hook-with-args", Frun_hook_with_args,
        Srun_hook_with_args, 1, MANY, 0,
        doc: /* Run HOOK with the specified arguments ARGS.
@@ -2523,7 +2523,7 @@ call1 (fn, arg1)
 {
   struct gcpro gcpro1;
 #ifdef NO_ARG_ARRAY
-  Lisp_Object args[2];  
+  Lisp_Object args[2];
 
   args[0] = fn;
   args[1] = arg1;
@@ -2779,7 +2779,7 @@ usage: (funcall FUNCTION &rest ARGUMENTS)  */)
        default:
 
          /* If a subr takes more than 8 arguments without using MANY
-            or UNEVALLED, we need to extend this function to support it. 
+            or UNEVALLED, we need to extend this function to support it.
             Until this is done, there is no way to call the function.  */
          abort ();
        }
@@ -2887,11 +2887,11 @@ funcall_lambda (fun, nargs, arg_vector)
   for (; CONSP (syms_left); syms_left = XCDR (syms_left))
     {
       QUIT;
-      
+
       next = XCAR (syms_left);
       while (!SYMBOLP (next))
        next = Fsignal (Qinvalid_function, Fcons (fun, Qnil));
-      
+
       if (EQ (next, Qand_rest))
        rest = 1;
       else if (EQ (next, Qand_optional))
@@ -2928,7 +2928,7 @@ funcall_lambda (fun, nargs, arg_vector)
                        AREF (fun, COMPILED_CONSTANTS),
                        AREF (fun, COMPILED_STACK_DEPTH));
     }
-  
+
   return unbind_to (count, val);
 }
 
@@ -3006,7 +3006,7 @@ specbind (symbol, value)
   else
     {
       Lisp_Object valcontents;
-      
+
       ovalue = find_symbol_value (symbol);
       specpdl_ptr->func = 0;
       specpdl_ptr->old_value = ovalue;
@@ -3020,7 +3020,7 @@ specbind (symbol, value)
          Lisp_Object where, current_buffer;
 
          current_buffer = Fcurrent_buffer ();
-         
+
          /* For a local variable, record both the symbol and which
             buffer's or frame's value we are saving.  */
          if (!NILP (Flocal_variable_p (symbol, Qnil)))
@@ -3112,7 +3112,7 @@ unbind_to (count, value)
            Fset_default (symbol, specpdl_ptr->old_value);
          else if (BUFFERP (where))
            set_internal (symbol, specpdl_ptr->old_value, XBUFFER (where), 1);
-         else 
+         else
            set_internal (symbol, specpdl_ptr->old_value, NULL, 1);
        }
       else
@@ -3126,7 +3126,7 @@ unbind_to (count, value)
            set_internal (specpdl_ptr->symbol, specpdl_ptr->old_value, 0, 1);
        }
     }
-  
+
   if (NILP (Vquit_flag) && quitf)
     Vquit_flag = Qt;
 
@@ -3300,7 +3300,7 @@ before making `inhibit-quit' nil.  */);
 
   Qdeclare = intern ("declare");
   staticpro (&Qdeclare);
-  
+
   /* Note that the process handling also uses Qexit, but we don't want
      to staticpro it twice, so we just do it here.  */
   Qexit = intern ("exit");
index 33de9a4e7dbeeae3de84e317d9a231ce47513924..bcad75199cd2a4883f03b8ccffe6309a2a61096b 100644 (file)
@@ -80,14 +80,14 @@ Lisp_Object Vtemporary_file_directory;
 #ifndef WTMP_FILE
 #define WTMP_FILE "/var/log/wtmp"
 #endif
-  
+
 /* The strategy: to lock a file FN, create a symlink .#FN in FN's
    directory, with link data `user@host.pid'.  This avoids a single
    mount (== failure) point for lock files.
 
    When the host in the lock data is the current host, we can check if
    the pid is valid with kill.
-   
+
    Otherwise, we could look at a separate file that maps hostnames to
    reboot times to see if the remote pid can possibly be valid, since we
    don't want Emacs to have to communicate via pipes or sockets or
@@ -105,15 +105,15 @@ Lisp_Object Vtemporary_file_directory;
    files to be useful on old systems lacking symlinks, nowadays
    virtually all such systems are probably single-user anyway, so it
    didn't seem worth the complication.
-   
+
    Similarly, we don't worry about a possible 14-character limit on
    file names, because those are all the same systems that don't have
    symlinks.
-   
+
    This is compatible with the locking scheme used by Interleaf (which
    has contributed this implementation for Emacs), and was designed by
    Ethan Jacobson, Kimbo Mundy, and others.
-   
+
    --karl@cs.umb.edu/karl@hq.ileaf.com.  */
 
 \f
@@ -344,7 +344,7 @@ fill_in_lock_file_name (lockfile, fn)
      do something to support 14-character-max file names.  */
   for (p = lockfile + strlen (lockfile); p != lockfile && *p != '/'; p--)
     p[2] = *p;
-  
+
   /* Insert the `.#'.  */
   p[1] = '.';
   p[2] = '#';
@@ -368,7 +368,7 @@ fill_in_lock_file_name (lockfile, fn)
 
 static int
 lock_file_1 (lfname, force)
-     char *lfname; 
+     char *lfname;
      int force;
 {
   register int err;
@@ -394,7 +394,7 @@ lock_file_1 (lfname, force)
             (unsigned long) getpid (), (unsigned long) boot_time);
   else
     sprintf (lock_info_str, "%s@%s.%lu", user_name, host_name,
-            (unsigned long) getpid ());    
+            (unsigned long) getpid ());
 
   err = symlink (lock_info_str, lfname);
   if (errno == EEXIST && force)
@@ -448,7 +448,7 @@ current_lock_owner (owner, lfname)
 #endif
     }
   while (len >= bufsize);
-  
+
   /* If nonexistent lock file, all is well; otherwise, got strange error. */
   if (len == -1)
     {
@@ -458,7 +458,7 @@ current_lock_owner (owner, lfname)
 
   /* Link info exists, so `len' is its length.  Null terminate.  */
   lfinfo[len] = 0;
-  
+
   /* Even if the caller doesn't want the owner info, we still have to
      read it to determine return value, so allocate it.  */
   if (!owner)
@@ -466,7 +466,7 @@ current_lock_owner (owner, lfname)
       owner = (lock_info_type *) alloca (sizeof (lock_info_type));
       local_owner = 1;
     }
-  
+
   /* Parse USER@HOST.PID:BOOT_TIME.  If can't parse, return -1.  */
   /* The USER is everything before the first @.  */
   at = index (lfinfo, '@');
@@ -480,7 +480,7 @@ current_lock_owner (owner, lfname)
   owner->user = (char *) xmalloc (len + 1);
   strncpy (owner->user, lfinfo, len);
   owner->user[len] = 0;
-  
+
   /* The PID is everything from the last `.' to the `:'.  */
   owner->pid = atoi (dot + 1);
   colon = dot;
@@ -500,7 +500,7 @@ current_lock_owner (owner, lfname)
 
   /* We're done looking at the link info.  */
   xfree (lfinfo);
-  
+
   /* On current host?  */
   if (STRINGP (Fsystem_name ())
       && strcmp (owner->host, SDATA (Fsystem_name ())) == 0)
@@ -524,7 +524,7 @@ current_lock_owner (owner, lfname)
          here's where we'd do it.  */
       ret = 1;
     }
-  
+
   /* Avoid garbage.  */
   if (local_owner || ret <= 0)
     {
@@ -543,7 +543,7 @@ current_lock_owner (owner, lfname)
 static int
 lock_if_free (clasher, lfname)
      lock_info_type *clasher;
-     register char *lfname; 
+     register char *lfname;
 {
   while (lock_file_1 (lfname, 0) == 0)
     {
@@ -551,7 +551,7 @@ lock_if_free (clasher, lfname)
 
       if (errno != EEXIST)
        return -1;
-      
+
       locker = current_lock_owner (clasher, lfname);
       if (locker == 2)
         {
@@ -634,7 +634,7 @@ lock_file (fn)
   sprintf (locker, "%s@%s (pid %lu)", lock_info.user, lock_info.host,
            lock_info.pid);
   FREE_LOCK_INFO (lock_info);
-  
+
   attack = call2 (intern ("ask-user-about-lock"), fn, build_string (locker));
   if (!NILP (attack))
     /* User says take the lock */
@@ -691,7 +691,7 @@ or else nothing is done if current buffer isn't visiting a file.  */)
   if (SAVE_MODIFF < MODIFF
       && !NILP (file))
     lock_file (file);
-  return Qnil;    
+  return Qnil;
 }
 
 DEFUN ("unlock-buffer", Funlock_buffer, Sunlock_buffer,
index 08405c307a7c3d21d2eb976c2b0d08bd4041c7d8..b7d6412fdbf272b91941d2ac3802a528c66e1340 100644 (file)
@@ -468,7 +468,7 @@ DEFUN ("expt", Fexpt, Sexpt, 2, 2, 0,
       x = XINT (arg1);
       y = XINT (arg2);
       acc = 1;
-      
+
       if (y < 0)
        {
          if (x == 1)
@@ -992,7 +992,7 @@ float_error (signo)
 #endif /* FLOAT_CATCH_SIGILL */
 
 #ifdef HAVE_MATHERR
-int 
+int
 matherr (x)
      struct exception *x;
 {
@@ -1026,7 +1026,7 @@ init_floatfns ()
 {
 #ifdef FLOAT_CATCH_SIGILL
   signal (SIGILL, float_error);
-#endif 
+#endif
   in_float = 0;
 }
 
index 1a920ac69ec2f9eb158c6a0b8d102cfaacb9e50a..634711110bc829b8a212844b1f1ff5f5ef482eb7 100644 (file)
@@ -97,7 +97,7 @@ struct font_info
      `ascent'.  In other words, the value indicates how many bits
      higher we should draw a character of the font than normal ASCII
      text for a better looking.
-       
+
      We also have to consider the fact that the concept of `baseline'
      differs among languages to which each character belongs.  For
      instance, baseline should be at the bottom most position of all
@@ -195,7 +195,7 @@ EXFUN (Fquery_fontset, 2);
 extern Lisp_Object list_fontsets P_ ((struct frame *, Lisp_Object, int));
 
 extern Lisp_Object Qfontset;
-extern Lisp_Object Vuse_default_ascent; 
+extern Lisp_Object Vuse_default_ascent;
 extern Lisp_Object Vignore_relative_composition;
 extern Lisp_Object Valternate_fontname_alist;
 extern Lisp_Object Vfontset_alias_alist;
index b8fb2e1546d4672360c59fa9a8f48d3b37a9ebaa..d3d84ff139404249b9833a7581762fafc96f5e7c 100644 (file)
@@ -92,7 +92,7 @@ set_menu_bar_lines_1 (window, n)
   XSETFASTINT (w->last_modified, 0);
   XSETFASTINT (w->top, XFASTINT (w->top) + n);
   XSETFASTINT (w->height, XFASTINT (w->height) - n);
-  
+
   if (INTEGERP (w->orig_top))
     XSETFASTINT (w->orig_top, XFASTINT (w->orig_top) + n);
   if (INTEGERP (w->orig_height))
@@ -367,7 +367,7 @@ make_frame_without_minibuffer (mini_window, kb, display)
            call1 (intern ("make-initial-minibuffer-frame"), display);
           UNGCPRO;
        }
-   
+
       mini_window = XFRAME (kb->Vdefault_minibuffer_frame)->minibuffer_window;
     }
 
@@ -576,7 +576,7 @@ do_switch_frame (frame, track, for_deletion)
      int track, for_deletion;
 {
   struct frame *sf = SELECTED_FRAME ();
-  
+
   /* If FRAME is a switch-frame event, extract the frame we should
      switch to.  */
   if (CONSP (frame)
@@ -774,7 +774,7 @@ If omitted, FRAME defaults to the currently selected frame.  */)
      Lisp_Object frame;
 {
   Lisp_Object window;
-  
+
   if (NILP (frame))
     window = SELECTED_FRAME ()->root_window;
   else
@@ -782,7 +782,7 @@ If omitted, FRAME defaults to the currently selected frame.  */)
       CHECK_LIVE_FRAME (frame);
       window = XFRAME (frame)->root_window;
     }
-  
+
   return window;
 }
 
@@ -794,7 +794,7 @@ If omitted, FRAME defaults to the currently selected frame.  */)
      Lisp_Object frame;
 {
   Lisp_Object window;
-  
+
   if (NILP (frame))
     window = SELECTED_FRAME ()->selected_window;
   else
@@ -816,7 +816,7 @@ If FRAME is the selected frame, this makes WINDOW the selected window.  */)
 {
   if (NILP (frame))
     frame = selected_frame;
-  
+
   CHECK_LIVE_FRAME (frame);
   CHECK_LIVE_WINDOW (window);
 
@@ -1016,7 +1016,7 @@ Otherwise, include all frames.  */)
 {
   if (NILP (frame))
     frame = selected_frame;
-  
+
   CHECK_LIVE_FRAME (frame);
   return next_frame (frame, miniframe);
 }
@@ -1211,8 +1211,8 @@ The functions are run with one arg, the frame to be deleted.  */)
     x_clear_frame_selections (f);
 #endif
 
-  /* Free glyphs. 
-     This function must be called before the window tree of the 
+  /* Free glyphs.
+     This function must be called before the window tree of the
      frame is deleted because windows contain dynamically allocated
      memory. */
   free_glyphs (f);
@@ -1592,7 +1592,7 @@ If omitted, FRAME defaults to the currently selected frame.  */)
 {
   if (NILP (frame))
     frame = selected_frame;
-  
+
   CHECK_LIVE_FRAME (frame);
 
 #if 0 /* This isn't logically necessary, and it can do GC.  */
@@ -1701,7 +1701,7 @@ doesn't support multiple overlapping frames, this function does nothing.  */)
     frame = selected_frame;
 
   CHECK_LIVE_FRAME (frame);
-  
+
   if (frame_raise_lower_hook)
     (*frame_raise_lower_hook) (XFRAME (frame), 0);
 
@@ -1749,7 +1749,7 @@ The redirection lasts until `redirect-frame-focus' is called to change it.  */)
 
   if (frame_rehighlight_hook)
     (*frame_rehighlight_hook) (XFRAME (frame));
-  
+
   return Qnil;
 }
 
@@ -1949,7 +1949,7 @@ store_frame_param (f, prop, val)
 
   /* Update some other special parameters in their special places
      in addition to the alist.  */
-  
+
   if (EQ (prop, Qbuffer_predicate))
     f->buffer_predicate = val;
 
@@ -1999,7 +1999,7 @@ If FRAME is omitted, return information on the currently selected frame.  */)
 
   alist = Fcopy_alist (f->param_alist);
   GCPRO1 (alist);
-  
+
   if (!FRAME_WINDOW_P (f))
     {
       int fg = FRAME_FOREGROUND_PIXEL (f);
@@ -2088,10 +2088,10 @@ If FRAME is nil, describe the currently selected frame.  */)
   else
     CHECK_FRAME (frame);
   CHECK_SYMBOL (parameter);
-  
+
   f = XFRAME (frame);
   value = Qnil;
-  
+
   if (FRAME_LIVE_P (f))
     {
       /* Avoid consing in frequent cases.  */
@@ -2146,12 +2146,12 @@ If FRAME is nil, describe the currently selected frame.  */)
       else
        value = Fcdr (Fassq (parameter, Fframe_parameters (frame)));
     }
-  
+
   return value;
 }
 
 
-DEFUN ("modify-frame-parameters", Fmodify_frame_parameters, 
+DEFUN ("modify-frame-parameters", Fmodify_frame_parameters,
        Smodify_frame_parameters, 2, 2, 0,
        doc: /* Modify the parameters of frame FRAME according to ALIST.
 If FRAME is nil, it defaults to the selected frame.
@@ -2278,7 +2278,7 @@ For a terminal screen, the value is always 1.  */)
     return make_number (1);
 }
 
-DEFUN ("frame-pixel-height", Fframe_pixel_height, 
+DEFUN ("frame-pixel-height", Fframe_pixel_height,
        Sframe_pixel_height, 0, 1, 0,
        doc: /* Return a FRAME's height in pixels.
 This counts only the height available for text lines,
@@ -2303,7 +2303,7 @@ If FRAME is omitted, the selected frame is used.  */)
     return make_number (FRAME_HEIGHT (f));
 }
 
-DEFUN ("frame-pixel-width", Fframe_pixel_width, 
+DEFUN ("frame-pixel-width", Fframe_pixel_width,
        Sframe_pixel_width, 0, 1, 0,
        doc: /* Return FRAME's width in pixels.
 For a terminal frame, the result really gives the width in characters.
@@ -2411,7 +2411,7 @@ DEFUN ("set-frame-size", Fset_frame_size, Sset_frame_size, 3, 3, 0,
   return Qnil;
 }
 
-DEFUN ("set-frame-position", Fset_frame_position, 
+DEFUN ("set-frame-position", Fset_frame_position,
        Sset_frame_position, 3, 3, 0,
        doc: /* Sets position of FRAME in pixels to XOFFSET by YOFFSET.
 This is actually the position of the upper left corner of the frame.
@@ -2525,7 +2525,7 @@ which need to do mouse handling at the Lisp level.  */);
   Vmouse_position_function = Qnil;
 
   DEFVAR_LISP ("mouse-highlight", &Vmouse_highlight,
-              doc: /* If non-nil, clickable text is highlighted when mouse is over it.  
+              doc: /* If non-nil, clickable text is highlighted when mouse is over it.
 If the value is an integer, highlighting is only shown after moving the
 mouse, while keyboard input turns off the highlight even when the mouse
 is over the clickable text.  However, the mouse shape still indicates
index af2a66bad65f6e23cedf030d775226b4c3ae61fc..25e43a9f317c8c2475019e0ec7c0449223aa74f2 100644 (file)
@@ -150,7 +150,7 @@ struct frame
      or modified with modify-frame-parameters.  */
   Lisp_Object param_alist;
 
-  /* List of scroll bars on this frame.  
+  /* List of scroll bars on this frame.
      Actually, we don't specify exactly what is stored here at all; the
      scroll bar implementation code can use it to store anything it likes.
      This field is marked by the garbage collector.  It is here
@@ -224,7 +224,7 @@ struct frame
   int tool_bar_lines;
 
   int n_tool_bar_items;
-  
+
   /* A buffer for decode_mode_line. */
   char *decode_mode_spec_buffer;
 
@@ -253,7 +253,7 @@ struct frame
 
   /* A structure of auxiliary data used for displaying the contents.
      struct x_output is used for X window frames;
-     it is defined in xterm.h.  
+     it is defined in xterm.h.
      struct w32_output is used for W32 window frames;
      it is defined in w32term.h.  */
   union output_data
@@ -325,7 +325,7 @@ struct frame
   /* True if frame actually has a minibuffer window on it.
      0 if using a minibuffer window that isn't on this frame.  */
   char has_minibuffer;
-     
+
   /* 0 means, if this frame has just one window,
      show no modeline for that window.  */
   char wants_modeline;
@@ -525,8 +525,8 @@ typedef struct frame *FRAME_PTR;
 /* The currently selected window of the window tree of frame F.  */
 #define FRAME_SELECTED_WINDOW(f) (f)->selected_window
 
-#define FRAME_INSERT_COST(f) (f)->insert_line_cost    
-#define FRAME_DELETE_COST(f) (f)->delete_line_cost    
+#define FRAME_INSERT_COST(f) (f)->insert_line_cost
+#define FRAME_DELETE_COST(f) (f)->delete_line_cost
 #define FRAME_INSERTN_COST(f) (f)->insert_n_lines_cost
 #define FRAME_DELETEN_COST(f) (f)->delete_n_lines_cost
 #define FRAME_MESSAGE_BUF(f) (f)->message_buf
@@ -623,7 +623,7 @@ typedef struct frame *FRAME_PTR;
 /* Return the size of message_buf of the frame F.  We multiply the
    width of the frame by 4 because multi-byte form may require at most
    4-byte for a character.  */
-     
+
 #define FRAME_MESSAGE_BUF_SIZE(f) (((int) (f)->width) * 4)
 
 /* Emacs's redisplay code could become confused if a frame's
@@ -649,7 +649,7 @@ typedef struct frame *FRAME_PTR;
    Also, if a frame used to be invisible, but has just become visible,
    it must be marked as garbaged, since redisplay hasn't been keeping
    up its contents.  */
-     
+
 #define FRAME_SAMPLE_VISIBILITY(f) \
   (((f)->async_visible && (f)->visible != (f)->async_visible) ? \
    SET_FRAME_GARBAGED (f) : 0, \
@@ -674,7 +674,7 @@ typedef struct frame *FRAME_PTR;
    loop will set FRAME_VAR, a Lisp_Object, to each frame in
    Vframe_list in succession and execute the statement.  LIST_VAR
    should be a Lisp_Object too; it is used to iterate through the
-   Vframe_list.  
+   Vframe_list.
 
    This macro is a holdover from a time when multiple frames weren't always
    supported.  An alternate definition of the macro would expand to
@@ -731,7 +731,7 @@ enum text_cursor_kinds get_window_cursor_type P_ ((struct window *, int *, int *
 
 /* Return the height in lines of the vertical scroll bar in w.  If the
    window has a mode line, don't make the scroll bar extend that far.  */
-     
+
 #define WINDOW_VERTICAL_SCROLL_BAR_HEIGHT(w) (window_internal_height (w))
 
 /* The currently selected frame.  */
@@ -779,7 +779,7 @@ extern Lisp_Object selected_frame;
      (FRAME_WINDOW_P (F) ? FRAME_X_LEFT_FRINGE_WIDTH (F) : 0)
 #define FRAME_RIGHT_FRINGE_WIDTH(F) \
      (FRAME_WINDOW_P (F) ? FRAME_X_RIGHT_FRINGE_WIDTH (F) : 0)
-     
+
 #else /* not HAVE_WINDOW_SYSTEM */
 
 #define FRAME_FRINGE_WIDTH(F)  0
@@ -788,7 +788,7 @@ extern Lisp_Object selected_frame;
 #define FRAME_RIGHT_FRINGE_WIDTH(F) 0
 
 #endif /* not HAVE_WINDOW_SYSTEM */
-     
+
 
 
 \f
@@ -803,16 +803,16 @@ extern Lisp_Object selected_frame;
 /* Convert canonical value X to pixels.  F is the frame whose
    canonical char width is to be used.  X must be a Lisp integer or
    float.  Value is a C integer.  */
-     
+
 #define PIXEL_X_FROM_CANON_X(F, X)                     \
      (INTEGERP (X)                                     \
       ? XINT (X) * CANON_X_UNIT (F)                    \
       : (int) (XFLOAT_DATA (X) * CANON_X_UNIT (F)))
-      
+
 /* Convert canonical value Y to pixels.  F is the frame whose
    canonical character height is to be used.  X must be a Lisp integer
    or float.  Value is a C integer.  */
-     
+
 #define PIXEL_Y_FROM_CANON_Y(F, Y)                     \
      (INTEGERP (Y)                                     \
       ? XINT (Y) * CANON_Y_UNIT (F)                    \
@@ -836,6 +836,6 @@ extern Lisp_Object selected_frame;
 #define CANON_Y_FROM_PIXEL_Y(F, Y)                     \
      ((Y) % CANON_Y_UNIT (F)                           \
       ? make_float ((double) (Y) / CANON_Y_UNIT (F))   \
-      : make_number ((Y) / CANON_Y_UNIT (F)))  
-                            
+      : make_number ((Y) / CANON_Y_UNIT (F)))
+
 #endif /* not EMACS_FRAME_H */
index 77fb31971018a5ea67fe87224ed9ba8e25df9588..7c654e1ece16330d537677045fc376761f1d6eb1 100644 (file)
@@ -420,7 +420,7 @@ protect_malloc_state (protect_p)
 
   last_state_size = _heaplimit * sizeof *_heapinfo;
   last_heapinfo   = _heapinfo;
-  
+
   if (protect_p != state_protected_p)
     {
       state_protected_p = protect_p;
@@ -992,7 +992,7 @@ _free_internal (ptr)
     return;
 
   PROTECT_MALLOC_STATE (0);
-  
+
   for (l = _aligned_blocks; l != NULL; l = l->next)
     if (l->aligned == ptr)
       {
@@ -1214,7 +1214,7 @@ _free_internal (ptr)
        }
       break;
     }
-  
+
   PROTECT_MALLOC_STATE (1);
 }
 
@@ -1380,7 +1380,7 @@ _realloc_internal (ptr, size)
   block = BLOCK (ptr);
 
   PROTECT_MALLOC_STATE (0);
-  
+
   type = _heapinfo[block].busy.type;
   switch (type)
     {
@@ -1843,7 +1843,7 @@ freehook (ptr)
      __ptr_t ptr;
 {
   struct hdr *hdr;
-    
+
   if (ptr)
     {
       hdr = ((struct hdr *) ptr) - 1;
@@ -1853,7 +1853,7 @@ freehook (ptr)
     }
   else
     hdr = NULL;
-  
+
   __free_hook = old_free_hook;
   free (hdr);
   __free_hook = freehook;
@@ -1887,7 +1887,7 @@ reallochook (ptr, size)
 {
   struct hdr *hdr = NULL;
   __malloc_size_t osize = 0;
-    
+
   if (ptr)
     {
       hdr = ((struct hdr *) ptr) - 1;
@@ -1897,7 +1897,7 @@ reallochook (ptr, size)
       if (size < osize)
        flood ((char *) ptr + size, FREEFLOOD, osize - size);
     }
-  
+
   __free_hook = old_free_hook;
   __malloc_hook = old_malloc_hook;
   __realloc_hook = old_realloc_hook;
index c2da9a145e60c3f41e0ede3665ca4f79d3306848..6b92779cbf613de189ad818cfcbaa92473c44fc1 100644 (file)
@@ -180,7 +180,7 @@ static void
 xg_list_insert (xg_list_node *list, xg_list_node *node)
 {
   xg_list_node *list_start = list->next;
-  
+
   if (list_start) list_start->prev = node;
   node->next = list_start;
   node->prev = 0;
@@ -213,7 +213,7 @@ get_utf8_string (str)
      char *str;
 {
   char *utf8_str = str;
-  
+
   /* If not UTF-8, try current locale.  */
   if (str && !g_utf8_validate (str, -1, NULL))
     utf8_str = g_locale_to_utf8 (str, -1, 0, 0, 0);
@@ -242,7 +242,7 @@ xg_set_geometry (f)
     int top = f->output_data.x->top_pos;
     int yneg = f->output_data.x->size_hint_flags & YNegative;
     char geom_str[32];
-    
+
     if (xneg)
       left = -left;
     if (yneg)
@@ -260,7 +260,7 @@ xg_set_geometry (f)
   }
 }
 
-     
+
 /* Resize the outer window of frame F after chainging the height.
    This happend when the menu bar or the tool bar is added or removed.
    COLUMNS/ROWS is the size the edit area shall have after the resize.  */
@@ -299,7 +299,7 @@ xg_resize_widgets (f, pixelwidth, pixelheight)
   int tbheight = FRAME_TOOLBAR_HEIGHT (f);
   int rows = PIXEL_TO_CHAR_HEIGHT (f, pixelheight - mbheight - tbheight);
   int columns = PIXEL_TO_CHAR_WIDTH (f, pixelwidth);
-  
+
   if (FRAME_GTK_WIDGET (f)
       && (columns != FRAME_WIDTH (f) || rows != FRAME_HEIGHT (f)
           || pixelwidth != PIXEL_WIDTH (f) || pixelheight != PIXEL_HEIGHT (f)))
@@ -333,7 +333,7 @@ xg_frame_set_char_size (f, cols, rows)
   int pixelheight = CHAR_TO_PIXEL_HEIGHT (f, rows)
     + FRAME_MENUBAR_HEIGHT (f) + FRAME_TOOLBAR_HEIGHT (f);
   int pixelwidth = CHAR_TO_PIXEL_WIDTH (f, cols);
-  
+
   /* Take into account the size of the scroll bar.  Always use the
      number of columns occupied by the scroll bar here otherwise we
      might end up with a frame width that is not a multiple of the
@@ -374,7 +374,7 @@ xg_win_to_widget (wdesc)
       event.any.window = gdkwin;
       gwdesc = gtk_get_event_widget (&event);
     }
-  
+
   UNBLOCK_INPUT;
   return gwdesc;
 }
@@ -404,13 +404,13 @@ xg_create_frame_widgets (f)
   GtkRcStyle *style;
   int i;
   char *title = 0;
-  
+
   BLOCK_INPUT;
 
   wtop = gtk_window_new (GTK_WINDOW_TOPLEVEL);
   wvbox = gtk_vbox_new (FALSE, 0);
   wfixed = gtk_fixed_new ();  /* Must have this to place scroll bars  */
-  
+
   if (! wtop || ! wvbox || ! wfixed)
     {
       if (wtop) gtk_widget_destroy (wtop);
@@ -430,7 +430,7 @@ xg_create_frame_widgets (f)
   else if (! NILP (f->name)) title = SDATA (f->name);
 
   if (title) gtk_window_set_title (GTK_WINDOW (wtop), title);
-    
+
   FRAME_GTK_OUTER_WIDGET (f) = wtop;
   FRAME_GTK_WIDGET (f) = wfixed;
   f->output_data.x->vbox_widget = wvbox;
@@ -440,7 +440,7 @@ xg_create_frame_widgets (f)
   gtk_widget_set_size_request (wfixed,
                                PIXEL_WIDTH (f),
                                PIXEL_HEIGHT (f));
-  
+
   gtk_container_add (GTK_CONTAINER (wtop), wvbox);
   gtk_box_pack_end (GTK_BOX (wvbox), wfixed, TRUE, TRUE, 0);
 
@@ -456,11 +456,11 @@ xg_create_frame_widgets (f)
      later on when tool bar items are added.  */
   if (FRAME_EXTERNAL_TOOL_BAR (f) && FRAME_TOOLBAR_HEIGHT (f) == 0)
     FRAME_TOOLBAR_HEIGHT (f) = 34;
-  
+
   gtk_widget_set_double_buffered (wvbox, FALSE);
   gtk_widget_set_double_buffered (wfixed, FALSE);
   gtk_widget_set_double_buffered (wtop, FALSE);
-  
+
   /* GTK documents says use gtk_window_set_resizable.  But then a user
      can't shrink the window from its starting size.  */
   gtk_window_set_policy (GTK_WINDOW (wtop), TRUE, TRUE, TRUE);
@@ -472,7 +472,7 @@ xg_create_frame_widgets (f)
      GTK is to destroy the widget.  We want Emacs to do that instead.  */
   g_signal_connect (G_OBJECT (wtop), "delete-event",
                     G_CALLBACK (gtk_true), 0);
-  
+
   /* Convert our geometry parameters into a geometry string
      and specify it.
      GTK will itself handle calculating the real position this way.  */
@@ -508,7 +508,7 @@ xg_create_frame_widgets (f)
   /* Must use g_strdup because gtk_widget_modify_style does g_free.  */
   style->bg_pixmap_name[GTK_STATE_NORMAL] = g_strdup ("<none>");
   gtk_widget_modify_style (wfixed, style);
-  
+
   /* GTK does not set any border, and they look bad with GTK.  */
   f->output_data.x->border_width = 0;
   f->output_data.x->internal_border_width = 0;
@@ -538,7 +538,7 @@ x_wm_set_size_hint (f, flags, user_position)
     int base_width, base_height;
     int min_rows = 0, min_cols = 0;
     int win_gravity = f->output_data.x->win_gravity;
-    
+
     if (flags)
       {
         memset (&size_hints, 0, sizeof (size_hints));
@@ -547,7 +547,7 @@ x_wm_set_size_hint (f, flags, user_position)
       }
      else
        flags = f->output_data.x->size_hint_flags;
-    
+
     size_hints = f->output_data.x->size_hints;
     hint_flags = f->output_data.x->hint_flags;
 
@@ -567,7 +567,7 @@ x_wm_set_size_hint (f, flags, user_position)
     size_hints.min_width  = base_width + min_cols * size_hints.width_inc;
     size_hints.min_height = base_height + min_rows * size_hints.height_inc;
 
-    
+
     /* These currently have a one to one mapping with the X values, but I
        don't think we should rely on that.  */
     hint_flags |= GDK_HINT_WIN_GRAVITY;
@@ -648,7 +648,7 @@ static char *
 get_dialog_title (char key)
 {
   char *title = "";
-  
+
   switch (key) {
   case 'E': case 'e':
     title = "Error";
@@ -746,7 +746,7 @@ create_dialog (wv, select_cb, deactivate_cb)
 
   g_signal_connect (G_OBJECT (wdialog), "delete-event",
                     G_CALLBACK (dialog_delete_callback), 0);
-  
+
   if (deactivate_cb)
     {
       g_signal_connect (G_OBJECT (wdialog), "close", deactivate_cb, 0);
@@ -876,7 +876,7 @@ xg_get_file_name (f, prompt, default_filename, mustmatch_p)
   GtkFileSelection *filesel;
   int filesel_done = XG_FILE_NOT_DONE;
   char *fn = 0;
-  
+
   filewin = gtk_file_selection_new (prompt);
   filesel = GTK_FILE_SELECTION (filewin);
 
@@ -909,9 +909,9 @@ xg_get_file_name (f, prompt, default_filename, mustmatch_p)
       gtk_file_selection_hide_fileop_buttons (filesel);
     }
 
-  
+
   gtk_widget_show_all (filewin);
-  
+
   while (filesel_done == XG_FILE_NOT_DONE)
     gtk_main_iteration ();
 
@@ -950,7 +950,7 @@ static xg_list_node xg_menu_item_cb_list;
 
    The menu bar and all sub menus under the menu bar in a frame
    share the same structure, hence the reference count.
-   
+
    Returns CL_DATA if CL_DATA is not NULL,  or a pointer to a newly
    allocated xg_menu_cb_data if CL_DATA is NULL.  */
 static xg_menu_cb_data *
@@ -1069,7 +1069,7 @@ menuitem_highlight_callback (w, event, client_data)
     {
       xg_menu_item_cb_data *data = (xg_menu_item_cb_data*) client_data;
       gpointer call_data = event->type == GDK_LEAVE_NOTIFY ? 0 : client_data;
-      
+
       if (! NILP (data->help) && data->cl_data->highlight_cb)
         {
           GtkCallback func = (GtkCallback) data->cl_data->highlight_cb;
@@ -1125,14 +1125,14 @@ make_widget_for_menu_item (utf8_label, utf8_key)
   GtkWidget *wlbl;
   GtkWidget *wkey;
   GtkWidget *wbox;
-  
+
   wbox = gtk_hbox_new (FALSE, 0);
   wlbl = gtk_label_new_with_mnemonic (utf8_label);
   wkey = gtk_label_new (utf8_key);
 
   gtk_misc_set_alignment (GTK_MISC (wlbl), 0.0, 0.5);
   gtk_misc_set_alignment (GTK_MISC (wkey), 0.0, 0.5);
-              
+
   gtk_box_pack_start (GTK_BOX (wbox), wlbl, TRUE, TRUE, 0);
   gtk_box_pack_start (GTK_BOX (wbox), wkey, FALSE, FALSE, 0);
 
@@ -1146,7 +1146,7 @@ make_widget_for_menu_item (utf8_label, utf8_key)
    UTF8_LABEL is the text for the menu item (GTK uses UTF8 internally).
    UTF8_KEY is the text representing the key binding.
    ITEM is the widget_value describing the menu item.
-   
+
    GROUP is an in/out parameter.  If the menu item to be created is not
    part of any radio menu group, *GROUP contains NULL on entry and exit.
    If the menu item to be created is part of a radio menu group, on entry
@@ -1164,10 +1164,10 @@ make_menu_item (utf8_label, utf8_key, item, group)
 {
   GtkWidget *w;
   GtkWidget *wtoadd = 0;
-  
+
   if (utf8_key)
     wtoadd = make_widget_for_menu_item (utf8_label, utf8_key);
-  
+
   if (item->button_type == BUTTON_TYPE_TOGGLE)
     {
       *group = NULL;
@@ -1189,7 +1189,7 @@ make_menu_item (utf8_label, utf8_key, item, group)
       if (utf8_key) w = gtk_menu_item_new ();
       else w = gtk_menu_item_new_with_mnemonic (utf8_label);
     }
-  
+
   if (wtoadd) gtk_container_add (GTK_CONTAINER (w), wtoadd);
   if (! item->enabled) gtk_widget_set_sensitive (w, FALSE);
 
@@ -1230,7 +1230,7 @@ tearoff_remove (widget, event, client_data)
 /* Callback invoked when a menu is detached.  It sets the xg_did_tearoff
    variable.
    WIDGET is the GtkTearoffMenuItem.
-   CLIENT_DATA is not used.  */ 
+   CLIENT_DATA is not used.  */
 static void
 tearoff_activate (widget, client_data)
      GtkWidget *widget;
@@ -1257,7 +1257,7 @@ xg_keep_popup (menu, submenu)
 
   /* Find the top widget for the detached menu.  */
   p = gtk_widget_get_toplevel (submenu);
-    
+
   /* Delay destroying the menu until the detached menu is removed.  */
   g_signal_connect (G_OBJECT (p), "unmap_event",
                     G_CALLBACK (tearoff_remove), menu);
@@ -1308,7 +1308,7 @@ xg_create_one_menuitem (item, f, select_cb, highlight_cb, cl_data, group)
   cb_data->help = item->help;
   cb_data->cl_data = cl_data;
   cb_data->call_data = item->call_data;
-      
+
   g_signal_connect (G_OBJECT (w),
                     "destroy",
                     G_CALLBACK (menuitem_destroy_callback),
@@ -1395,7 +1395,7 @@ create_menus (data, f, select_cb, deactivate_cb, highlight_cb,
       g_object_set_data (G_OBJECT (wmenu), XG_FRAME_DATA, (gpointer)cl_data);
       g_signal_connect (G_OBJECT (wmenu), "destroy",
                         G_CALLBACK (menu_destroy_callback), cl_data);
-      
+
       if (name)
         gtk_widget_set_name (wmenu, name);
 
@@ -1406,7 +1406,7 @@ create_menus (data, f, select_cb, deactivate_cb, highlight_cb,
       g_signal_connect (G_OBJECT (wmenu),
                         "grab-notify", G_CALLBACK (menu_grab_callback), 0);
     }
-  
+
   if (! menu_bar_p && add_tearoff_p)
     {
       GtkWidget *tearoff = gtk_tearoff_menu_item_new ();
@@ -1419,7 +1419,7 @@ create_menus (data, f, select_cb, deactivate_cb, highlight_cb,
   for (item = data; item; item = item->next)
     {
       GtkWidget *w;
-      
+
       if (pop_up_p && !item->contents && !item->call_data
           && !xg_separator_p (item->name))
         {
@@ -1585,7 +1585,7 @@ remove_from_container (wcont, list)
       /* Add a ref to w so we can explicitly destroy it later.  */
       gtk_widget_ref (w);
       gtk_container_remove (GTK_CONTAINER (wcont), w);
-  
+
       /* If there is a menu under this widget that has been detached,
          there is a reference to it, and just removing w from the
          container does not destroy the submenu.  By explicitly
@@ -1679,7 +1679,7 @@ xg_update_menubar (menubar, f, list, iter, pos, val,
                 Current:  A B C
                 New:      A C
               Remove B.  */
-          
+
           gtk_widget_ref (GTK_WIDGET (witem));
           gtk_container_remove (GTK_CONTAINER (menubar), GTK_WIDGET (witem));
           gtk_widget_destroy (GTK_WIDGET (witem));
@@ -1707,7 +1707,7 @@ xg_update_menubar (menubar, f, list, iter, pos, val,
               is up to date when leaving the minibuffer.  */
           GtkLabel *wlabel = GTK_LABEL (gtk_bin_get_child (GTK_BIN (witem)));
           char *utf8_label = get_utf8_string (val->name);
-          
+
           gtk_label_set_text_with_mnemonic (wlabel, utf8_label);
 
           iter = g_list_next (iter);
@@ -1787,8 +1787,8 @@ xg_update_menu_item (val, w, select_cb, highlight_cb, cl_data)
   const char *old_label = 0;
   const char *old_key = 0;
   xg_menu_item_cb_data *cb_data;
-  
-  wchild = gtk_bin_get_child (GTK_BIN (w));  
+
+  wchild = gtk_bin_get_child (GTK_BIN (w));
   utf8_label = get_utf8_string (val->name);
   utf8_key = get_utf8_string (val->key);
 
@@ -1830,10 +1830,10 @@ xg_update_menu_item (val, w, select_cb, highlight_cb, cl_data)
         }
     }
 
-  
+
   if (wkey) old_key = gtk_label_get_label (wkey);
   if (wlbl) old_label = gtk_label_get_label (wlbl);
-  
+
   if (wkey && utf8_key && (! old_key || strcmp (utf8_key, old_key) != 0))
     gtk_label_set_text (wkey, utf8_key);
 
@@ -1842,7 +1842,7 @@ xg_update_menu_item (val, w, select_cb, highlight_cb, cl_data)
 
   if (utf8_key && utf8_key != val->key) g_free (utf8_key);
   if (utf8_label && utf8_label != val->name) g_free (utf8_label);
-  
+
   if (! val->enabled && GTK_WIDGET_SENSITIVE (w))
     gtk_widget_set_sensitive (w, FALSE);
   else if (val->enabled && ! GTK_WIDGET_SENSITIVE (w))
@@ -1855,7 +1855,7 @@ xg_update_menu_item (val, w, select_cb, highlight_cb, cl_data)
       cb_data->call_data = val->call_data;
       cb_data->help = val->help;
       cb_data->cl_data = cl_data;
-      
+
       /* We assume the callback functions don't change.  */
       if (val->call_data && ! val->contents)
         {
@@ -1951,10 +1951,10 @@ xg_update_submenu (submenu, f, val,
   widget_value *cur;
   int has_tearoff_p = 0;
   GList *first_radio = 0;
-  
+
   if (submenu)
     list = gtk_container_get_children (GTK_CONTAINER (submenu));
-  
+
   for (cur = val, iter = list;
        cur && iter;
        iter = g_list_next (iter), cur = cur->next)
@@ -2046,7 +2046,7 @@ xg_update_submenu (submenu, f, val,
       if (cur && first_radio) remove_from_container (submenu, first_radio);
       else remove_from_container (submenu, iter);
     }
-  
+
   if (cur)
     {
       /* More items added.  Create them.  */
@@ -2062,7 +2062,7 @@ xg_update_submenu (submenu, f, val,
                              cl_data,
                              0);
     }
-    
+
   if (list) g_list_free (list);
 
   return newsub;
@@ -2091,7 +2091,7 @@ xg_modify_menubar_widgets (menubar, f, val, deep_p,
   GList *list = gtk_container_get_children (GTK_CONTAINER (menubar));
 
   if (! list) return;
-  
+
   cl_data = (xg_menu_cb_data*) g_object_get_data (G_OBJECT (menubar),
                                                   XG_FRAME_DATA);
 
@@ -2129,7 +2129,7 @@ xg_modify_menubar_widgets (menubar, f, val, deep_p,
                   break;
                 }
             }
-          
+
           newsub = xg_update_submenu (sub,
                                       f,
                                       cur->contents,
@@ -2159,7 +2159,7 @@ xg_update_frame_menubar (f)
 {
   struct x_output *x = f->output_data.x;
   GtkRequisition req;
-  
+
   if (!x->menubar_widget || GTK_WIDGET_MAPPED (x->menubar_widget))
     return 0;
 
@@ -2177,7 +2177,7 @@ xg_update_frame_menubar (f)
   /* The height has changed, resize outer widget and set columns
      rows to what we had before adding the menu bar.  */
   xg_resize_outer_widget (f, FRAME_WIDTH (f), FRAME_HEIGHT (f));
-  
+
   SET_FRAME_GARBAGED (f);
   UNBLOCK_INPUT;
 }
@@ -2311,7 +2311,7 @@ xg_gtk_scroll_destroy (widget, data)
 {
   gpointer p;
   int id = (int)data;
-  
+
   p = g_object_get_data (G_OBJECT (widget), XG_LAST_SB_DATA);
   if (p) xfree (p);
   xg_remove_widget_from_map (id);
@@ -2355,7 +2355,7 @@ xg_create_scroll_bar (f, bar, scroll_callback, scroll_bar_name)
   GtkWidget *wscroll;
   GtkObject *vadj;
   int scroll_id;
-  
+
   /* Page, step increment values are not so important here, they
      will be corrected in x_set_toolkit_scroll_bar_thumb. */
   vadj = gtk_adjustment_new (XG_SB_MIN, XG_SB_MIN, XG_SB_MAX,
@@ -2364,9 +2364,9 @@ xg_create_scroll_bar (f, bar, scroll_callback, scroll_bar_name)
   wscroll = gtk_vscrollbar_new (GTK_ADJUSTMENT (vadj));
   gtk_widget_set_name (wscroll, scroll_bar_name);
   gtk_range_set_update_policy (GTK_RANGE (wscroll), GTK_UPDATE_CONTINUOUS);
-  
+
   scroll_id = xg_store_widget_in_map (wscroll);
-  
+
   g_signal_connect (G_OBJECT (vadj),
                     "value-changed",
                     scroll_callback,
@@ -2386,7 +2386,7 @@ xg_create_scroll_bar (f, bar, scroll_callback, scroll_bar_name)
                     "button-release-event",
                     G_CALLBACK (scroll_bar_button_cb),
                     0);
-  
+
   gtk_fixed_put (GTK_FIXED (f->output_data.x->edit_widget),
                  wscroll, 0, 0);
 
@@ -2426,7 +2426,7 @@ xg_remove_scroll_bar (f, scrollbar_id)
    TOP/LEFT are the new pixel positions where the bar shall appear.
    WIDTH, HEIGHT is the size in pixels the bar shall have.  */
 void
-xg_update_scrollbar_pos (f, scrollbar_id, top, left, width, height)     
+xg_update_scrollbar_pos (f, scrollbar_id, top, left, width, height)
      FRAME_PTR f;
      int scrollbar_id;
      int top;
@@ -2483,7 +2483,7 @@ xg_set_toolkit_scroll_bar_thumb (bar, portion, position, whole)
       gdouble shown;
       gdouble top;
       int size, value;
-      
+
       adj = gtk_range_get_adjustment (GTK_RANGE (wscroll));
 
       if (whole <= 0)
@@ -2552,7 +2552,7 @@ xg_tool_bar_callback (w, client_data)
     return;
 
   idx *= TOOL_BAR_ITEM_NSLOTS;
-  
+
   key = AREF (f->tool_bar_items, idx + TOOL_BAR_ITEM_KEY);
   XSETFRAME (frame, f);
   event.kind = TOOL_BAR_EVENT;
@@ -2678,10 +2678,10 @@ xg_create_tool_bar (f)
   x->handlebox_widget = gtk_handle_box_new ();
   gtk_container_add (GTK_CONTAINER (x->handlebox_widget),
                      x->toolbar_widget);
-      
+
   gtk_box_pack_start (GTK_BOX (x->vbox_widget), x->handlebox_widget,
                       FALSE, FALSE, 0);
-      
+
   gtk_box_reorder_child (GTK_BOX (x->vbox_widget), x->handlebox_widget,
                          vbox_pos);
 
@@ -2694,11 +2694,11 @@ xg_create_tool_bar (f)
 
   gtk_widget_size_request (x->toolbar_widget, &req);
   FRAME_TOOLBAR_HEIGHT (f) = req.height;
-  
+
   /* The height has changed, resize outer widget and set columns
      rows to what we had before adding the tool bar.  */
   xg_resize_outer_widget (f, FRAME_WIDTH (f), FRAME_HEIGHT (f));
-  
+
   SET_FRAME_GARBAGED (f);
 }
 
@@ -2716,7 +2716,7 @@ update_frame_tool_bar (f)
     return;
 
   BLOCK_INPUT;
-      
+
   if (! x->toolbar_widget)
     xg_create_tool_bar (f);
 
@@ -2724,7 +2724,7 @@ update_frame_tool_bar (f)
 
   icon_list = gtk_container_get_children (GTK_CONTAINER (x->toolbar_widget));
   iter = icon_list;
-  
+
   for (i = 0; i < f->n_tool_bar_items; ++i)
     {
 #define PROP(IDX) AREF (f->tool_bar_items, i * TOOL_BAR_ITEM_NSLOTS + (IDX))
@@ -2775,7 +2775,7 @@ update_frame_tool_bar (f)
           if (wicon) gtk_widget_hide (wicon);
           continue;
         }
-          
+
       if (! wicon)
         {
           GdkPixmap *gpix = gdk_pixmap_foreign_new (img->pixmap);
@@ -2788,7 +2788,7 @@ update_frame_tool_bar (f)
                                    w,
                                    GTK_SIGNAL_FUNC (xg_tool_bar_callback),
                                    (gpointer)i);
-          
+
           /* Save the image so we can see if an update is needed when
              this function is called again.  */
           g_object_set_data (G_OBJECT (w), XG_TOOL_BAR_IMAGE_DATA,
@@ -2798,7 +2798,7 @@ update_frame_tool_bar (f)
              of the GtkImage parent.  Go upwards until we find the button.  */
           while (! GTK_IS_BUTTON (w))
             w = gtk_widget_get_parent (w);
-          
+
           if (w)
             {
               /* Save the frame in the button so the xg_tool_bar_callback
@@ -2848,7 +2848,7 @@ update_frame_tool_bar (f)
           gtk_widget_set_sensitive (wicon, enabled_p);
           gtk_widget_show (wicon);
         }
-  
+
 #undef PROP
     }
 
index 103b97814172e45caee85cf8f318263a44ab2635..b6779b465f12a60cd7cf364c74ff10e6533597b6 100644 (file)
@@ -66,7 +66,7 @@ typedef struct xg_list_node_
 typedef struct xg_menu_cb_data_
 {
   xg_list_node  ptrs;
-  
+
   FRAME_PTR     f;
   Lisp_Object   menu_bar_vector;
   int           menu_bar_items_used;
@@ -85,7 +85,7 @@ typedef struct xg_menu_item_cb_data_
   Lisp_Object   help;
   gpointer     call_data;
   xg_menu_cb_data *cl_data;
-  
+
 } xg_menu_item_cb_data;
 
 
@@ -98,7 +98,7 @@ typedef struct _widget_value
   char         *name;
   /* value (meaning depend on widget type) */
   char         *value;
-  /* keyboard equivalent. no implications for XtTranslations */ 
+  /* keyboard equivalent. no implications for XtTranslations */
   char         *key;
   /* Help string or nil if none.
      GC finds this string through the frame's menu_bar_vector
index a6daf0a1f1b2f0050844b5652a990e3fdea8d6cc..272f7bad7fe8d8f408e166fd9b626156a998a15c 100644 (file)
@@ -67,7 +67,7 @@ static char     SCCSid[] = "com/gnuemacs/src,3.1,9021-90/05/03-5/3/90";
 #define QLOC   ((HFQLOCCH<<8)|HFQLOCCL)
 #define QPS    ((HFQPRESCH<<8)|HFQPRESCL)
 
-#ifndef TCGETS 
+#ifndef TCGETS
 #define TCGETS TCGETA
 #endif
 #ifndef TCSETS
index 676f64a8ae801401b02d8f3947fd712200ac91d9..0ce7238ec757902d19eee53dc80ae6ac2052d42d 100644 (file)
@@ -26,13 +26,13 @@ Boston, MA 02111-1307, USA.  */
    Example (where W_ stands for a wide-column character):
             ----------
             abcdefgh\\
-            W_      
+            W_
             ----------
 
-   To handle this case, we should not calculate the tab offset by 
+   To handle this case, we should not calculate the tab offset by
        tab_offset += width;
 
-   Instead, we must remember tab_offset of the line. 
+   Instead, we must remember tab_offset of the line.
 
  */
 
index 281cb0109711ce38f148ed9e1178c934aa01312f..d4921b5f1ce4c68f8788a94dd77be9857389874b 100644 (file)
@@ -373,7 +373,7 @@ adjust_markers_for_delete (from, from_byte, to, to_byte)
          if (! m->insertion_type)
            /* Normal markers will end up at the beginning of the
               re-inserted text after undoing a deletion, and must be
-              adjusted to move them to the correct place.  */ 
+              adjusted to move them to the correct place.  */
            record_marker_adjustment (marker, from - charpos);
          else if (charpos < to)
            /* Before-insertion markers will automatically move forward
@@ -536,7 +536,7 @@ make_gap_larger (nbytes_added)
      That won't work because so many places use `int'.
 
      Make sure we don't introduce overflows in the calculation.  */
-     
+
   if (Z_BYTE - BEG_BYTE + GAP_SIZE
       >= (((EMACS_INT) 1 << (min (VALBITS, BITS_PER_INT) - 1)) - 1
          - nbytes_added))
@@ -990,7 +990,7 @@ insert_1_both (string, nchars, nbytes, inherit, prepare, before_markers)
 {
   if (nchars == 0)
     return;
-  
+
   if (NILP (current_buffer->enable_multibyte_characters))
     nchars = nbytes;
 
@@ -1173,7 +1173,7 @@ insert_from_string_1 (string, pos, pos_byte, nchars, nbytes,
   /* Get the intervals for the part of the string we are inserting.  */
   if (nbytes < SBYTES (string))
     intervals = copy_intervals (intervals, pos, nchars);
-                              
+
   /* Insert those intervals.  */
   graft_intervals_into_buffer (intervals, PT, nchars,
                               current_buffer, inherit);
@@ -1239,13 +1239,13 @@ insert_from_buffer_1 (buf, from, nchars, inherit)
 
       if (chunk < incoming_nbytes)
        outgoing_after_gap
-         = count_size_as_multibyte (BUF_BYTE_ADDRESS (buf, 
+         = count_size_as_multibyte (BUF_BYTE_ADDRESS (buf,
                                                       from_byte + chunk),
                                     incoming_nbytes - chunk);
 
       outgoing_nbytes = outgoing_before_gap + outgoing_after_gap;
     }
-  
+
   /* Make sure point-max won't overflow after this insertion.  */
   XSETINT (temp, outgoing_nbytes + Z);
   if (outgoing_nbytes + Z != XINT (temp))
@@ -1329,7 +1329,7 @@ insert_from_buffer_1 (buf, from, nchars, inherit)
        from += nchars;
       intervals = copy_intervals (intervals, from, nchars);
     }
-                              
+
   /* Insert those intervals.  */
   graft_intervals_into_buffer (intervals, PT, nchars, current_buffer, inherit);
 
@@ -2129,7 +2129,7 @@ signal_after_change (charpos, lendel, lenins)
       return;
     }
 
-  if (!NILP (combine_after_change_list)) 
+  if (!NILP (combine_after_change_list))
     Fcombine_after_change_execute ();
 
   if (!NILP (Vafter_change_functions))
@@ -2260,7 +2260,7 @@ DEFUN ("combine-after-change-execute", Fcombine_after_change_execute,
      that was changed.  */
   begpos = BEG + beg;
   endpos = Z - end;
-  
+
   /* We are about to handle these, so discard them.  */
   combine_after_change_list = Qnil;
 
index 704aebccba50658def6f8a67494702f32c1058d7..5b520b9569bd0deb478fbe17e6ee09c6c33b44b2 100644 (file)
@@ -10897,7 +10897,7 @@ will be in `last-command' during the following command.  */);
               doc: /* The command bound to the current key sequence before remapping.
 It equals `this-command' if the original command was not remapped through
 any of the active keymaps.  Otherwise, the value of `this-command' is the
-result of looking up the original command in the active keymaps.  */); 
+result of looking up the original command in the active keymaps.  */);
   Vthis_original_command = Qnil;
 
   DEFVAR_INT ("auto-save-interval", &auto_save_interval,
index 87af2e846922aa438311cb057a15fa0b30550867..9d77d21ec75a5c3d95448fa6f5918ee5005f8923 100644 (file)
@@ -210,7 +210,7 @@ extern Lisp_Object internal_last_event_frame;
    Using a Lisp vector to hold this information while we decode it
    takes care of protecting all the data from GC.  */
 extern Lisp_Object item_properties;
+
 /* This describes the elements of item_properties.
    The first element is not a property, it is a pointer to the item properties
    that is saved for GC protection. */
index 5d5e6e675006f67f6bf062a462c24ba323dc1e0d..e32f669ecf20d39ca1a2830d2eed3b5ad4346091 100644 (file)
@@ -215,7 +215,7 @@ static Lisp_Object load_descriptor_unwind P_ ((Lisp_Object));
    The READCHAR and UNREAD macros are meant for reading/unreading a
    byte code; they do not handle multibyte characters.  The caller
    should manage them if necessary.
-   
+
    [ Actually that seems to be a lie; READCHAR will definitely read
      multibyte characters from buffer sources, at least.  Is the
      comment just out of date?
@@ -233,7 +233,7 @@ readchar (readcharfun)
   register int c;
 
   readchar_count++;
-  
+
   if (BUFFERP (readcharfun))
     {
       register struct buffer *inbuffer = XBUFFER (readcharfun);
@@ -411,7 +411,7 @@ unreadchar (readcharfun, c)
 static Lisp_Object read_internal_start P_ ((Lisp_Object, Lisp_Object,
                                            Lisp_Object));
 static Lisp_Object read0 P_ ((Lisp_Object));
-static Lisp_Object read1 P_ ((Lisp_Object, int *, int)); 
+static Lisp_Object read1 P_ ((Lisp_Object, int *, int));
 
 static Lisp_Object read_list P_ ((int, Lisp_Object));
 static Lisp_Object read_vector P_ ((Lisp_Object, int));
@@ -457,7 +457,7 @@ read_filtered_event (no_switch_frame, ascii_required, error_nonascii,
   if (display_hourglass_p)
     cancel_hourglass ();
 #endif
-  
+
   delayed_switch_frame = Qnil;
 
   /* Read until we get an acceptable event.  */
@@ -498,7 +498,7 @@ read_filtered_event (no_switch_frame, ascii_required, error_nonascii,
                XSETFASTINT (val, XINT (tem1) | XINT (Fcar (Fcdr (tem))));
            }
        }
-         
+
       /* If we don't have a character now, deal with it appropriately.  */
       if (!INTEGERP (val))
        {
@@ -709,7 +709,7 @@ Return t if file exists.  */)
     }
   else
     file = Fsubstitute_in_file_name (file);
-    
+
 
   /* Avoid weird lossage with null string as arg,
      since it would try to load a directory as a Lisp file */
@@ -1550,7 +1550,7 @@ read_internal_start (stream, start, end)
       read_from_string_index_byte = string_char_to_byte (stream, startval);
       read_from_string_limit = endval;
     }
-      
+
   retval = read0 (stream);
   if (EQ (Vread_with_symbol_positions, Qt)
       || EQ (Vread_with_symbol_positions, stream))
@@ -1751,7 +1751,7 @@ read_escape (readcharfun, stringp, byterep)
                break;
              }
          }
-       
+
        *byterep = 1;
        return i;
       }
@@ -1825,11 +1825,11 @@ read_integer (readcharfun, radix)
        }
       else if (c == '+')
        c = READCHAR;
-  
+
       while (c >= 0)
        {
          int digit;
-      
+
          if (c >= '0' && c <= '9')
            digit = c - '0';
          else if (c >= 'a' && c <= 'z')
@@ -1894,7 +1894,7 @@ to_multibyte (p, end, nchars)
   if (nbytes != *nchars)
     nbytes = str_as_multibyte (read_buffer, read_buffer_size,
                               *p - read_buffer, nchars);
-  
+
   *p = read_buffer + nbytes;
 }
 
@@ -1992,7 +1992,7 @@ read1 (readcharfun, pch, first_in_list)
                        == (SCHARS (tmp) - 1) * BITS_PER_CHAR))
                Fsignal (Qinvalid_read_syntax,
                         Fcons (make_string ("#&...", 5), Qnil));
-               
+
              val = Fmake_bool_vector (length, Qnil);
              bcopy (SDATA (tmp), XBOOL_VECTOR (val)->data,
                     size_in_chars);
@@ -2047,7 +2047,7 @@ read1 (readcharfun, pch, first_in_list)
          UNGCPRO;
          return tmp;
        }
-      
+
       /* #@NUMBER is used to skip NUMBER following characters.
         That's used in .elc files to skip over doc strings
         and function definitions.  */
@@ -2064,7 +2064,7 @@ read1 (readcharfun, pch, first_in_list)
            }
          if (c >= 0)
            UNREAD (c);
-         
+
          if (load_force_doc_strings && EQ (readcharfun, Qget_file_char))
            {
              /* If we are supposed to force doc strings into core right now,
@@ -2170,7 +2170,7 @@ read1 (readcharfun, pch, first_in_list)
 
              /* ...and #n# will use the real value from now on.  */
              Fsetcdr (cell, tem);
-             
+
              return tem;
            }
          /* #n# returns a previously read object.  */
@@ -2183,7 +2183,7 @@ read1 (readcharfun, pch, first_in_list)
            }
          else if (c == 'r' ||  c == 'R')
            return read_integer (readcharfun, n);
-         
+
          /* Fall through to error message.  */
        }
       else if (c == 'x' || c == 'X')
@@ -2442,7 +2442,7 @@ read1 (readcharfun, pch, first_in_list)
                  p = read_buffer + offset;
                  end = read_buffer + read_buffer_size;
                }
-             
+
              if (c == '\\')
                {
                  c = READCHAR;
@@ -2536,7 +2536,7 @@ read1 (readcharfun, pch, first_in_list)
            : intern (read_buffer);
          if (EQ (Vread_with_symbol_positions, Qt)
              || EQ (Vread_with_symbol_positions, readcharfun))
-           Vread_symbol_positions_list = 
+           Vread_symbol_positions_list =
              /* Kind of a hack; this will probably fail if characters
                 in the symbol name were escaped.  Not really a big
                 deal, though.  */
@@ -2567,7 +2567,7 @@ substitute_object_in_subtree (object, placeholder)
   /* Make all the substitutions. */
   check_object
     = substitute_object_recurse (object, placeholder, object);
-  
+
   /* Clear seen_list because we're done with it. */
   seen_list = Qnil;
 
@@ -2611,7 +2611,7 @@ substitute_object_recurse (object, placeholder, subtree)
      read_objects.  */
   if (!EQ (Qnil, Frassq (subtree, read_objects)))
     seen_list = Fcons (subtree, seen_list);
-      
+
   /* Recurse according to subtree's type.
      Every branch must return a Lisp_Object.  */
   switch (XTYPE (subtree))
@@ -2624,7 +2624,7 @@ substitute_object_recurse (object, placeholder, subtree)
          {
            Lisp_Object idx = make_number (i);
            SUBSTITUTE (Faref (subtree, idx),
-                       Faset (subtree, idx, true_value)); 
+                       Faset (subtree, idx, true_value));
          }
        return subtree;
       }
@@ -2645,7 +2645,7 @@ substitute_object_recurse (object, placeholder, subtree)
 
        INTERVAL    root_interval = STRING_INTERVALS (subtree);
        Lisp_Object arg           = Fcons (object, placeholder);
-          
+
        traverse_intervals_noorder (root_interval,
                                    &substitute_in_interval, arg);
 
@@ -2682,7 +2682,7 @@ isfloat_string (cp)
      register char *cp;
 {
   register int state;
-  
+
   char *start = cp;
 
   state = 0;
@@ -2813,7 +2813,7 @@ read_vector (readcharfun, bytecodeflag)
     }
   return vector;
 }
-  
+
 /* FLAG = 1 means check for ] to terminate rather than ) and .
    FLAG = -1 means check for starting with defun
     and make structure pure.  */
@@ -2832,7 +2832,7 @@ read_list (flag, readcharfun)
   struct gcpro gcpro1, gcpro2;
   /* 0 is the normal case.
      1 means this list is a doc reference; replace it with the number 0.
-     2 means this list is a doc reference; replace it with the doc string.  */ 
+     2 means this list is a doc reference; replace it with the doc string.  */
   int doc_reference = 0;
 
   /* Initialize this to 1 if we are reading a list.  */
@@ -3321,7 +3321,7 @@ init_obarray ()
   /* Intern nil in the obarray */
   XSYMBOL (Qnil)->interned = SYMBOL_INTERNED_IN_INITIAL_OBARRAY;
   XSYMBOL (Qnil)->constant = 1;
-  
+
   /* These locals are to kludge around a pyramid compiler bug. */
   hash = hash_string ("nil", 3);
   /* Separate statement here to avoid VAXC bug. */
@@ -3454,7 +3454,7 @@ defvar_per_buffer (namestring, address, type, doc)
   SET_SYMBOL_VALUE (sym, val);
   PER_BUFFER_SYMBOL (offset) = sym;
   PER_BUFFER_TYPE (offset) = type;
-  
+
   if (PER_BUFFER_IDX (offset) == 0)
     /* Did a DEFVAR_PER_BUFFER without initializing the corresponding
        slot of buffer_local_flags */
@@ -3626,8 +3626,8 @@ init_lread ()
 #endif
 
 #ifndef WINDOWSNT
-  /* When Emacs is invoked over network shares on NT, PATH_LOADSEARCH is 
-     almost never correct, thereby causing a warning to be printed out that 
+  /* When Emacs is invoked over network shares on NT, PATH_LOADSEARCH is
+     almost never correct, thereby causing a warning to be printed out that
      confuses users.  Since PATH_LOADSEARCH is always overridden by the
      EMACSLOADPATH environment variable below, disable the warning on NT.  */
 
@@ -3750,7 +3750,7 @@ symbol from the position where `read' or `read-from-string' started.
 Note that a symbol will appear multiple times in this list, if it was
 read multiple times.  The list is in the same order as the symbols
 were read in. */);
-  Vread_symbol_positions_list = Qnil;  
+  Vread_symbol_positions_list = Qnil;
 
   DEFVAR_LISP ("load-path", &Vload_path,
               doc: /* *List of directories to search for files to load.
@@ -3914,7 +3914,7 @@ to load.  See also `load-dangerous-libraries'.  */);
   staticpro (&read_objects);
   read_objects = Qnil;
   staticpro (&seen_list);
-  
+
   Vloads_in_progress = Qnil;
   staticpro (&Vloads_in_progress);
 }
index 8f4f70efe69adfe467fa40894ac2deb347e98dbc..3db16e67fb68b34717422e7b1f2bcd33c98c195c 100644 (file)
@@ -20,7 +20,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="usg5-2-2"  */
 
@@ -59,7 +59,7 @@ Boston, MA 02111-1307, USA.  */
 
 /* Data type of load average, as read out of kmem.  */
 /* These are commented out since it is not supported by this machine.  */
-  
+
 /* #define LOAD_AVE_TYPE long */
 
 /* Convert that into an integer that is 100 for a load average of 1.0  */
index 243b786e7145072a92670da74f15d36a2191d7e7..dabad592c3946b243689e3351ae6fd1c9ee0e235 100644 (file)
@@ -19,7 +19,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="bsd4-3"  */
 
index 86f104ceedd34c9dcf132a89210ecd1d26fe92e7..3b79a3c17094b708782bb1c4ec8d5fdaa0de9ac6 100644 (file)
@@ -21,7 +21,7 @@ along with GNU Emacs; see the file COPYING.  If not, write to
 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="bsd4-2"  */
 
index 95f56cf1804f67dd5e7db7f5f49f382cf162d366..2e061227b4722f0d591ceff365ecfb62a69dff10 100644 (file)
@@ -1,7 +1,7 @@
 /* config.h should include this file for version 1 of Alliant's
    operating system.  */
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="bsd4-2"  */
 
index ade3dbbaae5f22f84c8e608ac3a873c9f59227cc..7e24c53eb89e9bb932ef7176bdbc6767c18ca73f 100644 (file)
@@ -1,7 +1,7 @@
 /* machine description file for Alliant Concentrix 4.0 or later.
    Use alliant.h for versions 2 and 3.  */
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="bsd4-2"  */
 
index 5ce528622ccd7207d8763e1420ebf8354d00ada9..b37116b0d48cdd0ae48d0bf6961f5c0e80cfc8a0 100644 (file)
@@ -19,7 +19,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="note"
 
index a20f89ac90330828e0ca5591a0cb0553b65a7ae0..654acc1d5c1321d3b28579af2b1e748db49f4350 100644 (file)
@@ -19,7 +19,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="usg5-2"  */
 
index b6a3871a22159ce6c4096fbd897bd97655c4123a..4e64d0dca85ba93a3ec19e92c3f29f9462aa0538 100644 (file)
@@ -1,4 +1,4 @@
-/* amdahl machine description file 
+/* amdahl machine description file
    Copyright (C) 1987, 1999, 2002 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
@@ -123,7 +123,7 @@ extern int sign_extend_temp;
 
 /* Put text and data on non-segment boundary; makes image smaller */
 
-#define LD_SWITCH_MACHINE      -N 
+#define LD_SWITCH_MACHINE      -N
 
 /* When writing the 'xemacs' file, make text segment ro */
 #define EXEC_MAGIC     0410
index eb603eeb4694c6f076eda33b792ce24c5457aa7e..c7cfbf8b847eabd45d8477420fb740faf0f95da4 100644 (file)
@@ -19,7 +19,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="linux"  */
 
index 2808e5803687302bb1acd79a7dfafb9868fa995e..83af7496e01f4ff632fc9162c54ba42e03e7fa50 100644 (file)
@@ -19,7 +19,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="bsd4-3"  */
 
index ed5f3c53dc9d13d3e4c5bb7871ec48faca89d249..46b101dfa4ced35dbf59b5f8fde32811cda7ede0 100644 (file)
@@ -21,7 +21,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="usg5-2-2"  */
 
index 3ec5e99c1ec292deab02dc0bf662618f8ec928f0..c38d144d9b4f9a67c4410981762316c223d59150 100644 (file)
@@ -19,7 +19,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="bsd4-2"  */
 
index 44a86bf5d84dd7ab28131400b0b1265b8e87447f..29797fc1314b3d9e7065584a6bfaa497f79c0fc6 100644 (file)
@@ -19,7 +19,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="bsd4-3"  */
 
@@ -38,7 +38,7 @@ Boston, MA 02111-1307, USA.  */
  * to be corrected before they can be used as byte counts.  */
 
 /* #define WORD_MACHINE */
-  
+
 /* Now define a symbol for the cpu type, if your compiler
    does not define it automatically.  */
 #ifndef convex  /* The compiler doesn't always do this.  */
@@ -54,7 +54,7 @@ Boston, MA 02111-1307, USA.  */
                    and Ralph Sobek <Ralph.Sobek@cerfacs.fr> agree
                    must ignore one arg when compiled with convex compiler.  */
 #define CRT0_DUMMIES ignore,
-#else 
+#else
 #define CRT0_DUMMIES
 #endif
 
@@ -86,9 +86,9 @@ Boston, MA 02111-1307, USA.  */
 /*#define VIRT_ADDR_VARIES*/
 
 /* Must use the system's termcap.  It does special things.  */
-  
+
 #define LIBS_TERMCAP -ltermcap
-  
+
 /* Define NO_REMAP if memory segmentation makes it not work well
    to change the boundary between the text section and data section
    when Emacs is dumped.  If you define this, the preloaded Lisp
index 344e613930111d0e592ce072f66ef6e87e0478cb..7f227e36df93353560d4435d0cbfaa2cfede4c81 100644 (file)
@@ -19,7 +19,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="usg5-3"  */
 
index 08eb98e1eaa30af8dfef80e14061a5c8d3896e6e..0b574ef0ca4ff6f63c1e3b1328443d655418c336 100644 (file)
@@ -19,7 +19,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="usg5-3"  */
 
@@ -54,7 +54,7 @@ Boston, MA 02111-1307, USA.  */
 /* Use type int rather than a union, to represent Lisp_Object */
 /* This is desirable for most machines.  */
 
-#define NO_UNION_TYPE 
+#define NO_UNION_TYPE
 
 /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
    the 24-bit bit field into an int.  In other words, if bit fields
@@ -84,7 +84,7 @@ Boston, MA 02111-1307, USA.  */
    Otherwise Emacs assumes that text space precedes data space,
    numerically.  */
 
-/* #define VIRT_ADDR_VARIES */ 
+/* #define VIRT_ADDR_VARIES */
 
 /* Define NO_REMAP if memory segmentation makes it not work well
    to change the boundary between the text section and data section
@@ -96,13 +96,13 @@ Boston, MA 02111-1307, USA.  */
 /* Motorola SysV has PTYs.  Not all usg3-5 systems do, so this is defined
    here. */
 
-#define HAVE_PTYS 
+#define HAVE_PTYS
 #define SYSV_PTYS
 
 /* Ditto for IPC. */
 
 
-/* 
+/*
  * we now have job control in R32V1
  */
 #undef NOMULTIPLEJOBS
@@ -134,7 +134,7 @@ Boston, MA 02111-1307, USA.  */
 /* previously defined in usg5-4, if we choose to use that.  */
 #ifndef LIBS_SYSTEM
 #ifdef USG5_4
-#define LIBS_SYSTEM -lsocket -lnsl 
+#define LIBS_SYSTEM -lsocket -lnsl
 #else
 #define LIBS_SYSTEM -lbsd -lg
 #endif /* USG5_4 */
index eee18512e6da46694c5fda8746b33f8e4b5048dc..282c4bd877e0d72e3371b5015ffc4a8532f2b2a4 100644 (file)
@@ -1,4 +1,4 @@
-/* machine description for Bull DPX/2 range 
+/* machine description for Bull DPX/2 range
    Copyright (C) 1985, 1986, 1999, 2002 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
@@ -18,12 +18,12 @@ along with GNU Emacs; see the file COPYING.  If not, write to
 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="usg5-3"  */
 
 /*
- * You need to either un-comment one of these lines, or copy one 
+ * You need to either un-comment one of these lines, or copy one
  * of them to config.h before you include this file.
  * Note that some simply define a constant and others set a value.
  */
index a2c022f08edd944203b6de375974fcc565d2fb9b..d00a30d93454e59424db5538cf86ba3e91874e0a 100644 (file)
@@ -18,7 +18,7 @@ along with GNU Emacs; see the file COPYING.  If not, write to
 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="note"
 
@@ -57,7 +57,7 @@ NOTE-END */
 
 /* Data type of load average, as read out of kmem.  */
 /* These are commented out since it does not really work in uniplus */
-  
+
 /* #define LOAD_AVE_TYPE long */
 
 /* Convert that into an integer that is 100 for a load average of 1.0  */
index b3003000dc5b1df5653b0344d848eb2d5456e88e..b392e07c5f0d743f8a895ddad66c8da6bb7fbd99 100644 (file)
@@ -19,7 +19,7 @@ along with GNU Emacs; see the file COPYING.  If not, write to
 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="usg5-2"  */
 
index 00ae9604d5902d18a3ecd9bd1432873ae81e49af..fcbeac3b6caab9dcd516b772ca8af461d1660f3f 100644 (file)
@@ -18,7 +18,7 @@ along with GNU Emacs; see the file COPYING.  If not, write to
 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="bsd4-3"  */
 
index c2e469db38e19b340d9eb3af68cb68eb4945042e..af77843a9f284cd14d8374f8dfd830663c0b0b47 100644 (file)
@@ -25,7 +25,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="note"
 
@@ -37,11 +37,11 @@ Gould Power Node (-machine=gould -opsystem=bsd4-2 or bsd4-3)
 
   On UTX/32 2.0, use -opsystem=bsd4-3
 
-  On UTX/32 1.2 and UTX/32S 1.0, use -opsystem=bsd4-2 and note that compiling 
-  lib-src/sorted-doc tickles a compiler bug:  remove the -g flag to cc in the 
+  On UTX/32 1.2 and UTX/32S 1.0, use -opsystem=bsd4-2 and note that compiling
+  lib-src/sorted-doc tickles a compiler bug:  remove the -g flag to cc in the
   makefile.
 
-  UTX/32 1.3 has a bug in the bcopy library routine.  Fix it by 
+  UTX/32 1.3 has a bug in the bcopy library routine.  Fix it by
   #undef BSTRING in gould.h.
 
   Version 19 incorporates support for releases 2.1 and later of UTX/32.
@@ -70,7 +70,7 @@ NOTE-END */
 #define GOULD
 #endif
 
-/* sel is an old preprocessor name on gould machines 
+/* sel is an old preprocessor name on gould machines
   - it is no longer needed and interferes with a variable in xmenu.c */
 #undef sel
 
index 72c3a1ca4eae8a26d9a913068df66ad83e896c8f..5e4e0fd0ec6d6fb29d084fe708edabe7a6a0a0a9 100644 (file)
@@ -19,7 +19,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="hpux"  */
 
@@ -61,7 +61,7 @@ Boston, MA 02111-1307, USA.  */
 
 /* The standard definitions of these macros would work ok,
    but these are faster because the constants are short. */
-   
+
 
 #define XUINT(a) (((unsigned)(a) << BITS_PER_INT-VALBITS) >> BITS_PER_INT-VALBITS)
 
index 725aa0d9eec7ab18a43704008ed8e69e320bc288..ad4ca111664e408e354a00481ec7c03f5aa87139 100644 (file)
@@ -19,7 +19,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="note"
 
index b65b6fdd27d7fa24917e78612ea3a70a4771304d..48222538380c13e9f01b809c3d90441827ade9ed 100644 (file)
@@ -19,7 +19,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="<name of system .h file here, without the s- or .h>"  */
 
index cae7f24db36540cb27740eb69ae9e895cab99069..32dc30089a5ff0f0851ef28abf1b29706eeacc50 100644 (file)
@@ -49,7 +49,7 @@ Boston, MA 02111-1307, USA.  */
 #define LOAD_AVE_TYPE double
 
 #undef LIBS_MACHINE
-#define LIBS_MACHINE 
+#define LIBS_MACHINE
 
 #undef LD_SWITCH_MACHINE
 #define LD_SWITCH_MACHINE -xa
index 36dc0e7cbdc4a30fd2cc2c386439d6d1dd550f59..a29d916451dd5e6b5f53d4f34d36916cfe88a191 100644 (file)
@@ -19,7 +19,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="note"
 
@@ -190,7 +190,7 @@ so disable it for them.  */
 #ifdef __GNUC__
 #define alloca(n) __builtin_alloca(n)
 #if __GNUC__ < 2
-#define LIB_STANDARD /usr/local/lib/gcc-gnulib -lbsd -lrts -lc 
+#define LIB_STANDARD /usr/local/lib/gcc-gnulib -lbsd -lrts -lc
 #endif
 /* -g fails to work, so it is omitted.  */
 /* tranle says that -fstrength-reduce does not help.  */
index 51f809c45ff6563d5b20379577021a7ea53bfe44..650530bf4c00e4892032611ab2d1aaa5de2235e1 100644 (file)
@@ -19,7 +19,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="aix3-1"  */
 
index 0ae8941007f14879a3f998cdbc8d70043d7ef810..26803238953f330314a56dccf9fb216f01a0b879 100644 (file)
@@ -19,7 +19,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="usg5-2-2"  */
 
index e6dfa17117db699437b497550a60eccc8b1c88b4..587729e1418c85b6b294678675adce354a42f4a4 100644 (file)
@@ -1,4 +1,4 @@
-/* RTPC machine dependent defines 
+/* RTPC machine dependent defines
    Copyright (C) 1986, 2002 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
@@ -19,7 +19,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="bsd4-2"  */
 
index 019db37bd8045f9a4c05b9b7647a4381daca2b3f..711681267a4e395842f6eb23531c8ceb985e5d4a 100644 (file)
@@ -19,7 +19,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="<name of system .h file here, without the s- or .h>"  */
 
index 318a5e1c7dc2efbc0b369abcb1097e3c13d2c2eb..7f9f616d25a64f0b6131483dfd31d44c33a09044 100644 (file)
@@ -19,7 +19,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="note"
 
@@ -185,7 +185,7 @@ NOTE-END */
 #endif /* not USG5_4 */
 #endif /* LIB_STANDARD */
 
-#define NO_REMAP 
+#define NO_REMAP
 #define TEXT_START 0
 #endif /* USG */
 #endif /* not XENIX */
index 78111b6a3e154d6ca0cdd1d39ec1e01dfafeb67d..b365371324ffb495afeedb4199818aadba087a72 100644 (file)
@@ -20,7 +20,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="note"
 NOTE-START
index 45f9273e910ff90878c7bc1366d40b1a97e4c32c..0c89fdf91c6bf1e687d2f19395172d0a1b1d6155 100644 (file)
@@ -2,7 +2,7 @@
 
 #include "intel386.h"
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="note"
 
index 768b40051f694492a7b20c7c4968c06e41756cb2..a1ab808923ad0472fb0a9fad97ff58da06e5654f 100644 (file)
@@ -19,7 +19,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="note"
 
index 540fa3e0a8e1406b1b30968b5f4109092640b7ad..0b045794e4218b1c5bd9d9d2d6a9bbb304641fe1 100644 (file)
@@ -19,7 +19,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="rtu"  */
 
index b67e3573293527f0de0745b8d6e988b89601a622..fccd495e0d867b3593f12df9fd46fa9266701479 100644 (file)
@@ -19,7 +19,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="bsd4-2"  */
 
index 7d37959e4414882417f2bdc939560fe79fbfc4be..bf6e708bd7ecda02d748d4056747fa896a6c419b 100644 (file)
@@ -20,7 +20,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="note"
 
index 832487795d517f664f7a576c16e5aed88a4ef67c..d0935ce616038bf0d046c3b1a25affe3f024792f 100644 (file)
@@ -24,7 +24,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="note"
 
@@ -140,10 +140,10 @@ NOTE-END  */
 
 #ifdef __GNUC__
 #define C_DEBUG_SWITCH
-#define LD_SWITCH_MACHINE 
+#define LD_SWITCH_MACHINE
 #else
 #define C_DEBUG_SWITCH -DSYSV
-#define C_OPTIMIZE_SWITCH -DSYSV 
+#define C_OPTIMIZE_SWITCH -DSYSV
 #define LD_SWITCH_MACHINE
 #endif
 
index d4143a4d51fafdfa1ba24d734904928ba8cfb4ea..3948cb6855cf268bd447e0ca088e1b4c0b4f8aa0 100644 (file)
@@ -19,7 +19,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="note"
 
index 33905072ac0127f555d7863e9583f24c8508d2cc..5371fc03200e6cd9d4ed1cb58c9f652acfa107f5 100644 (file)
@@ -2,7 +2,7 @@
 
 #include "mips.h"
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="note"
 
index 7066395e360b8714a344419236a1e9b606495882..cba5bbc568910034215f2b04d125e6958c68906e 100644 (file)
@@ -18,7 +18,7 @@
 
 #else /* not NEWSOS5 */
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="bsd4-3"  */
 
index 0fdeed10f4ed77c9e3b0fa9fc7ae0d678f50cad6..812432d8f38e58c64b8bb79f8738a678b71f744e 100644 (file)
@@ -19,7 +19,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="note"
 
index eafb560e47174f5a6695599ce25de0ffc6c9065f..4df55957d9011fee9c3657dba560d336d741ca9c 100644 (file)
@@ -24,7 +24,7 @@ Boston, MA 02111-1307, USA.  */
  * series Motorola 88100 and 88110 based machines.
  */
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="<name of system .h file here, without the s- or .h>"  */
 
index b5db2802cfa1326f367dbbf9f733ba30849b201b..d002405fe13a164a3c79ec7a62274be71cd9ee3d 100644 (file)
@@ -23,7 +23,7 @@ Boston, MA 02111-1307, USA.  */
  * series Motorola 88100 and 88110 based machines.
  */
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="<name of system .h file here, without the s- or .h>"  */
 
index e6cbe6cee6f09604b96ae54d9b06eba24725b662..f684c3dcc6dcc66a6fa69c79cb3a3262cf4598ba 100644 (file)
@@ -19,7 +19,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="note"
 
index 2bacb5702d3f8af4b351addeeabc304d74d8dc97..c31838623556f97d92adbe9452a62aebe2c7e87d 100644 (file)
@@ -20,7 +20,7 @@ Boston, MA 02111-1307, USA.  */
 
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="usg5-2"  */
 
index ec9ad5f297685b24a593ae04124a13e60c906d1f..8eb9374e6da3977ee766fe9bdfcaf172d433404c 100644 (file)
@@ -19,7 +19,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="usg5-2"  */
 
@@ -50,7 +50,7 @@ Boston, MA 02111-1307, USA.  */
 
 /* Data type of load average, as read out of kmem.  */
 /* These are commented out since it does not really work in uniplus */
-  
+
 /* #define LOAD_AVE_TYPE long */
 
 /* Convert that into an integer that is 100 for a load average of 1.0  */
index c2b83bc1903d8b3826a13cb01236618d5c529668..2a89251e23cb23b484dbc29adf7c27c09d3f751a 100644 (file)
@@ -19,7 +19,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="bsd4-2"  */
 
index 2f622107ff4e0d803ee4807ea9ed3366a91845b0..7e5fb34b319db1d0d1aee2008bb983c265b936d4 100644 (file)
@@ -20,7 +20,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="bsd4-2"  */
 
index 9f8690127ec402a9535c4735e52ded5659f4f006..22dbffa16f9dd8fcda420797d677aa5d0bb964d4 100644 (file)
@@ -19,7 +19,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="usg5-2"  */
 
@@ -88,7 +88,7 @@ Boston, MA 02111-1307, USA.  */
 
 #undef NO_REMAP
 
-/* Use the following on ld so we can use the gnu crt0 
+/* Use the following on ld so we can use the gnu crt0
    The plexus ld looks for start                      */
 #define LD_SWITCH_MACHINE -e __start
 
index 7cf01f79c418f8c7a1d0ce6ac72561ff69883173..54f246fed65000a8f0cf3d8aaff56be31b20105c 100644 (file)
@@ -2,9 +2,9 @@
 
 #include "mips.h"
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
-   USUAL-OPSYS="note"  
+   USUAL-OPSYS="note"
 
 NOTE-START
 The operating system would be either osf1, ultrix, or NetBSD.
index f60e51963b09f8fa246993d259ac27d578aa3970..0ab535dfd235ce32cc4c4bd4ae9a44f584088f0e 100644 (file)
@@ -19,7 +19,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="darwin"  */
 
index e1409200dbcb853b27cc3cef6c5d256fc4f892be..2c01acb843d61744fc194f926f54effe373cf43c 100644 (file)
@@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License
 along with GNU Emacs; see the file COPYING.  If not, write to
 the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="Solaris2.5.1 Windows/NT AIX 4.1.2"
 */
index ace92e51ba3cd5f8883893ce4a2ef086add603a8..7abd4f88b3f5bfe66bb733fa52a9f4457425ee19 100644 (file)
@@ -19,7 +19,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="bsd4-2"  */
 
index fdf977075c791e77e7f871c194226b1a7fb9b5cc..2c815ff97bbbf776568cddc8176acb81b33eebb5 100644 (file)
@@ -19,7 +19,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="ptx"  */
 
@@ -95,7 +95,7 @@ Boston, MA 02111-1307, USA.  */
 #endif
 /* #undef NO_REMAP */
 
-/* If a valid PTX executable could be dumped without NO_REMAP defined, 
+/* If a valid PTX executable could be dumped without NO_REMAP defined,
    here's a guess at some defines to make it work.  */
 #ifndef NO_REMAP
 
index 2cd06b490d8a9387175bbf651bb941088173a33f..404bbf546682a7dbc5d4d1164cba838bc9606f1b 100644 (file)
@@ -19,15 +19,15 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
-   USUAL-OPSYS="note"  
+   USUAL-OPSYS="note"
 
 NOTE-START
 Use -opsystem=bsd4-2, or -opsystem=bsd4-3 on newer systems.
 NOTE-END */
 
-/* NOTE: this file works for DYNIX release 2.0 
+/* NOTE: this file works for DYNIX release 2.0
          (not tested on 1.3) on NS32000's */
 
 /* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
index 28ac8421694425b9009cfd272aa5c0e82dd4a7c9..8e22ccb2b21d9b7355c804354c6bf7d7fd36df29 100644 (file)
@@ -18,7 +18,7 @@ along with GNU Emacs; see the file COPYING.  If not, write to
 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="note"
 
index f1e83e24deb5d3229b61c9be53b83a0fbc29ad4d..1589f2cbfb2a7f76e71dd65aa36a8f93df6df2c7 100644 (file)
@@ -19,7 +19,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="usg5-2"  */
 
@@ -34,7 +34,7 @@ Boston, MA 02111-1307, USA.  */
 #define m68000
 #endif
 
-#define sps7  
+#define sps7
 
 /* Use type int rather than a union, to represent Lisp_Object */
 
@@ -99,7 +99,7 @@ Boston, MA 02111-1307, USA.  */
 /* Use -T32 for 68020, -T16 otherwise */
 
 #define C_SWITCH_MACHINE -T32
-  
+
 #define BROKEN_SIGIO
 
 /* Other than 68020 use ld16, as32, or undefine (defaults ld and as). */
index 5013d1249fc9ba7ce5220a538895b0cb4d750d11..4adf0f700fc2e57aa619384f06ccda84ef089887 100644 (file)
@@ -19,7 +19,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="hpux"  */
 
@@ -61,7 +61,7 @@ Boston, MA 02111-1307, USA.  */
 
 /* The standard definitions of these macros would work ok,
    but these are faster because the constants are short. */
-   
+
 
 #define XUINT(a) (((unsigned)(a) << BITS_PER_INT-VALBITS) >> BITS_PER_INT-VALBITS)
 
index 17bc577dd69b56d0a7f84040db20908fe9e56cdc..4e1fd18dc91b2131ff5f20ab212f0ee7a76c39bd 100644 (file)
@@ -19,7 +19,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="usg5-2"  */
 
index 68a113747e8bbc60ede1da82108c01b2e4af094e..6bff1d2167787a8dee84c9e78fdcf3322507f9fb 100644 (file)
@@ -19,7 +19,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="note"
 
index e9267df0967bbc6b044e803af7b7bd85ad60b421..5107f3c47d28e9d032103edb4d351d59f4353d6a 100644 (file)
@@ -21,7 +21,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="note"
 
index b74758fa4fc01a334dfae603ca4919524caf785f..1210bef630095675cf0f78699b996f8a5e4aef73 100644 (file)
@@ -2,7 +2,7 @@
 
 #include "sun3.h"
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="note"
 
index da959cac3611087eb63288ba1e838f1a3ab2827e..1b2c084e010f22d24a78d3f4ee7d2c2fa03ce546 100644 (file)
@@ -2,7 +2,7 @@
 
 #include "sun3.h"
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="note"
 
index 05a1e9e7f492b37d4309b31f127dd79dc98d6c14..0913e875d8a53b31b526ebc7d22b608e60474283 100644 (file)
@@ -2,7 +2,7 @@
 
 #include "sun3.h"
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="note"
 
index b20889c25b8d224fa8eb49f815df5d1e9728df58..24f84d8e2da9747ac70d1d444a49624a6c4f38ad 100644 (file)
@@ -7,7 +7,7 @@
 #define sun3
 #endif
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="note"
 
index cf9537ea1002b1e6f9bee7146662d29873846c04..61468f99879156ddb365cde2624a7ec7fbbc4628 100644 (file)
@@ -21,7 +21,7 @@ along with GNU Emacs; see the file COPYING.  If not, write to
 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="note"
 
@@ -47,7 +47,7 @@ NOTE-END  */
 
 #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
 
-/* Underscores are not prepended to C symbols on this machine.  */ 
+/* Underscores are not prepended to C symbols on this machine.  */
 #undef LDAV_SYMBOL
 #define LDAV_SYMBOL "avenrun"
 
index 74ca6c09c26e48410d2dcc2c17f0b1595c721bc2..a3e89c58490ebd80b3fe80bb015814fbd100ec09 100644 (file)
@@ -18,18 +18,18 @@ along with GNU Emacs; see the file COPYING.  If not, write to
 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
-/* CHANGE: [Eric H. Herrin II; eric@ms.uky.edu - 15 Sept 1988] 
- * Modified the sequent.h file for the Sequent Symmetry machine.   
- * Biggest change was to align the sections in the a.out to 4K 
+/* CHANGE: [Eric H. Herrin II; eric@ms.uky.edu - 15 Sept 1988]
+ * Modified the sequent.h file for the Sequent Symmetry machine.
+ * Biggest change was to align the sections in the a.out to 4K
  * boundaries (this is the page size).
  */
 
 
 /* NOTICE: this file works for DYNIX release 3.0.12 on Sequent Symmetry
  * (Intel 80386) machines.  Hasn't been tested on anything else.
- */ 
+ */
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="bsd4-3"  */
 
index 78b961d2c777ac60fa43f7f53031d75e7a46c924..4aa142fbd91b03cda32c22b3dcf0ea6ae35f816d 100644 (file)
@@ -19,7 +19,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="usg5-3"  */
 
index 5bef9a1a375e34f8137a28b4c7fe0ef3c56f4b60..343247d0529be3965f85ff8cd76798be0eb4fd72 100644 (file)
@@ -19,7 +19,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="note"
 
index 405af5c844a350b64fddc689690b1b2b58ec0b6b..92e9ebfbb350c295d5050c6f69488151a06da47c 100644 (file)
@@ -2,7 +2,7 @@
 
 #include "mips.h"
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="usg5-3"  */
 
index 86211a6e5a46c4dc2cc6327774821e5fa19c9235..7c44f12e17714ee70447b8db3d3f06de757e5fc8 100644 (file)
@@ -1,4 +1,4 @@
-/* targon31 machine description file 
+/* targon31 machine description file
    Copyright (C) 1985, 1986, 2002 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
@@ -19,7 +19,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="usg5-2-2"  */
 
index 5c88f6ef9bddc20ad9ee3d59c21e61bd2b136b4c..d402022a034ab0077d0d16a59c0e94e0426dc63c 100644 (file)
@@ -19,7 +19,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="bsd4-3"  */
 
index cc2439d0a92f474c730acd47332268217956cfbf..2e1fa20d3714e577a21188276e7216042852b12b 100644 (file)
@@ -48,7 +48,7 @@ Boston, MA 02111-1307, USA.  */
 
 /* Use type int rather than a union, to represent Lisp_Object */
 /* This is desirable for most machines.  */
-#define NO_UNION_TYPE 
+#define NO_UNION_TYPE
 
 /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
    the 24-bit bit field into an int.  In other words, if bit fields
@@ -73,7 +73,7 @@ Boston, MA 02111-1307, USA.  */
 
    Otherwise Emacs assumes that text space precedes data space,
    numerically.  */
-/* #define VIRT_ADDR_VARIES */ 
+/* #define VIRT_ADDR_VARIES */
 
 /* Define NO_REMAP if memory segmentation makes it not work well
    to change the boundary between the text section and data section
@@ -100,7 +100,7 @@ Boston, MA 02111-1307, USA.  */
 #define HAVE_PTYS      /* XD88 SysV has PTYs. */
 #define SYSV_PTYS      /* Requires <termios.h> */
 
-#ifdef ghs  /* Stands for "Green Hills Software", defined only in /bin/cc */ 
+#ifdef ghs  /* Stands for "Green Hills Software", defined only in /bin/cc */
 /* -X18 means do not allocate programmer-defined local variables to a
    register unless they are declared register.  (Copied from perl-4.036
    Green Hills C hints file.  Might be needed for setjmp, I don't know.) */
index 7683cbfba6eb8323a7de91e33c1168e94f6ee889..6def690cd98b91a0b36c901aa2acce2c2c0f8249 100644 (file)
@@ -19,7 +19,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="<name of system .h file here, without the s- or .h>"  */
 
index 9dbb0dc6b6ed47d3c2341ab1f3b3586719a34052..307d2b93e336cc7a6ce2c1605e260b148399300c 100644 (file)
@@ -19,7 +19,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="usg5-2-2"  */
 
index dbbafcd19cd492dbc80a7569912cb4b306383131..3d54366aa9449fb4cd6778b3408c8fc24677a254 100644 (file)
@@ -20,7 +20,7 @@ Boston, MA 02111-1307, USA.  */
 
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="usg5-3"  */
 
index 9e8c26a17dad7001bdfa055b1a52f57266f13787..17d59df0d021186993b42fac7df6b45c29ea3fe1 100644 (file)
@@ -19,7 +19,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="usg5-3"  */
 
index 86ca420f2e4c454f66e8ceee8ec187fc3c57c985..eace9f7e144c718bf7ada1acec6d7ec04ffe87f9 100644 (file)
@@ -19,7 +19,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="note"
 
index e361d09164d7c4bcc82fbe16e3df03f33773e4be..0a9596cd15c986d487bcaf047b39b849bfdb4d2a 100644 (file)
@@ -19,7 +19,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="usg5-2"  */
 
index 5a3e16ddad1f6ec8e388f42f0d428e0bb6345f82..4188a7032ec557bb02265ce26e8b249e814f99a1 100644 (file)
@@ -19,7 +19,7 @@ along with GNU Emacs; see the file COPYING.  If not, write to
 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="<name of system .h file here, without the s- or .h>"  */
 
index 499182d5509c97d65ac1fc9f36683e1ceaaf1804..26cec5237419d9122853d4f2b0c36fcf7e143d73 100644 (file)
@@ -21,7 +21,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="usg5-2"  */
 
index bc2d342b19704a6070322d9e2ece23226aec9eb5..a6b92db4680fe9c958d97378c0bc439dfd134c07 100644 (file)
--- a/src/mac.c
+++ b/src/mac.c
@@ -2770,7 +2770,7 @@ sys_select (n, rfds, wfds, efds, timeout)
   if (!inhibit_window_system && rfds && FD_ISSET (0, rfds))
     return 1;
   else if (inhibit_window_system || noninteractive ||
-          (timeout && (EMACS_SECS(*timeout)==0) && 
+          (timeout && (EMACS_SECS(*timeout)==0) &&
            (EMACS_USECS(*timeout)==0)))
     return select(n, rfds, wfds, efds, timeout);
   else
@@ -2780,22 +2780,22 @@ sys_select (n, rfds, wfds, efds, timeout)
       EMACS_GET_TIME (end_time);
       if (timeout)
        EMACS_ADD_TIME (end_time, end_time, *timeout);
-      
+
       do
        {
          int r;
          EMACS_TIME one_second;
          SELECT_TYPE orfds;
-         
+
          FD_ZERO (&orfds);
          if (rfds)
            {
              orfds = *rfds;
            }
-         
+
          EMACS_SET_SECS (one_second, 1);
          EMACS_SET_USECS (one_second, 0);
-         
+
          if (timeout && EMACS_TIME_LT(*timeout, one_second))
            one_second = *timeout;
 
@@ -2806,12 +2806,12 @@ sys_select (n, rfds, wfds, efds, timeout)
            }
 
          mac_check_for_quit_char();
-         
+
          EMACS_GET_TIME (now);
          EMACS_SUB_TIME (now, end_time, now);
        }
       while (!timeout || !EMACS_TIME_NEG_P (now));
-      
+
       return 0;
     }
 }
@@ -2835,7 +2835,7 @@ int sys_read (fds, buf, nbyte)
       if (sys_select (fds+1, &rfds, 0, 0, NULL) < 0)
        return -1;
     }
-      
+
   return read (fds, buf, nbyte);
 }
 
index d52fff8bd5e90923a1b70357608c8b1f7d0d4a62..3958be9668d3e29a817f0da0db35edc57b8a2d66 100644 (file)
@@ -120,7 +120,7 @@ typedef struct _widget_value
   char*                name;
   /* value (meaning depend on widget type) */
   char*                value;
-  /* keyboard equivalent. no implications for XtTranslations */ 
+  /* keyboard equivalent. no implications for XtTranslations */
   char*                key;
   /* Help string or nil if none.
      GC finds this string through the frame's menu_bar_vector
@@ -174,7 +174,7 @@ typedef struct _widget_value
 #define TRUE 1
 #define FALSE 0
 #endif /* no TRUE */
-  
+
 Lisp_Object Vmenu_updating_frame;
 
 Lisp_Object Qdebug_on_next_call;
@@ -507,7 +507,7 @@ single_keymap_panes (keymap, pane_name, prefix, notreal, maxdepth)
 \f
 /* This is a subroutine of single_keymap_panes that handles one
    keymap entry.
-   KEY is a key in a keymap and ITEM is its binding. 
+   KEY is a key in a keymap and ITEM is its binding.
    PENDING_MAPS_PTR points to a list of keymaps waiting to be made into
    separate panes.
    If NOTREAL is nonzero, only check for equivalent key bindings, don't
@@ -523,7 +523,7 @@ single_menu_item (key, item, pending_maps_ptr, notreal, maxdepth)
   Lisp_Object map, item_string, enabled;
   struct gcpro gcpro1, gcpro2;
   int res;
-  
+
   /* Parse the menu item and leave the result in item_properties.  */
   GCPRO2 (key, item);
   res = parse_menu_item (item, notreal, 0);
@@ -532,7 +532,7 @@ single_menu_item (key, item, pending_maps_ptr, notreal, maxdepth)
     return;                    /* Not a menu item.  */
 
   map = XVECTOR (item_properties)->contents[ITEM_PROPERTY_MAP];
-  
+
   if (notreal)
     {
       /* We don't want to make a menu, just traverse the keymaps to
@@ -543,7 +543,7 @@ single_menu_item (key, item, pending_maps_ptr, notreal, maxdepth)
     }
 
   enabled = XVECTOR (item_properties)->contents[ITEM_PROPERTY_ENABLE];
-  item_string = XVECTOR (item_properties)->contents[ITEM_PROPERTY_NAME]; 
+  item_string = XVECTOR (item_properties)->contents[ITEM_PROPERTY_NAME];
 
   if (!NILP (map) && SREF (item_string, 0) == '@')
     {
@@ -818,7 +818,7 @@ cached information about equivalent key sequences.  */)
 
       keymaps = 0;
     }
-  
+
   if (NILP (position))
     {
       discard_menu_items ();
@@ -971,7 +971,7 @@ on the left of the dialog box and all following items on the right.
    But first we recompute the menu bar contents (the whole tree).
 
    This way we can safely execute Lisp code.  */
-   
+
 void
 x_activate_menubar (f)
      FRAME_PTR f;
@@ -1182,7 +1182,7 @@ single_submenu (item_key, item_name, maps)
   first_wv = wv;
   save_wv = 0;
   prev_wv = 0;
+
   /* Loop over all panes and items made during this call
      and construct a tree of widget_value objects.
      Ignore the panes and items made by previous calls to
@@ -1286,7 +1286,7 @@ single_submenu (item_key, item_name, maps)
 #endif /* not HAVE_MULTILINGUAL_MENU */
 
          wv = xmalloc_widget_value ();
-         if (prev_wv) 
+         if (prev_wv)
            prev_wv->next = wv;
          else
            save_wv->contents = wv;
@@ -1432,7 +1432,7 @@ set_frame_menubar (f, first_time, deep_p)
            break;
 
          wv = single_submenu (key, string, maps);
-         if (prev_wv) 
+         if (prev_wv)
            prev_wv->next = wv;
          else
            first_wv->contents = wv;
@@ -1508,7 +1508,7 @@ set_frame_menubar (f, first_time, deep_p)
             This value just has to be different from small integers.  */
          wv->call_data = (void *) (EMACS_INT) (-1);
 
-         if (prev_wv) 
+         if (prev_wv)
            prev_wv->next = wv;
          else
            first_wv->contents = wv;
@@ -1537,7 +1537,7 @@ set_frame_menubar (f, first_time, deep_p)
        DisposeMenu (menu);
        menu = GetMenuHandle (++i);
       }
-    
+
     i = MIN_SUBMENU_ID;
     menu = GetMenuHandle (i);
     while (menu != NULL)
@@ -1549,9 +1549,9 @@ set_frame_menubar (f, first_time, deep_p)
   }
 
   fill_menubar (first_wv->contents);
-  
+
   DrawMenuBar ();
-  
+
   free_menubar_widget_value_tree (first_wv);
 
   UNBLOCK_INPUT;
@@ -1640,7 +1640,7 @@ mac_menu_show (f, x, y, for_click, keymaps, title, error)
   wv->help = Qnil;
   first_wv = wv;
   first_pane = 1;
+
   /* Loop over all panes and items, filling in the tree.  */
   i = 0;
   while (i < menu_items_used)
@@ -1743,9 +1743,9 @@ mac_menu_show (f, x, y, for_click, keymaps, title, error)
 #endif /* not HAVE_MULTILINGUAL_MENU */
 
          wv = xmalloc_widget_value ();
-         if (prev_wv) 
+         if (prev_wv)
            prev_wv->next = wv;
-         else 
+         else
            save_wv->contents = wv;
          wv->name = (char *) SDATA (item_name);
          if (!NILP (descrip))
@@ -1830,14 +1830,14 @@ mac_menu_show (f, x, y, for_click, keymaps, title, error)
   menu_item_selection = LoWord (menu_item_choice);
 
   /* Get the refcon to find the correct item*/
-  if (menu_item_selection) 
+  if (menu_item_selection)
     {
       menu = GetMenuHandle (HiWord (menu_item_choice));
       if (menu) {
        GetMenuItemRefCon (menu, menu_item_selection, &refcon);
       }
     }
-  
+
 #if 0
   /* Clean up extraneous mouse events which might have been generated
      during the call.  */
@@ -1944,13 +1944,13 @@ mac_dialog (widget_value *wv)
   SInt16 part_code;
   int control_part_code;
   Point mouse;
-            
+
   dialog_name = wv->name;
   nb_buttons = dialog_name[1] - '0';
   left_count = nb_buttons - (dialog_name[4] - '0');
   button_labels = (char **) alloca (sizeof (char *) * nb_buttons);
   ref_cons = (UInt32 *) alloca (sizeof (UInt32) * nb_buttons);
-  
+
   wv = wv->contents;
   prompt = (char *) alloca (strlen (wv->value) + 1);
   strcpy (prompt, wv->value);
@@ -1974,7 +1974,7 @@ mac_dialog (widget_value *wv)
 #else
   SetPort (window_ptr);
 #endif
-  
+
   TextFont (0);
   /* Left and right margins in the dialog are 13 pixels each.*/
   dialog_width = 14;
@@ -1996,7 +1996,7 @@ mac_dialog (widget_value *wv)
 #else
   SetPort (window_ptr);
 #endif
-  
+
   TextFont (0);
 
   MoveTo (13, 29);
@@ -2034,7 +2034,7 @@ mac_dialog (widget_value *wv)
     }
 
   DisposeWindow (window_ptr);
-  
+
   return i;
 }
 
@@ -2076,7 +2076,7 @@ mac_dialog_show (f, keymaps, title, error)
     pane_name = XVECTOR (menu_items)->contents[MENU_ITEMS_PANE_NAME];
     prefix = XVECTOR (menu_items)->contents[MENU_ITEMS_PANE_PREFIX];
     pane_string = (NILP (pane_name)
-                  ? "" : (char *) SDATA (pane_name));  
+                  ? "" : (char *) SDATA (pane_name));
     prev_wv = xmalloc_widget_value ();
     prev_wv->value = pane_string;
     if (keymaps && !NILP (prefix))
@@ -2085,12 +2085,12 @@ mac_dialog_show (f, keymaps, title, error)
     prev_wv->name = "message";
     prev_wv->help = Qnil;
     first_wv = prev_wv;
+
     /* Loop over all panes and items, filling in the tree.  */
     i = MENU_ITEMS_PANE_LENGTH;
     while (i < menu_items_used)
       {
-       
+
        /* Create a new item within current pane.  */
        Lisp_Object item_name, enable, descrip, help;
 
@@ -2099,7 +2099,7 @@ mac_dialog_show (f, keymaps, title, error)
        descrip
          = XVECTOR (menu_items)->contents[i + MENU_ITEMS_ITEM_EQUIV_KEY];
         help = XVECTOR (menu_items)->contents[i + MENU_ITEMS_ITEM_HELP];
-       
+
        if (NILP (item_name))
          {
            free_menubar_widget_value_tree (first_wv);
@@ -2240,10 +2240,10 @@ add_menu_item (MenuHandle menu, widget_value *wv, int submenu,
 
   if (name_is_separator (wv->name))
     AppendMenu (menu, "\p-");
-  else 
+  else
     {
       AppendMenu (menu, "\pX");
-      
+
 #if TARGET_API_MAC_CARBON
       pos = CountMenuItems (menu);
 #else
@@ -2340,7 +2340,7 @@ fill_menubar (widget_value *wv)
     {
       MenuHandle menu;
       Str255 title;
-        
+
       strncpy (title, wv->name, 255);
       title[255] = 0;
       c2pstr (title);
@@ -2348,7 +2348,7 @@ fill_menubar (widget_value *wv)
 
       if (wv->contents)
         fill_menu (menu, wv->contents);
-      
+
       InsertMenu (menu, 0);
     }
 }
index 99383f758f34fcea603e252631482470cd2ce9e1..44d44d2c9c1f2bc89618b8058945c8c08d309045 100644 (file)
@@ -62,7 +62,7 @@ Use \\[end-kbd-macro] to finish recording and make the macro available.
 Use \\[name-last-kbd-macro] to give it a permanent name.
 Non-nil arg (prefix arg) means append to last macro defined;
 this begins by re-executing that macro as if you typed it again.
-If optional second arg, NO-EXEC, is non-nil, do not re-execute last 
+If optional second arg, NO-EXEC, is non-nil, do not re-execute last
 macro before appending to it. */)
      (append, no_exec)
      Lisp_Object append, no_exec;
@@ -127,7 +127,7 @@ macro before appending to it. */)
       message ("Appending to kbd macro...");
     }
   current_kboard->defining_kbd_macro = Qt;
-  
+
   return Qnil;
 }
 
@@ -155,7 +155,7 @@ With numeric arg, repeat macro now that many times,
 counting the definition just completed as the first repetition.
 An argument of zero means repeat until error.
 
-In Lisp, optional second arg LOOPFUNC may be a function that is called prior to 
+In Lisp, optional second arg LOOPFUNC may be a function that is called prior to
 each iteration of the macro.  Iteration stops if LOOPFUNC returns nil.  */)
      (repeat, loopfunc)
      Lisp_Object repeat, loopfunc;
@@ -198,7 +198,7 @@ store_kbd_macro_char (c)
       if (kb->kbd_macro_ptr - kb->kbd_macro_buffer == kb->kbd_macro_bufsize)
        {
          int ptr_offset, end_offset, nbytes;
-         
+
          ptr_offset = kb->kbd_macro_ptr - kb->kbd_macro_buffer;
          end_offset = kb->kbd_macro_end - kb->kbd_macro_buffer;
          kb->kbd_macro_bufsize *= 2;
@@ -208,7 +208,7 @@ store_kbd_macro_char (c)
          kb->kbd_macro_ptr = kb->kbd_macro_buffer + ptr_offset;
          kb->kbd_macro_end = kb->kbd_macro_buffer + end_offset;
        }
-      
+
       *kb->kbd_macro_ptr++ = c;
     }
 }
@@ -248,9 +248,9 @@ DEFUN ("call-last-kbd-macro", Fcall_last_kbd_macro, Scall_last_kbd_macro,
 A prefix argument serves as a repeat count.  Zero means repeat until error.
 
 To make a macro permanent so you can call it even after
-defining others, use \\[name-last-kbd-macro].  
+defining others, use \\[name-last-kbd-macro].
 
-In Lisp, optional second arg LOOPFUNC may be a function that is called prior to 
+In Lisp, optional second arg LOOPFUNC may be a function that is called prior to
 each iteration of the macro.  Iteration stops if LOOPFUNC returns nil.  */)
      (prefix, loopfunc)
      Lisp_Object prefix, loopfunc;
@@ -295,9 +295,9 @@ pop_kbd_macro (info)
 DEFUN ("execute-kbd-macro", Fexecute_kbd_macro, Sexecute_kbd_macro, 1, 3, 0,
        doc: /* Execute MACRO as string of editor command characters.
 If MACRO is a symbol, its function definition is used.
-COUNT is a repeat count, or nil for once, or 0 for infinite loop. 
+COUNT is a repeat count, or nil for once, or 0 for infinite loop.
 
-Optional third arg LOOPFUNC may be a function that is called prior to 
+Optional third arg LOOPFUNC may be a function that is called prior to
 each iteration of the macro.  Iteration stops if LOOPFUNC returns nil.  */)
      (macro, count, loopfunc)
      Lisp_Object macro, count, loopfunc;
index f31ae2d44d461223aee4b2e9824ce6aee9cf3f85..e9f613918fd5e5334d7d7612ef74148c0f07b203 100644 (file)
@@ -202,7 +202,7 @@ Lisp_Object Vx_toolkit_scroll_bars;
 
 /* If a string, XTread_socket generates an event to display that string.
    (The display is done in read_char.)  */
-   
+
 static Lisp_Object help_echo;
 static Lisp_Object help_echo_window;
 static Lisp_Object help_echo_object;
@@ -259,7 +259,7 @@ extern int waiting_for_input;
 
 struct frame *pending_autoraise_frame;
 
-/* Nominal cursor position -- where to draw output.  
+/* Nominal cursor position -- where to draw output.
    HPOS and VPOS are window relative glyph matrix coordinates.
    X and Y are window relative pixel coordinates.  */
 
@@ -456,7 +456,7 @@ static void x_update_cursor_in_window_tree P_ ((struct window *, int));
 static void x_update_window_cursor P_ ((struct window *, int));
 static void x_erase_phys_cursor P_ ((struct window *));
 void x_display_and_set_cursor P_ ((struct window *, int, int, int, int, int));
-static void x_draw_fringe_bitmap P_ ((struct window *, struct glyph_row *, 
+static void x_draw_fringe_bitmap P_ ((struct window *, struct glyph_row *,
                                      enum fringe_bitmap_type, int left_p));
 static void x_clip_to_row P_ ((struct window *, struct glyph_row *,
                               GC, int));
@@ -505,7 +505,7 @@ XFreePixmap (display, pixmap)
      Pixmap pixmap;
 {
   PixMap *p = (PixMap *) pixmap;
-  
+
   xfree (p->baseAddr);
   xfree (p);
 }
@@ -518,12 +518,12 @@ static void
 mac_set_forecolor (unsigned long color)
 {
   RGBColor fg_color;
-                                               
+
   fg_color.red = RED_FROM_ULONG (color) * 256;
   fg_color.green = GREEN_FROM_ULONG (color) * 256;
   fg_color.blue = BLUE_FROM_ULONG (color) * 256;
-                       
-  RGBForeColor (&fg_color);  
+
+  RGBForeColor (&fg_color);
 }
 
 
@@ -534,12 +534,12 @@ static void
 mac_set_backcolor (unsigned long color)
 {
   RGBColor bg_color;
-                                               
+
   bg_color.red = RED_FROM_ULONG (color) * 256;
   bg_color.green = GREEN_FROM_ULONG (color) * 256;
   bg_color.blue = BLUE_FROM_ULONG (color) * 256;
-                       
-  RGBBackColor (&bg_color);  
+
+  RGBBackColor (&bg_color);
 }
 
 /* Set foreground and background color for subsequent QuickDraw
@@ -626,7 +626,7 @@ XClearWindow (display, w)
 #if TARGET_API_MAC_CARBON
   {
     Rect r;
-    
+
     GetWindowPortBounds (w, &r);
     EraseRect (&r);
   }
@@ -667,7 +667,7 @@ mac_draw_bitmap (display, w, gc, x, y, bitmap)
     UnlockPortBits (GetWindowPort (w));
   }
 #else /* not TARGET_API_MAC_CARBON */
-  CopyBits (bitmap, &(w->portBits), &(bitmap->bounds), &r, srcCopy, 0);        
+  CopyBits (bitmap, &(w->portBits), &(bitmap->bounds), &r, srcCopy, 0);
 #endif /* not TARGET_API_MAC_CARBON */
 }
 
@@ -698,7 +698,7 @@ mac_reset_clipping (display, w)
      WindowPtr w;
 {
   Rect r;
-  
+
 #if TARGET_API_MAC_CARBON
   SetPort (GetWindowPort (w));
 #else
@@ -957,12 +957,12 @@ static void
 local_to_global_coord (short *h, short *v)
 {
   Point p;
-  
+
   p.h = *h;
   p.v = *v;
-  
+
   LocalToGlobal (&p);
-  
+
   *h = p.h;
   *v = p.v;
 }
@@ -1023,7 +1023,7 @@ mac_scroll_area (display, w, gc, src_x, src_y, width, height, dest_x, dest_y)
   ForeColor (blackColor);
   BackColor (whiteColor);
   CopyBits (&(w->portBits), &(w->portBits), &src_r, &dest_r, srcCopy, 0);
-  
+
   mac_set_colors (gc);
 #endif
 #endif /* not TARGET_API_MAC_CARBON */
@@ -1033,7 +1033,7 @@ mac_scroll_area (display, w, gc, src_x, src_y, width, height, dest_x, dest_y)
 /* Mac replacement for XCopyArea: dest must be Pixmap.  */
 
 static void
-mac_copy_area_to_pixmap (display, src, dest, gc, src_x, src_y, width, height, 
+mac_copy_area_to_pixmap (display, src, dest, gc, src_x, src_y, width, height,
                      dest_x, dest_y)
      Display *display;
      Pixmap src;
@@ -1050,7 +1050,7 @@ mac_copy_area_to_pixmap (display, src, dest, gc, src_x, src_y, width, height,
   int h = src_bottom - src_y;
 
   mac_set_colors (gc);
-    
+
   SetRect (&src_r, src_x, src_y, src_right, src_bottom);
   SetRect (&dest_r, dest_x, dest_y, dest_x + w, dest_y + h);
 
@@ -1160,7 +1160,7 @@ x_sync (f)
 #if TARGET_API_MAC_CARBON
 #define XFlush(DISPLAY) QDFlushPortBuffer (GetQDGlobalsThePort (), NULL)
 #else
-#define XFlush(DISPLAY)        (void) 0 
+#define XFlush(DISPLAY)        (void) 0
 #endif
 
 /* Flush display of frame F, or of all frames if F is null.  */
@@ -1200,7 +1200,7 @@ mac_display_info_for_display (dpy)
 /***********************************************************************
                    Starting and ending an update
  ***********************************************************************/
-                                                                       
+
 /* Start an update of frame F.  This function is installed as a hook
    for update_begin, i.e. it is called when update_begin is called.
    This function is called prior to calls to x_update_window_begin for
@@ -1224,7 +1224,7 @@ x_update_window_begin (w)
 {
   struct frame *f = XFRAME (WINDOW_FRAME (w));
   struct mac_display_info *display_info = FRAME_MAC_DISPLAY_INFO (f);
-  
+
   updated_window = w;
   set_output_cursor (&w->cursor);
 
@@ -1246,7 +1246,7 @@ x_update_window_begin (w)
         flag set.  So, rows containing mouse-face glyphs are never
         scrolled, and we don't have to switch the mouse highlight off
         here to prevent it from being scrolled.  */
-      
+
       /* Can we tell that this update does not affect the window
         where the mouse highlight is?  If so, no need to turn off.
         Likewise, don't do anything if the frame is garbaged;
@@ -1279,7 +1279,7 @@ x_draw_vertical_border (w)
      struct window *w;
 {
   struct frame *f = XFRAME (WINDOW_FRAME (w));
-  
+
   /* Redraw borders between horizontally adjacent windows.  Don't
      do it for frames with vertical scroll bars because either the
      right scroll bar of a window, or the left scroll bar of its
@@ -1292,13 +1292,13 @@ x_draw_vertical_border (w)
       window_box_edges (w, -1, &x0, &y0, &x1, &y1);
       x1 += FRAME_X_RIGHT_FRINGE_WIDTH (f);
       y1 -= 1;
-      
-      XDrawLine (FRAME_MAC_DISPLAY (f), FRAME_MAC_WINDOW (f), 
+
+      XDrawLine (FRAME_MAC_DISPLAY (f), FRAME_MAC_WINDOW (f),
                 f->output_data.mac->normal_gc, x1, y0, x1, y1);
     }
 }
 
-   
+
 /* End update of window W (which is equal to updated_window).
 
    Draw vertical borders between horizontally adjacent windows, and
@@ -1328,7 +1328,7 @@ x_update_window_end (w, cursor_on_p, mouse_face_overwritten_p)
        x_display_and_set_cursor (w, 1, output_cursor.hpos,
                                  output_cursor.vpos,
                                  output_cursor.x, output_cursor.y);
-      
+
       x_draw_vertical_border (w);
       UNBLOCK_INPUT;
     }
@@ -1371,7 +1371,7 @@ x_update_end (f)
 #endif
 
   mac_set_backcolor (FRAME_BACKGROUND_PIXEL (f));
-  
+
   /* Mouse highlight may be displayed again.  */
   FRAME_MAC_DISPLAY_INFO (f)->mouse_face_defer = 0;
 
@@ -1424,7 +1424,7 @@ x_after_update_window_line (desired_row)
   int width, height;
 
   xassert (w);
-  
+
   if (!desired_row->mode_line_p && !w->pseudo_window_p)
     {
       BLOCK_INPUT;
@@ -1459,7 +1459,7 @@ x_after_update_window_line (desired_row)
       XClearArea (FRAME_MAC_DISPLAY (f), FRAME_MAC_WINDOW (f),
                  f->output_data.mac->pixel_width - width, y,
                  width, height, 0);
-      
+
       UNBLOCK_INPUT;
     }
 }
@@ -1506,13 +1506,13 @@ x_draw_fringe_bitmap (w, row, which, left_p)
       h = left_height;
       bits = left_bits;
       break;
-      
+
     case OVERLAY_ARROW_BITMAP:
       wd = ov_width;
       h = ov_height;
       bits = ov_bits;
       break;
-      
+
     case RIGHT_TRUNCATION_BITMAP:
       wd = right_width;
       h = right_height;
@@ -1524,7 +1524,7 @@ x_draw_fringe_bitmap (w, row, which, left_p)
       h = continued_height;
       bits = continued_bits;
       break;
-      
+
     case CONTINUATION_LINE_BITMAP:
       wd = continuation_width;
       h = continuation_height;
@@ -1731,7 +1731,7 @@ set_output_cursor (cursor)
 
    HPOS and VPOS are column/row positions in a window glyph matrix.  X
    and Y are window text area relative pixel positions.
-   
+
    If this is done during an update, updated_window will contain the
    window that is being updated and the position is the future output
    cursor position for that window.  If updated_window is null, use
@@ -1905,9 +1905,9 @@ x_encode_char (c, char2b, font_info)
          ccl->reg[1] = char2b->byte1;
          ccl->reg[2] = char2b->byte2;
        }
-      
+
       ccl_driver (ccl, NULL, NULL, 0, 0, NULL);
-      
+
       /* We assume that MSBs are appropriately set/reset by CCL
         program.  */
       if (font->max_byte1 == 0)        /* 1-byte font */
@@ -1920,11 +1920,11 @@ x_encode_char (c, char2b, font_info)
       /* Fixed encoding scheme.  See fontset.h for the meaning of the
         encoding numbers.  */
       int enc = font_info->encoding[charset];
-      
+
       if ((enc == 1 || enc == 2)
          && CHARSET_DIMENSION (charset) == 2)
        char2b->byte1 |= 0x80;
-      
+
       if (enc == 1 || enc == 3)
        char2b->byte2 |= 0x80;
 
@@ -1972,7 +1972,7 @@ x_get_char_face_and_encoding (f, c, face_id, char2b, multibyte_p)
   else
     {
       int c1, c2, charset;
-      
+
       /* Split characters into bytes.  If c2 is -1 afterwards, C is
         really a one-byte character so that byte1 is zero.  */
       SPLIT_CHAR (c, charset, c1, c2);
@@ -1994,7 +1994,7 @@ x_get_char_face_and_encoding (f, c, face_id, char2b, multibyte_p)
   /* Make sure X resources of the face are allocated.  */
   xassert (face != NULL);
   PREPARE_FACE_FOR_DISPLAY (f, face);
-  
+
   return face;
 }
 
@@ -2035,7 +2035,7 @@ x_get_glyph_face_and_encoding (f, glyph, char2b, two_byte_p)
   else
     {
       int c1, c2, charset;
-      
+
       /* Split characters into bytes.  If c2 is -1 afterwards, C is
         really a one-byte character so that byte1 is zero.  */
       SPLIT_CHAR (glyph->u.ch, charset, c1, c2);
@@ -2066,7 +2066,7 @@ x_get_glyph_face_and_encoding (f, glyph, char2b, two_byte_p)
 }
 
 
-/* Store one glyph for IT->char_to_display in IT->glyph_row.  
+/* Store one glyph for IT->char_to_display in IT->glyph_row.
    Called from x_produce_glyphs when IT->glyph_row is non-null.  */
 
 static INLINE void
@@ -2075,10 +2075,10 @@ x_append_glyph (it)
 {
   struct glyph *glyph;
   enum glyph_row_area area = it->area;
-  
+
   xassert (it->glyph_row);
   xassert (it->char_to_display != '\n' && it->char_to_display != '\t');
-  
+
   glyph = it->glyph_row->glyphs[area] + it->glyph_row->used[area];
   if (glyph < it->glyph_row->glyphs[area + 1])
     {
@@ -2100,7 +2100,7 @@ x_append_glyph (it)
     }
 }
 
-/* Store one glyph for the composition IT->cmp_id in IT->glyph_row.  
+/* Store one glyph for the composition IT->cmp_id in IT->glyph_row.
    Called from x_produce_glyphs when IT->glyph_row is non-null.  */
 
 static INLINE void
@@ -2109,9 +2109,9 @@ x_append_composite_glyph (it)
 {
   struct glyph *glyph;
   enum glyph_row_area area = it->area;
-  
+
   xassert (it->glyph_row);
-  
+
   glyph = it->glyph_row->glyphs[area] + it->glyph_row->used[area];
   if (glyph < it->glyph_row->glyphs[area + 1])
     {
@@ -2181,7 +2181,7 @@ x_produce_image_glyph (it)
   it->pixel_width = img->width + 2 * img->hmargin;
 
   it->nglyphs = 1;
-  
+
   if (face->box != FACE_NO_BOX)
     {
       if (face->box_line_width > 0)
@@ -2189,7 +2189,7 @@ x_produce_image_glyph (it)
          it->ascent += face->box_line_width;
          it->descent += face->box_line_width;
        }
-      
+
       if (it->start_of_box_run_p)
        it->pixel_width += abs (face->box_line_width);
       if (it->end_of_box_run_p)
@@ -2197,12 +2197,12 @@ x_produce_image_glyph (it)
     }
 
   take_vertical_position_into_account (it);
-  
+
   if (it->glyph_row)
     {
       struct glyph *glyph;
       enum glyph_row_area area = it->area;
-      
+
       glyph = it->glyph_row->glyphs[area] + it->glyph_row->used[area];
       if (glyph < it->glyph_row->glyphs[area + 1])
        {
@@ -2226,10 +2226,10 @@ x_produce_image_glyph (it)
 
 
 /* Append a stretch glyph to IT->glyph_row.  OBJECT is the source
-   of the glyph, WIDTH and HEIGHT are the width and height of the 
-   stretch.  ASCENT is the percentage/100 of HEIGHT to use for the 
+   of the glyph, WIDTH and HEIGHT are the width and height of the
+   stretch.  ASCENT is the percentage/100 of HEIGHT to use for the
    ascent of the glyph (0 <= ASCENT <= 1).  */
-  
+
 static void
 x_append_stretch_glyph (it, object, width, height, ascent)
      struct it *it;
@@ -2241,7 +2241,7 @@ x_append_stretch_glyph (it, object, width, height, ascent)
   enum glyph_row_area area = it->area;
 
   xassert (ascent >= 0 && ascent <= 1);
-  
+
   glyph = it->glyph_row->glyphs[area] + it->glyph_row->used[area];
   if (glyph < it->glyph_row->glyphs[area + 1])
     {
@@ -2270,7 +2270,7 @@ x_append_stretch_glyph (it, object, width, height, ascent)
    being recognized:
 
    1. `:width WIDTH' specifies that the space should be WIDTH *
-   canonical char width wide.  WIDTH may be an integer or floating 
+   canonical char width wide.  WIDTH may be an integer or floating
    point number.
 
    2. `:relative-width FACTOR' specifies that the width of the stretch
@@ -2280,7 +2280,7 @@ x_append_stretch_glyph (it, object, width, height, ascent)
    3. `:align-to HPOS' specifies that the space should be wide enough
    to reach HPOS, a value in canonical character units.
 
-   Exactly one of the above pairs must be present.  
+   Exactly one of the above pairs must be present.
 
    4. `:height HEIGHT' specifies that the height of the stretch produced
    should be HEIGHT, measured in canonical character units.
@@ -2318,7 +2318,7 @@ x_produce_stretch_glyph (it)
   XFontStruct *font = face->font ? face->font : FRAME_FONT (it->f);
 
   PREPARE_FACE_FOR_DISPLAY (it->f, face);
-  
+
   /* List should start with `space'.  */
   xassert (CONSP (it->object) && EQ (XCAR (it->object), Qspace));
   plist = XCDR (it->object);
@@ -2336,7 +2336,7 @@ x_produce_stretch_glyph (it)
         property.  */
       struct it it2;
       unsigned char *p = BYTE_POS_ADDR (IT_BYTEPOS (*it));
-      
+
       it2 = *it;
       if (it->multibyte_p)
        {
@@ -2358,7 +2358,7 @@ x_produce_stretch_glyph (it)
   else
     /* Nothing specified -> width defaults to canonical char width.  */
     width = CANON_X_UNIT (it->f);
-  
+
   /* Compute height.  */
   if (prop = Fplist_get (plist, QCheight),
       NUMVAL (prop) > 0)
@@ -2369,7 +2369,7 @@ x_produce_stretch_glyph (it)
   else
     height = FONT_HEIGHT (font);
 
-  /* Compute percentage of height used for ascent.  If 
+  /* Compute percentage of height used for ascent.  If
      `:ascent ASCENT' is present and valid, use that.  Otherwise,
      derive the ascent from the font in use.  */
   if (prop = Fplist_get (plist, QCascent),
@@ -2403,13 +2403,13 @@ x_produce_stretch_glyph (it)
          it->ascent += face->box_line_width;
          it->descent += face->box_line_width;
        }
-      
+
       if (it->start_of_box_run_p)
        it->pixel_width += abs (face->box_line_width);
       if (it->end_of_box_run_p)
        it->pixel_width += abs (face->box_line_width);
     }
-  
+
   take_vertical_position_into_account (it);
 }
 
@@ -2501,7 +2501,7 @@ x_produce_glyphs (it)
              face = FACE_FROM_ID (it->f, it->face_id);
            }
         }
-      
+
       /* Get font to use.  Encode IT->char_to_display.  */
       x_get_char_face_and_encoding (it->f, it->char_to_display,
                                     it->face_id, &char2b,
@@ -2549,7 +2549,7 @@ x_produce_glyphs (it)
               it->phys_descent = FONT_DESCENT (font) - boff;
               it->pixel_width = FONT_WIDTH (font);
             }
-          
+
          /* If this is a space inside a region of text with
             `space-width' property, change its width.  */
          stretched_p = it->char_to_display == ' ' && !NILP (it->space_width);
@@ -2562,7 +2562,7 @@ x_produce_glyphs (it)
          if (face->box != FACE_NO_BOX)
            {
              int thick = face->box_line_width;
-             
+
              if (thick > 0)
                {
                  it->ascent += thick;
@@ -2570,7 +2570,7 @@ x_produce_glyphs (it)
                }
              else
                thick = -thick;
-             
+
              if (it->start_of_box_run_p)
                it->pixel_width += thick;
              if (it->end_of_box_run_p)
@@ -2583,7 +2583,7 @@ x_produce_glyphs (it)
            it->ascent += 2;
 
          take_vertical_position_into_account (it);
-  
+
          /* If we have to actually produce glyphs, do it.  */
          if (it->glyph_row)
            {
@@ -2593,7 +2593,7 @@ x_produce_glyphs (it)
                     into a stretch glyph.  */
                  double ascent = (double) FONT_BASE (font)
                                 / FONT_HEIGHT (font);
-                 x_append_stretch_glyph (it, it->object, it->pixel_width, 
+                 x_append_stretch_glyph (it, it->object, it->pixel_width,
                                          it->ascent + it->descent, ascent);
                }
              else
@@ -2613,7 +2613,7 @@ x_produce_glyphs (it)
          it->nglyphs = 0;
          it->ascent = it->phys_ascent = FONT_BASE (font) + boff;
          it->descent = it->phys_descent = FONT_DESCENT (font) - boff;
-      
+
          if (face->box != FACE_NO_BOX
              && face->box_line_width > 0)
            {
@@ -2626,7 +2626,7 @@ x_produce_glyphs (it)
          int tab_width = it->tab_width * CANON_X_UNIT (it->f);
          int x = it->current_x + it->continuation_lines_width;
          int next_tab_x = ((1 + x + tab_width - 1) / tab_width) * tab_width;
-      
+
          /* If the distance from the current position to the next tab
             stop is less than a canonical character width, use the
             tab stop after that.  */
@@ -2637,15 +2637,15 @@ x_produce_glyphs (it)
          it->nglyphs = 1;
          it->ascent = it->phys_ascent = FONT_BASE (font) + boff;
          it->descent = it->phys_descent = FONT_DESCENT (font) - boff;
-         
+
          if (it->glyph_row)
            {
              double ascent = (double) it->ascent / (it->ascent + it->descent);
-             x_append_stretch_glyph (it, it->object, it->pixel_width, 
+             x_append_stretch_glyph (it, it->object, it->pixel_width,
                                      it->ascent + it->descent, ascent);
            }
        }
-      else 
+      else
        {
          /* A multi-byte character.  Assume that the display width of the
             character is the width of the character multiplied by the
@@ -2691,20 +2691,20 @@ x_produce_glyphs (it)
                }
              else
                thick = - thick;
-         
+
              if (it->start_of_box_run_p)
                it->pixel_width += thick;
              if (it->end_of_box_run_p)
                it->pixel_width += thick;
            }
-  
+
          /* If face has an overline, add the height of the overline
             (1 pixel) and a 1 pixel margin to the character height.  */
          if (face->overline_p)
            it->ascent += 2;
 
          take_vertical_position_into_account (it);
-  
+
          if (it->glyph_row)
            x_append_glyph (it);
        }
@@ -2798,12 +2798,12 @@ x_produce_glyphs (it)
              ascent = FONT_BASE (font);
              descent = FONT_DESCENT (font);
            }
-         
+
          rightmost = width;
          lowest = - descent + boff;
          highest = ascent + boff;
          leftmost = 0;
-         
+
          if (font_info
              && font_info->default_ascent
              && CHAR_TABLE_P (Vuse_default_ascent)
@@ -2964,20 +2964,20 @@ x_produce_glyphs (it)
            }
          else
            thick = - thick;
-         
+
          if (it->start_of_box_run_p)
            it->pixel_width += thick;
          if (it->end_of_box_run_p)
            it->pixel_width += thick;
        }
-  
+
       /* If face has an overline, add the height of the overline
         (1 pixel) and a 1 pixel margin to the character height.  */
       if (face->overline_p)
        it->ascent += 2;
 
       take_vertical_position_into_account (it);
-  
+
       if (it->glyph_row)
        x_append_composite_glyph (it);
     }
@@ -3024,7 +3024,7 @@ x_estimate_mode_line_height (f, face_id)
              height += 2 * face->box_line_width;
           }
       }
-  
+
   return height;
 }
 
@@ -3194,7 +3194,7 @@ static int x_fill_glyph_string P_ ((struct glyph_string *, int, int, int,
 static void x_init_glyph_string P_ ((struct glyph_string *,
                                        XChar2b *, struct window *,
                                        struct glyph_row *,
-                                       enum glyph_row_area, int, 
+                                       enum glyph_row_area, int,
                                        enum draw_glyphs_face));
 static int x_draw_glyphs P_ ((struct window *, int , struct glyph_row *,
                              enum glyph_row_area, int, int,
@@ -3240,7 +3240,7 @@ static int x_fill_stretch_glyph_string P_ ((struct glyph_string *,
 static void x_check_font P_ ((struct frame *, XFontStruct *));
 #endif
 
-     
+
 /* Append the list of glyph strings with head H and tail T to the list
    with head *HEAD and tail *TAIL.  Set *HEAD and *TAIL to the result.  */
 
@@ -3349,11 +3349,11 @@ x_set_cursor_gc (s)
 
 
 /* Set up S->gc of glyph string S for drawing text in mouse face.  */
-   
+
 static void
 x_set_mouse_face_gc (s)
      struct glyph_string *s;
-{     
+{
   int face_id;
   struct face *face;
 
@@ -3362,7 +3362,7 @@ x_set_mouse_face_gc (s)
   face = FACE_FROM_ID (s->f, face_id);
   if (face == NULL)
     face = FACE_FROM_ID (s->f, MOUSE_FACE_ID);
-  
+
   if (s->first_glyph->type == CHAR_GLYPH)
     face_id = FACE_FOR_CHAR (s->f, face, s->first_glyph->u.ch);
   else
@@ -3379,20 +3379,20 @@ x_set_mouse_face_gc (s)
         but font FONT.  */
       XGCValues xgcv;
       unsigned long mask;
-      
+
       xgcv.background = s->face->background;
       xgcv.foreground = s->face->foreground;
       IF_DEBUG (x_check_font (s->f, s->font));
       xgcv.font = s->font;
       mask = GCForeground | GCBackground | GCFont;
-      
+
       if (FRAME_MAC_DISPLAY_INFO (s->f)->scratch_cursor_gc)
        XChangeGC (s->display, FRAME_MAC_DISPLAY_INFO (s->f)->scratch_cursor_gc,
                   mask, &xgcv);
       else
        FRAME_MAC_DISPLAY_INFO (s->f)->scratch_cursor_gc
          = XCreateGC (s->display, s->window, mask, &xgcv);
-      
+
       s->gc = FRAME_MAC_DISPLAY_INFO (s->f)->scratch_cursor_gc;
     }
 
@@ -3407,7 +3407,7 @@ x_set_mouse_face_gc (s)
 static INLINE void
 x_set_mode_line_face_gc (s)
      struct glyph_string *s;
-{     
+{
   s->gc = s->face->gc;
 }
 
@@ -3421,7 +3421,7 @@ x_set_glyph_string_gc (s)
      struct glyph_string *s;
 {
   PREPARE_FACE_FOR_DISPLAY (s->f, s->face);
-  
+
   if (s->hl == DRAW_NORMAL_TEXT)
     {
       s->gc = s->face->gc;
@@ -3472,7 +3472,7 @@ x_get_glyph_string_clip_rect (s, r)
     {
       /* Draw full-width.  X coordinates are relative to S->w->left.  */
       int canon_x = CANON_X_UNIT (s->f);
-      
+
       r->left = WINDOW_LEFT_MARGIN (s->w) * canon_x;
       r_width = XFASTINT (s->w->width) * canon_x;
 
@@ -3482,7 +3482,7 @@ x_get_glyph_string_clip_rect (s, r)
          if (FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT (s->f))
            r->left -= width;
        }
-      
+
       r->left += FRAME_INTERNAL_BORDER_WIDTH (s->f);
 
       /* Unless displaying a mode or menu bar line, which are always
@@ -3568,7 +3568,7 @@ x_compute_glyph_string_overhangs (s)
 /* Compute overhangs and x-positions for glyph string S and its
    predecessors, or successors.  X is the starting x-position for S.
    BACKWARD_P non-zero means process predecessors.  */
-   
+
 static void
 x_compute_overhangs_and_x (s, x, backward_p)
      struct glyph_string *s;
@@ -3609,7 +3609,7 @@ x_get_glyph_overhangs (glyph, f, left, right)
      int *left, *right;
 {
   *left = *right = 0;
-  
+
   if (glyph->type == CHAR_GLYPH)
     {
       XFontStruct *font;
@@ -3642,7 +3642,7 @@ x_left_overwritten (s)
      struct glyph_string *s;
 {
   int k;
-    
+
   if (s->left_overhang)
     {
       int x = 0, i;
@@ -3704,7 +3704,7 @@ x_right_overwritten (s)
       struct glyph *glyphs = s->row->glyphs[s->area];
       int first = (s->first_glyph - glyphs) + (s->cmp ? 1 : s->nchars);
       int end = s->row->used[s->area];
-      
+
       for (i = first; i < end && s->right_overhang > x; ++i)
        x += glyphs[i].pixel_width;
 
@@ -3927,9 +3927,9 @@ x_frame_of_widget (widget)
   struct x_display_info *dpyinfo;
   Lisp_Object tail;
   struct frame *f;
-  
+
   dpyinfo = x_display_info_for_display (XtDisplay (widget));
-  
+
   /* Find the top-level shell of the widget.  Note that this function
      can be called when the widget is not yet realized, so XtWindow
      (widget) == 0.  That's the reason we can't simply use
@@ -4016,7 +4016,7 @@ x_alloc_nearest_color (f, cmap, color)
              nearest_delta = delta;
            }
        }
-      
+
       color->red   = cells[nearest].red;
       color->green = cells[nearest].green;
       color->blue  = cells[nearest].blue;
@@ -4027,7 +4027,7 @@ x_alloc_nearest_color (f, cmap, color)
   if (rc)
     register_color (color->pixel);
 #endif /* DEBUG_X_COLORS */
-  
+
   return rc;
 }
 
@@ -4124,7 +4124,7 @@ mac_alloc_lighter_color (f, color, factor, delta)
    DELTA lighter or darker than the relief's background which is found
    in S->f->output_data.x->relief_background.  If such a color cannot
    be allocated, use DEFAULT_PIXEL, instead.  */
-   
+
 static void
 x_setup_relief_color (f, relief, factor, delta, default_pixel)
      struct frame *f;
@@ -4150,7 +4150,7 @@ x_setup_relief_color (f, relief, factor, delta, default_pixel)
       relief->allocated_p = 1;
       xgcv.foreground = relief->pixel = pixel;
     }
-  
+
   if (relief->gc == 0)
     {
 #if 0 /* MAC_TODO: stipple */
@@ -4178,7 +4178,7 @@ x_setup_relief_colors (s)
   else
     {
       XGCValues xgcv;
-      
+
       /* Get the background color of the face.  */
       XGetGCValues (s->display, s->gc, GCBackground, &xgcv);
       color = xgcv.background;
@@ -4213,7 +4213,7 @@ x_draw_relief_rect (f, left_x, top_y, right_x, bottom_y, width,
 {
   int i;
   GC gc;
-  
+
   if (raised_p)
     gc = f->output_data.mac->white_relief.gc;
   else
@@ -4239,13 +4239,13 @@ x_draw_relief_rect (f, left_x, top_y, right_x, bottom_y, width,
     gc = f->output_data.mac->white_relief.gc;
   mac_set_clip_rectangle (FRAME_MAC_DISPLAY (f), FRAME_MAC_WINDOW (f),
                          clip_rect);
-  
+
   /* Bottom.  */
   for (i = 0; i < width; ++i)
     XDrawLine (FRAME_MAC_DISPLAY (f), FRAME_MAC_WINDOW (f), gc,
               left_x + i * left_p, bottom_y - i,
               right_x + 1 - i * right_p, bottom_y - i);
-  
+
   /* Right.  */
   if (right_p)
     for (i = 0; i < width; ++i)
@@ -4271,10 +4271,10 @@ x_draw_box_rect (s, left_x, top_y, right_x, bottom_y, width,
      Rect *clip_rect;
 {
   XGCValues xgcv;
-  
+
   xgcv.foreground = s->face->box_color;
   mac_set_clip_rectangle (s->display, s->window, clip_rect);
-  
+
   /* Top.  */
   XFillRectangle (s->display, s->window, &xgcv,
                  left_x, top_y, right_x - left_x, width);
@@ -4287,7 +4287,7 @@ x_draw_box_rect (s, left_x, top_y, right_x, bottom_y, width,
   /* Bottom.  */
   XFillRectangle (s->display, s->window, &xgcv,
                  left_x, bottom_y - width, right_x - left_x, width);
-  
+
   /* Right.  */
   if (right_p)
     XFillRectangle (s->display, s->window, &xgcv,
@@ -4316,7 +4316,7 @@ x_draw_glyph_string_box (s)
       if (FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT (s->f))
        last_x += FRAME_SCROLL_BAR_WIDTH (s->f) * CANON_X_UNIT (s->f);
     }
-  
+
   /* The glyph that may have a right box line.  */
   last_glyph = (s->cmp || s->img
                ? s->first_glyph
@@ -4339,7 +4339,7 @@ x_draw_glyph_string_box (s)
             || (s->hl == DRAW_MOUSE_FACE
                 && (s->next == NULL
                     || s->next->hl != s->hl)));
-  
+
   x_get_glyph_string_clip_rect (s, &clip_rect);
 
   if (s->face->box == FACE_SIMPLE_BOX)
@@ -4396,7 +4396,7 @@ x_draw_image_foreground (s)
          xgcv.clip_y_origin = y;
          xgcv.function = GXcopy;
          XChangeGC (s->display, s->gc, mask, &xgcv);
-         
+
          x_get_glyph_string_clip_rect (s, &clip_rect);
          image_rect.x = x;
          image_rect.y = y;
@@ -4411,7 +4411,7 @@ x_draw_image_foreground (s)
        {
          mac_copy_area (s->display, s->img->pixmap, s->window, s->gc,
                       0, 0, s->img->width, s->img->height, x, y);
-         
+
          /* When the image has a mask, we can expect that at
             least part of a mouse highlight or a block cursor will
             be visible.  If the image doesn't have a mask, make
@@ -4445,7 +4445,7 @@ x_draw_image_relief (s)
   Rect r;
   int x;
   int y = s->ybase - image_ascent (s->img, s->face);
+
   /* If first glyph of S has a left box line, start drawing it to the
      right of that line.  */
   if (s->face->box != FACE_NO_BOX
@@ -4453,12 +4453,12 @@ x_draw_image_relief (s)
     x = s->x + abs (s->face->box_line_width);
   else
     x = s->x;
-  
+
   /* If there is a margin around the image, adjust x- and y-position
      by that margin.  */
   x += s->img->hmargin;
   y += s->img->vmargin;
-  
+
   if (s->hl == DRAW_IMAGE_SUNKEN
       || s->hl == DRAW_IMAGE_RAISED)
     {
@@ -4470,12 +4470,12 @@ x_draw_image_relief (s)
       thick = abs (s->img->relief);
       raised_p = s->img->relief > 0;
     }
-  
+
   x0 = x - thick;
   y0 = y - thick;
   x1 = x + s->img->width + thick - 1;
   y1 = y + s->img->height + thick - 1;
-  
+
   x_setup_relief_colors (s);
   x_get_glyph_string_clip_rect (s, &r);
   x_draw_relief_rect (s->f, x0, y0, x1, y1, thick, raised_p, 1, 1, &r);
@@ -4534,7 +4534,7 @@ x_draw_image_foreground_1 (s, pixmap)
        {
          mac_copy_area_to_pixmap (s->display, s->img->pixmap, pixmap, s->gc,
                               0, 0, s->img->width, s->img->height, x, y);
-         
+
          /* When the image has a mask, we can expect that at
             least part of a mouse highlight or a block cursor will
             be visible.  If the image doesn't have a mask, make
@@ -4579,7 +4579,7 @@ x_draw_glyph_string_bg_rect (s, x, y, w, h)
 }
 
 
-/* Draw image glyph string S.  
+/* Draw image glyph string S.
 
             s->y
    s->x      +-------------------------
@@ -4622,7 +4622,7 @@ x_draw_image_glyph_string (s)
        x = s->x + box_line_hwidth;
       else
        x = s->x;
-      
+
       y = s->y + box_line_vwidth;
 #if 0 /* TODO: image mask */
       if (s->img->mask)
@@ -4637,7 +4637,7 @@ x_draw_image_glyph_string (s)
          pixmap = XCreatePixmap (s->display, s->window,
                                  s->background_width,
                                  s->height, depth);
-         
+
          /* Don't clip in the following because we're working on the
             pixmap.  */
          XSetClipMask (s->display, s->gc, None);
@@ -4665,7 +4665,7 @@ x_draw_image_glyph_string (s)
       else
 #endif
        x_draw_glyph_string_bg_rect (s, x, y, s->background_width, height);
-      
+
       s->background_filled_p = 1;
     }
 
@@ -4725,7 +4725,7 @@ x_draw_stretch_glyph_string (s)
            }
          else
            gc = s->face->gc;
-  
+
          x_get_glyph_string_clip_rect (s, &r);
          mac_set_clip_rectangle (s->display, s->window, &r);
 
@@ -4753,7 +4753,7 @@ x_draw_stretch_glyph_string (s)
   else if (!s->background_filled_p)
     x_draw_glyph_string_bg_rect (s, s->x, s->y, s->background_width,
                                 s->height);
-  
+
   s->background_filled_p = 1;
 }
 
@@ -4835,7 +4835,7 @@ x_draw_glyph_string (s)
        {
           unsigned long h = 1;
           unsigned long dy = s->height - h;
-      
+
          if (s->face->underline_defaulted_p)
            XFillRectangle (s->display, s->window, s->gc, s->x, s->y + dy,
                            s->width, h);
@@ -4868,7 +4868,7 @@ x_draw_glyph_string (s)
              XSetForeground (s->display, s->gc, xgcv.foreground);
            }
        }
-  
+
       /* Draw strike-through.  */
       if (s->face->strike_through_p)
        {
@@ -4888,7 +4888,7 @@ x_draw_glyph_string (s)
              XSetForeground (s->display, s->gc, xgcv.foreground);
            }
        }
-  
+
       /* Draw relief.  */
       if (!relief_drawn_p && s->face->box != FACE_NO_BOX)
         x_draw_glyph_string_box (s);
@@ -4904,7 +4904,7 @@ static int x_fill_composite_glyph_string P_ ((struct glyph_string *,
 
 
 /* Fill glyph string S with composition components specified by S->cmp.
-   
+
    FACES is an array of faces for all components of this composition.
    S->gidx is the index of the first component for S.
    OVERLAPS_P non-zero means S should draw the foreground only, and
@@ -4952,7 +4952,7 @@ x_fill_composite_glyph_string (s, faces, overlaps_p)
 
   /* Adjust base line for subscript/superscript text.  */
   s->ybase += s->first_glyph->voffset;
-  
+
   xassert (s->face && s->face->gc);
 
   /* This glyph string must always be drawn with 16-bit functions.  */
@@ -4963,7 +4963,7 @@ x_fill_composite_glyph_string (s, faces, overlaps_p)
 
 
 /* Fill glyph string S from a sequence of character glyphs.
-   
+
    FACE_ID is the face id of the string.  START is the index of the
    first glyph to consider, END is the index of the last + 1.
    OVERLAPS_P non-zero means S should draw the foreground only, and
@@ -5013,7 +5013,7 @@ x_fill_glyph_string (s, face_id, start, end, overlaps_p)
 
   s->font = s->face->font;
   s->font_info = FONT_INFO_FROM_ID (s->f, s->face->font_info_id);
-  
+
   /* If the specified font could not be loaded, use the frame's font,
      but record the fact that we couldn't load it in
      S->font_not_found_p so that we can draw rectangles for the
@@ -5026,7 +5026,7 @@ x_fill_glyph_string (s, face_id, start, end, overlaps_p)
 
   /* Adjust base line for subscript/superscript text.  */
   s->ybase += voffset;
-  
+
   xassert (s->face && s->face->gc);
   return glyph - s->row->glyphs[s->area];
 }
@@ -5044,7 +5044,7 @@ x_fill_image_glyph_string (s)
   s->face = FACE_FROM_ID (s->f, s->first_glyph->face_id);
   s->font = s->face->font;
   s->width = s->first_glyph->pixel_width;
-  
+
   /* Adjust base line for subscript/superscript text.  */
   s->ybase += s->first_glyph->voffset;
 }
@@ -5067,9 +5067,9 @@ x_fill_stretch_glyph_string (s, row, area, start, end)
 {
   struct glyph *glyph, *last;
   int voffset, face_id;
-  
+
   xassert (s->first_glyph->type == STRETCH_GLYPH);
-  
+
   glyph = s->row->glyphs[s->area] + start;
   last = s->row->glyphs[s->area] + end;
   face_id = glyph->face_id;
@@ -5086,7 +5086,7 @@ x_fill_stretch_glyph_string (s, row, area, start, end)
        && glyph->face_id == face_id);
        ++glyph)
     s->width += glyph->pixel_width;
-  
+
   /* Adjust base line for subscript/superscript text.  */
   s->ybase += voffset;
 
@@ -5102,7 +5102,7 @@ x_fill_stretch_glyph_string (s, row, area, start, end)
    and area within the row from which S is constructed.  START is the
    index of the first glyph structure covered by S.  HL is a
    face-override for drawing S.  */
-   
+
 static void
 x_init_glyph_string (s, char2b, w, row, area, start, hl)
      struct glyph_string *s;
@@ -5129,7 +5129,7 @@ x_init_glyph_string (s, char2b, w, row, area, start, hl)
   /* Display the internal border below the tool-bar window.  */
   if (s->w == XWINDOW (s->f->tool_bar_window))
     s->y -= s->f->output_data.mac->internal_border_width;
-  
+
   s->ybase = s->y + row->ascent;
 }
 
@@ -5147,7 +5147,7 @@ x_set_glyph_string_background_width (s, start, last_x)
   /* If the face of this glyph string has to be drawn to the end of
      the drawing area, set S->extends_to_end_of_line_p.  */
   struct face *default_face = FACE_FROM_ID (s->f, DEFAULT_FACE_ID);
-  
+
   if (start == s->row->used[s->area]
       && s->area == TEXT_AREA
       && ((s->hl == DRAW_NORMAL_TEXT
@@ -5159,7 +5159,7 @@ x_set_glyph_string_background_width (s, start, last_x)
          || ((s->hl == DRAW_IMAGE_RAISED || s->hl == DRAW_IMAGE_SUNKEN)
              && s->row->fill_line_p)))
     s->extends_to_end_of_line_p = 1;
-  
+
   /* If S extends its face to the end of the line, set its
      background_width to the distance to the right edge of the drawing
      area.  */
@@ -5240,7 +5240,7 @@ x_set_glyph_string_background_width (s, start, last_x)
                                           OVERLAPS_P);                    \
        }                                                                  \
      while (0)
-     
+
 
 /* Add a glyph string for a composite sequence to the list of strings
    between HEAD and TAIL.  START is the index of the first glyph in
@@ -5296,7 +5296,7 @@ x_set_glyph_string_background_width (s, start, last_x)
     ++START;                                                             \
     s = first_s;                                                         \
   } while (0)
-    
+
 
 /* Build a list of glyph strings between HEAD and TAIL for the glyphs
    of AREA of glyph row ROW on window W between indices START and END.
@@ -5365,7 +5365,7 @@ x_set_glyph_string_background_width (s, start, last_x)
    and clip to the physical height of ROW.
 
    Value is the x-position reached, relative to AREA of W.  */
-     
+
 static int
 x_draw_glyphs (w, x, row, area, start, end, hl, overlaps_p)
      struct window *w;
@@ -5446,7 +5446,7 @@ x_draw_glyphs (w, x, row, area, start, end, hl, overlaps_p)
       /* Prepend glyph strings for glyphs in front of the first glyph
         string that are overwritten because of the first glyph
         string's left overhang.  The background of all strings
-        prepended must be drawn because the first glyph string 
+        prepended must be drawn because the first glyph string
         draws over it.  */
       i = x_left_overwritten (head);
       if (i >= 0)
@@ -5524,10 +5524,10 @@ x_draw_glyphs (w, x, row, area, start, end, hl, overlaps_p)
     {
       int x0 = head ? head->x : x;
       int x1 = tail ? tail->x + tail->background_width : x;
-      
+
       x0 = FRAME_TO_WINDOW_PIXEL_X (w, x0);
       x1 = FRAME_TO_WINDOW_PIXEL_X (w, x1);
-      
+
       if (!row->full_width_p && XFASTINT (w->left_margin_width) != 0)
        {
          int left_area_width = window_box_width (w, LEFT_MARGIN_AREA);
@@ -5563,9 +5563,9 @@ x_fix_overlapping_area (w, row, area)
      enum glyph_row_area area;
 {
   int i, x;
-  
+
   BLOCK_INPUT;
-  
+
   if (area == LEFT_MARGIN_AREA)
     x = 0;
   else if (area == TEXT_AREA)
@@ -5597,7 +5597,7 @@ x_fix_overlapping_area (w, row, area)
          ++i;
        }
     }
-  
+
   UNBLOCK_INPUT;
 }
 
@@ -5617,7 +5617,7 @@ x_write_glyphs (start, len)
 
   xassert (updated_window && updated_row);
   BLOCK_INPUT;
-  
+
   /* Write glyphs.  */
 
   hpos = start - updated_row->glyphs[updated_area];
@@ -5627,7 +5627,7 @@ x_write_glyphs (start, len)
                     DRAW_NORMAL_TEXT, 0);
 
   UNBLOCK_INPUT;
-  
+
   /* Advance the output cursor.  */
   output_cursor.hpos += len;
   output_cursor.x = x;
@@ -5715,10 +5715,10 @@ x_clear_end_of_line (to_x)
   struct window *w = updated_window;
   int max_x, min_y, max_y;
   int from_x, from_y, to_y;
-  
+
   xassert (updated_window && updated_row);
   f = XFRAME (w->frame);
-  
+
   if (updated_row->full_width_p)
     {
       max_x = XFASTINT (w->width) * CANON_X_UNIT (f);
@@ -5740,7 +5740,7 @@ x_clear_end_of_line (to_x)
     to_x = min (to_x, max_x);
 
   to_y = min (max_y, output_cursor.y + updated_row->height);
-  
+
   /* Notice if the cursor will be cleared by this operation.  */
   if (!updated_row->full_width_p)
     notice_overwritten_cursor (w, updated_area,
@@ -5761,11 +5761,11 @@ x_clear_end_of_line (to_x)
       from_x = WINDOW_AREA_TO_FRAME_PIXEL_X (w, updated_area, from_x);
       to_x = WINDOW_AREA_TO_FRAME_PIXEL_X (w, updated_area, to_x);
     }
-  
+
   min_y = WINDOW_DISPLAY_HEADER_LINE_HEIGHT (w);
   from_y = WINDOW_TO_FRAME_PIXEL_Y (w, max (min_y, output_cursor.y));
   to_y = WINDOW_TO_FRAME_PIXEL_Y (w, to_y);
-  
+
   /* Prevent inadvertently clearing to end of the X window.  */
   if (to_x > from_x && to_y > from_y)
     {
@@ -5836,7 +5836,7 @@ timeval_subtract (result, x, y)
       y.tv_usec -= 1000000 * nsec;
       y.tv_sec += nsec;
     }
-  
+
   if (x.tv_usec - y.tv_usec > 1000000)
     {
       int nsec = (y.tv_usec - x.tv_usec) / 1000000;
@@ -5888,7 +5888,7 @@ XTflash (f)
         select (0, NULL, NULL, NULL, &timeout);
       }
   }
-  
+
   FlashMenuBar (0);
 
   UNBLOCK_INPUT;
@@ -5903,7 +5903,7 @@ void
 XTring_bell ()
 {
   struct frame *f = SELECTED_FRAME ();
-  
+
 #if defined (HAVE_TIMEVAL) && defined (HAVE_SELECT)
   if (visible_bell)
     XTflash (f);
@@ -5989,7 +5989,7 @@ x_scroll_run (w, run)
     }
 
   BLOCK_INPUT;
-  
+
   /* Cursor off.  Will be switched on again in x_update_window_end.  */
   updated_window = w;
   x_clear_cursor (w);
@@ -5999,7 +5999,7 @@ x_scroll_run (w, run)
                 x, from_y,
                 width, height,
                 x, to_y);
-  
+
   UNBLOCK_INPUT;
 }
 
@@ -6008,7 +6008,7 @@ x_scroll_run (w, run)
 /***********************************************************************
                           Exposure Events
  ***********************************************************************/
-                                                                       
+
 /* Redisplay an exposed area of frame F.  X and Y are the upper-left
    corner of the exposed rectangle.  W and H are width and height of
    the exposed area.  All are pixel values.  W or H zero means redraw
@@ -6167,7 +6167,7 @@ expose_area (w, row, r, area)
           x += first->pixel_width;
           ++first;
         }
-  
+
       /* Find the last one.  */
       last = first;
       first_x = x;
@@ -6199,7 +6199,7 @@ expose_line (w, row, r)
      Rect *r;
 {
   xassert (row->enabled_p);
-  
+
   if (row->mode_line_p || w->pseudo_window_p)
     x_draw_glyphs (w, 0, row, TEXT_AREA, 0, row->used[TEXT_AREA],
                   DRAW_NORMAL_TEXT, 0);
@@ -6257,18 +6257,18 @@ expose_overlaps (w, first_overlapping_row, last_overlapping_row)
      struct glyph_row *last_overlapping_row;
 {
   struct glyph_row *row;
-  
+
   for (row = first_overlapping_row; row <= last_overlapping_row; ++row)
     if (row->overlapping_p)
       {
        xassert (row->enabled_p && !row->mode_line_p);
-         
+
        if (row->used[LEFT_MARGIN_AREA])
          x_fix_overlapping_area (w, row, LEFT_MARGIN_AREA);
-  
+
        if (row->used[TEXT_AREA])
          x_fix_overlapping_area (w, row, TEXT_AREA);
-  
+
        if (row->used[RIGHT_MARGIN_AREA])
          x_fix_overlapping_area (w, row, RIGHT_MARGIN_AREA);
       }
@@ -6317,7 +6317,7 @@ expose_window (w, fr)
       struct glyph_row *row;
       int cursor_cleared_p;
       struct glyph_row *first_overlapping_row, *last_overlapping_row;
-  
+
       TRACE ((stderr, "expose_window (%d, %d, %d, %d)\n",
              r.left, r.top, r.right, r.bottom));
 
@@ -6357,11 +6357,11 @@ expose_window (w, fr)
                    first_overlapping_row = row;
                  last_overlapping_row = row;
                }
-             
+
              if (expose_line (w, row, &r))
                mouse_face_overwritten_p = 1;
            }
-             
+
          if (y1 >= yb)
            break;
        }
@@ -6381,10 +6381,10 @@ expose_window (w, fr)
          /* Fix the display of overlapping rows.  */
          if (first_overlapping_row)
            expose_overlaps (w, first_overlapping_row, last_overlapping_row);
-         
+
          /* Draw border between windows.  */
          x_draw_vertical_border (w);
-      
+
          /* Turn the cursor on again.  */
          if (cursor_cleared_p)
            x_update_window_cursor (w, 1);
@@ -6410,7 +6410,7 @@ x_intersect_rectangles (r1, r2, result)
   Rect *left, *right;
   Rect *upper, *lower;
   int intersection_p = 0;
-  
+
   /* Rerrange so that R1 is the left-most rectangle.  */
   if (r1->left < r2->left)
     left = r1, right = r2;
@@ -6422,7 +6422,7 @@ x_intersect_rectangles (r1, r2, result)
   if (right->left <= left->right)
     {
       result->left = right->left;
-      
+
       /* The right end of the intersection is the minimum of the
         the right ends of left and right.  */
       result->right = min (left->right, right->right);
@@ -6438,7 +6438,7 @@ x_intersect_rectangles (r1, r2, result)
       if (lower->top <= upper->bottom)
        {
          result->top = lower->top;
-         
+
          /* The lower end of the intersection is the minimum of the lower
             ends of upper and lower.  */
          result->bottom = min (lower->bottom, upper->bottom);
@@ -6989,7 +6989,7 @@ x_y_to_hpos_vpos (w, x, y, hpos, vpos, area, buffer_only_p)
          else if (!buffer_only_p || BUFFERP (glyph->object))
            break;
        }
-      
+
       x0 += glyph->pixel_width;
       ++glyph;
     }
@@ -7052,13 +7052,13 @@ note_mode_line_highlight (w, x, mode_line_p)
       struct glyph *glyph, *end;
       Lisp_Object help, map;
       int x0;
-      
+
       /* Find the glyph under X.  */
       glyph = row->glyphs[TEXT_AREA];
       end = glyph + row->used[TEXT_AREA];
       x0 = - (FRAME_LEFT_SCROLL_BAR_WIDTH (f) * CANON_X_UNIT (f)
              + FRAME_X_LEFT_FRINGE_WIDTH (f));
-      
+
       while (glyph < end
             && x >= x0 + glyph->pixel_width)
        {
@@ -7418,7 +7418,7 @@ note_mouse_highlight (f, x, y)
                 the text ``under'' it might have.  */
              struct glyph_row *r = MATRIX_ROW (w->current_matrix, vpos);
              int start = MATRIX_ROW_START_CHARPOS (r);
-             
+
              pos = string_buffer_position (w, object, start);
              if (pos > 0)
                mouse_face = get_char_property_and_overlay (make_number (pos),
@@ -7442,7 +7442,7 @@ note_mouse_highlight (f, x, y)
                                      &dpyinfo->mouse_face_beg_x,
                                      &dpyinfo->mouse_face_beg_y,
                                      object);
-                      
+
                  dpyinfo->mouse_face_past_end
                    = !fast_find_position (w, XFASTINT (after),
                                           &dpyinfo->mouse_face_end_col,
@@ -7474,7 +7474,7 @@ note_mouse_highlight (f, x, y)
        for (i = noverlays - 1; i >= 0 && NILP (help); --i)
          {
            overlay = overlay_vec[i];
-           help = Foverlay_get (overlay, Qhelp_echo); 
+           help = Foverlay_get (overlay, Qhelp_echo);
          }
 
        if (!NILP (help))
@@ -7521,7 +7521,7 @@ note_mouse_highlight (f, x, y)
                     && charpos < ZV)
              help = Fget_text_property (make_number (charpos), Qhelp_echo,
                                         object);
-           
+
            if (!NILP (help))
              {
                help_echo = help;
@@ -7608,7 +7608,7 @@ x_tool_bar_item (f, x, y, glyph, hpos, vpos, prop_idx)
          || *hpos < dpyinfo->mouse_face_end_col
          || dpyinfo->mouse_face_past_end))
     return 0;
-  
+
   return 1;
 }
 
@@ -7629,7 +7629,7 @@ x_handle_tool_bar_click (f, button_event)
   Lisp_Object enabled_p;
   int x = button_event->where.h;
   int y = button_event->where.v;
-  
+
   /* If not on the highlighted tool-bar item, return.  */
   frame_to_window_pixel_xy (w, &x, &y);
   if (x_tool_bar_item (f, x, y, &glyph, &hpos, &vpos, &prop_idx) != 0)
@@ -7639,7 +7639,7 @@ x_handle_tool_bar_click (f, button_event)
   enabled_p = AREF (f->tool_bar_items, prop_idx + TOOL_BAR_ITEM_ENABLED_P);
   if (NILP (enabled_p))
     return;
-  
+
   if (button_event->what == mouseDown)
     {
       /* Show item in pressed state.  */
@@ -7716,7 +7716,7 @@ note_tool_bar_highlight (f, x, y)
     goto set_help_echo;
 
   clear_mouse_face (dpyinfo);
-  
+
   /* Mouse is down, but on different tool-bar item?  */
   mouse_down_p = (dpyinfo->grabbed
                  && f == last_mouse_frame
@@ -7727,7 +7727,7 @@ note_tool_bar_highlight (f, x, y)
 
   dpyinfo->mouse_face_image_state = DRAW_NORMAL_TEXT;
   draw = mouse_down_p ? DRAW_IMAGE_SUNKEN : DRAW_IMAGE_RAISED;
-  
+
   /* If tool-bar item is not enabled, don't highlight it.  */
   enabled_p = AREF (f->tool_bar_items, prop_idx + TOOL_BAR_ITEM_ENABLED_P);
   if (!NILP (enabled_p))
@@ -7737,28 +7737,28 @@ note_tool_bar_highlight (f, x, y)
       row = MATRIX_ROW (w->current_matrix, vpos);
       for (i = x = 0; i < hpos; ++i)
        x += row->glyphs[TEXT_AREA][i].pixel_width;
-      
+
       /* Record this as the current active region.  */
       dpyinfo->mouse_face_beg_col = hpos;
       dpyinfo->mouse_face_beg_row = vpos;
       dpyinfo->mouse_face_beg_x = x;
       dpyinfo->mouse_face_beg_y = row->y;
       dpyinfo->mouse_face_past_end = 0;
-      
+
       dpyinfo->mouse_face_end_col = hpos + 1;
       dpyinfo->mouse_face_end_row = vpos;
       dpyinfo->mouse_face_end_x = x + glyph->pixel_width;
       dpyinfo->mouse_face_end_y = row->y;
       dpyinfo->mouse_face_window = window;
       dpyinfo->mouse_face_face_id = TOOL_BAR_FACE_ID;
-      
+
       /* Display it as active.  */
       show_mouse_face (dpyinfo, draw);
       dpyinfo->mouse_face_image_state = draw;
     }
-      
+
  set_help_echo:
-  
+
   /* Set help_echo to a help string.to display for this tool-bar item.
      XTread_socket does the rest.  */
   help_echo_object = help_echo_window = Qnil;
@@ -7780,7 +7780,7 @@ note_tool_bar_highlight (f, x, y)
 #if 0 /* This is a version of fast_find_position that's more correct
         in the presence of hscrolling, for example.  I didn't install
         it right away because the problem fixed is minor, it failed
-        in 20.x as well, and I think it's too risky to install 
+        in 20.x as well, and I think it's too risky to install
         so near the release of 21.1.  2001-09-25 gerd.  */
 
 static int
@@ -7813,10 +7813,10 @@ fast_find_position (w, charpos, hpos, vpos, x, y, stop)
   *x = row->x;
   *y = row->y;
   *vpos = MATRIX_ROW_VPOS (row, w->current_matrix);
-  
+
   glyph = row->glyphs[TEXT_AREA];
   end = glyph + row->used[TEXT_AREA];
-  
+
   /* Skip over glyphs not having an object at the start of the row.
      These are special glyphs like truncation marks on terminal
      frames.  */
@@ -8018,7 +8018,7 @@ fast_find_string_pos (w, pos, object, hpos, vpos, x, y, right_p)
          *x += best_glyph->pixel_width;
          ++*hpos;
        }
-      
+
       *y = best_row->y;
       *vpos = best_row - w->current_matrix->rows;
     }
@@ -8037,7 +8037,7 @@ show_mouse_face (dpyinfo, draw)
 {
   struct window *w = XWINDOW (dpyinfo->mouse_face_window);
   struct frame *f = XFRAME (WINDOW_FRAME (w));
-  
+
   if (/* If window is in the process of being destroyed, don't bother
         to do anything.  */
       w->current_matrix != NULL
@@ -8052,7 +8052,7 @@ show_mouse_face (dpyinfo, draw)
 
       first = MATRIX_ROW (w->current_matrix, dpyinfo->mouse_face_beg_row);
       last = MATRIX_ROW (w->current_matrix, dpyinfo->mouse_face_end_row);
-      
+
       for (row = first; row <= last && row->enabled_p; ++row)
        {
          int start_hpos, end_hpos, start_x;
@@ -8076,7 +8076,7 @@ show_mouse_face (dpyinfo, draw)
 
          if (end_hpos > start_hpos)
            {
-             x_draw_glyphs (w, start_x, row, TEXT_AREA, 
+             x_draw_glyphs (w, start_x, row, TEXT_AREA,
                             start_hpos, end_hpos, draw, 0);
 
              row->mouse_face_p
@@ -8307,7 +8307,7 @@ XTmouse_position (fp, insist, bar_window, part, x, y, time)
   Lisp_Object frame, tail;
 
   if (is_emacs_window(wp))
-    f = ((mac_output *) GetWRefCon (wp))->mFP;         
+    f = ((mac_output *) GetWRefCon (wp))->mFP;
 
   BLOCK_INPUT;
 
@@ -8339,7 +8339,7 @@ XTmouse_position (fp, insist, bar_window, part, x, y, time)
       XSETINT (*y, mouse_pos.v);
       *time = last_mouse_movement_time;
     }
-  
+
   UNBLOCK_INPUT;
 }
 
@@ -8347,7 +8347,7 @@ XTmouse_position (fp, insist, bar_window, part, x, y, time)
 /************************************************************************
                         Scroll bars, general
  ************************************************************************/
-                                                                        
+
 /* Create a scroll bar and return the scroll bar vector for it.  W is
    the Emacs window on which to create the scroll bar. TOP, LEFT,
    WIDTH and HEIGHT are the pixel coordinates and dimensions of the
@@ -8370,7 +8370,7 @@ x_scroll_bar_create (w, top, left, width, height, disp_top, disp_height)
   r.top = disp_top;
   r.right = left + width;
   r.bottom = disp_top + disp_height;
-  
+
 #ifdef TARGET_API_MAC_CARBON
   ch = NewControl (FRAME_MAC_WINDOW (f), &r, "\p", 1, 0, 0, 0,
                   kControlScrollBarProc, 0L);
@@ -8403,7 +8403,7 @@ x_scroll_bar_create (w, top, left, width, height, disp_top, disp_height)
 
 
 /* Draw BAR's handle in the proper position.
-   
+
    If the handle is already drawn from START to END, don't bother
    redrawing it, unless REBUILD is non-zero; in that case, always
    redraw it.  (REBUILD is handy for drawing the handle after expose
@@ -8442,7 +8442,7 @@ x_scroll_bar_set_handle (bar, start, end, rebuild)
   else if (start > top_range)
     start = top_range;
   end = start + length;
-  
+
   if (end < start)
     end = start;
   else if (end > top_range && ! dragging)
@@ -8536,10 +8536,10 @@ XTset_vertical_scroll_bar (w, portion, whole, position)
 
   /* Compute the left edge of the scroll bar.  */
   if (FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT (f))
-    sb_left = left + width - sb_width - (width - sb_width) / 2; 
+    sb_left = left + width - sb_width - (width - sb_width) / 2;
   else
     sb_left = left + (width - sb_width) / 2;
-  
+
   /* Adjustments according to Inside Macintosh to make it look nice */
   disp_top = top;
   disp_height = height;
@@ -8553,10 +8553,10 @@ XTset_vertical_scroll_bar (w, portion, whole, position)
       disp_top++;
       disp_height--;
     }
-    
+
   if (sb_left + sb_width == PIXEL_WIDTH (f))
     sb_left++;
-  
+
   /* Does the scroll bar exist yet?  */
   if (NILP (w->vertical_scroll_bar))
     {
@@ -8572,7 +8572,7 @@ XTset_vertical_scroll_bar (w, portion, whole, position)
     {
       /* It may just need to be moved and resized.  */
       ControlHandle ch;
-            
+
       bar = XSCROLL_BAR (w->vertical_scroll_bar);
       ch = SCROLL_BAR_CONTROL_HANDLE (bar);
 
@@ -8605,7 +8605,7 @@ XTset_vertical_scroll_bar (w, portion, whole, position)
           SizeControl (ch, sb_width - VERTICAL_SCROLL_BAR_WIDTH_TRIM * 2,
                       disp_height);
           ShowControl (ch);
-      
+
           /* Remember new settings.  */
           XSETINT (bar->left, sb_left);
           XSETINT (bar->top, top);
@@ -8749,7 +8749,7 @@ activate_scroll_bars (frame)
 {
   Lisp_Object bar;
   ControlHandle ch;
-  
+
   bar = FRAME_SCROLL_BARS (frame);
   while (! NILP (bar))
     {
@@ -8773,7 +8773,7 @@ deactivate_scroll_bars (frame)
 {
   Lisp_Object bar;
   ControlHandle ch;
-  
+
   bar = FRAME_SCROLL_BARS (frame);
   while (! NILP (bar))
     {
@@ -8782,7 +8782,7 @@ deactivate_scroll_bars (frame)
       DeactivateControl (ch);
 #else
       SetControlMaximum (ch, XINT (-1));
-#endif      
+#endif
       bar = XSCROLL_BAR (bar)->next;
     }
 }
@@ -8808,7 +8808,7 @@ x_scroll_bar_handle_click (bar, part_code, er, bufp)
   bufp->arg = Qnil;
 
   bar->dragging = Qnil;
+
   switch (part_code)
     {
     case kControlUpButtonPart:
@@ -9034,7 +9034,7 @@ x_draw_hollow_cursor (w, row)
   if (cursor_glyph->type == STRETCH_GLYPH
       && !x_stretch_cursor_p)
     wd = min (CANON_X_UNIT (f), wd);
-  
+
   /* The foreground of cursor_gc is typically the same as the normal
      background color, which can cause the cursor box to be invisible.  */
   xgcv.foreground = f->output_data.mac->cursor_pixel;
@@ -9078,7 +9078,7 @@ x_draw_bar_cursor (w, row, width)
       XGCValues xgcv;
       Display *dpy;
       Window window;
-      
+
       cursor_glyph = get_phys_cursor_glyph (w);
       if (cursor_glyph == NULL)
        return;
@@ -9089,7 +9089,7 @@ x_draw_bar_cursor (w, row, width)
       dpy = FRAME_MAC_DISPLAY (f);
       window = FRAME_MAC_WINDOW (f);
       gc = FRAME_X_DISPLAY_INFO (f)->scratch_cursor_gc;
-      
+
       if (gc)
        XChangeGC (dpy, gc, mask, &xgcv);
       else
@@ -9183,7 +9183,7 @@ x_erase_phys_cursor (w)
      screen.  */
   if (w->phys_cursor_type == NO_CURSOR)
     goto mark_cursor_off;
-          
+
   /* VPOS >= active_glyphs->nrows means that window has been resized.
      Don't bother to erase the cursor.  */
   if (vpos >= active_glyphs->nrows)
@@ -9194,13 +9194,13 @@ x_erase_phys_cursor (w)
   cursor_row = MATRIX_ROW (active_glyphs, vpos);
   if (!cursor_row->enabled_p)
     goto mark_cursor_off;
-  
+
   /* If row is completely invisible, don't attempt to delete a cursor which
      isn't there.  This may happen if cursor is at top of window, and
      we switch to a buffer with a header line in that window.  */
   if (cursor_row->visible_height <= 0)
     goto mark_cursor_off;
-  
+
   /* This can happen when the new row is shorter than the old one.
      In this case, either x_draw_glyphs or clear_end_of_line
      should have cleared the cursor.  Note that we wouldn't be
@@ -9208,7 +9208,7 @@ x_erase_phys_cursor (w)
      cursor glyph at hand.  */
   if (w->phys_cursor.hpos >= cursor_row->used[TEXT_AREA])
     goto mark_cursor_off;
-        
+
   /* If the cursor is in the mouse face area, redisplay that when
      we clear the cursor.  */
   if (! NILP (dpyinfo->mouse_face_window)
@@ -9236,7 +9236,7 @@ x_erase_phys_cursor (w)
        goto mark_cursor_off;
 
       x = WINDOW_TEXT_TO_FRAME_PIXEL_X (w, w->phys_cursor.x),
-      
+
       XClearArea (FRAME_MAC_DISPLAY (f), FRAME_MAC_WINDOW (f),
                  x,
                  WINDOW_TO_FRAME_PIXEL_Y (w, max (header_line_height,
@@ -9245,7 +9245,7 @@ x_erase_phys_cursor (w)
                  cursor_row->visible_height,
                  0);
     }
-  
+
   /* Erase the cursor by redrawing the character underneath it.  */
   if (mouse_face_here_p)
     hl = DRAW_MOUSE_FACE;
@@ -9268,7 +9268,7 @@ cursor_in_mouse_face_p (w)
   struct mac_display_info *dpyinfo
     = FRAME_MAC_DISPLAY_INFO (XFRAME (w->frame));
   int in_mouse_face = 0;
-  
+
   if (WINDOWP (dpyinfo->mouse_face_window)
       && XWINDOW (dpyinfo->mouse_face_window) == w)
     {
@@ -9323,8 +9323,8 @@ x_display_and_set_cursor (w, on, hpos, vpos, x, y)
   current_glyphs = w->current_matrix;
   glyph_row = MATRIX_ROW (current_glyphs, vpos);
   glyph = glyph_row->glyphs[TEXT_AREA] + hpos;
-  
-  /* If cursor row is not enabled, we don't really know where to 
+
+  /* If cursor row is not enabled, we don't really know where to
      display the cursor.  */
   if (!glyph_row->enabled_p)
     {
@@ -9356,7 +9356,7 @@ x_display_and_set_cursor (w, on, hpos, vpos, x, y)
     {
       w->phys_cursor_ascent = glyph_row->ascent;
       w->phys_cursor_height = glyph_row->height;
-      
+
       /* Set phys_cursor_.* before x_draw_.* is called because some
         of them may need the information.  */
       w->phys_cursor.x = x;
@@ -9760,7 +9760,7 @@ x_calc_absolute_position (f)
 #if TARGET_API_MAC_CARBON
       {
         Rect r;
-    
+
         GetWindowPortBounds (FRAME_MAC_WINDOW (f), &r);
         SetPt(&pt, r.left,  r.top);
       }
@@ -9841,9 +9841,9 @@ x_set_window_size (f, change_gravity, cols, rows)
      int cols, rows;
 {
   int pixelwidth, pixelheight;
-  
+
   BLOCK_INPUT;
-  
+
   check_frame_size (f, &rows, &cols);
   f->output_data.mac->vertical_scroll_bar_extra
     = (!FRAME_HAS_VERTICAL_SCROLL_BARS (f)
@@ -9864,7 +9864,7 @@ x_set_window_size (f, change_gravity, cols, rows)
      but the window manager will get around to dealing with the size
      change request eventually, and we'll hear how it went when the
      ConfigureNotify event gets here.
-     
+
      We could just not bother storing any of this information here,
      and let the ConfigureNotify event set everything up, but that
      might be kind of confusing to the Lisp code, since size changes
@@ -9889,7 +9889,7 @@ x_set_window_size (f, change_gravity, cols, rows)
   mark_window_cursors_off (XWINDOW (f->root_window));
 
   /* Clear out any recollection of where the mouse highlighting was,
-     since it might be in a place that's outside the new frame size. 
+     since it might be in a place that's outside the new frame size.
      Actually checking whether it is outside is a pain in the neck,
      so don't try--just let the highlighting be done afresh with new size.  */
   cancel_mouse_face (f);
@@ -10018,7 +10018,7 @@ x_make_frame_visible (f)
                      f->output_data.mac->top_pos, 0);
 
       f->output_data.mac->asked_for_visible = 1;
-      
+
       ShowWindow (FRAME_MAC_WINDOW (f));
     }
 
@@ -10082,11 +10082,11 @@ x_make_frame_invisible (f)
   /* Don't keep the highlight on an invisible frame.  */
   if (FRAME_MAC_DISPLAY_INFO (f)->x_highlight_frame == f)
     FRAME_MAC_DISPLAY_INFO (f)->x_highlight_frame = 0;
-  
+
   BLOCK_INPUT;
-  
+
   HideWindow (FRAME_MAC_WINDOW (f));
-  
+
   /* We can't distinguish this from iconification
      just by the event that we get from the server.
      So we can't win using the usual strategy of letting
@@ -10096,7 +10096,7 @@ x_make_frame_invisible (f)
   FRAME_ICONIFIED_P (f) = 0;
   f->async_visible = 0;
   f->async_iconified = 0;
-  
+
   UNBLOCK_INPUT;
 }
 
@@ -10119,7 +10119,7 @@ x_iconify_frame (f)
   BLOCK_INPUT;
 
   CollapseWindow (FRAME_MAC_WINDOW (f), true);
-  
+
   UNBLOCK_INPUT;
 }
 
@@ -10380,7 +10380,7 @@ x_wm_set_icon_pixmap (f, pixmap_id)
   }
 
 #else /* not USE_X_TOOLKIT */
-  
+
   f->output_data.x->wm_hints.flags |= IconPixmapHint;
   XSetWMHints (FRAME_X_DISPLAY (f), window, &f->output_data.x->wm_hints);
 
@@ -10450,7 +10450,7 @@ wildstrieq (char *s1, char *s2)
 }
 
 /* Assume parameter 1 is fully qualified, no wildcards. */
-static int 
+static int
 mac_font_pattern_match (fontname, pattern)
     char * fontname;
     char * pattern;
@@ -10487,7 +10487,7 @@ mac_font_pattern_match (fontname, pattern)
 
 /* Two font specs are considered to match if their foundry, family,
    weight, slant, and charset match.  */
-static int 
+static int
 mac_font_match (char *mf, char *xf)
 {
   char m_foundry[50], m_family[50], m_weight[20], m_slant[2], m_charset[20];
@@ -10543,7 +10543,7 @@ mac_to_x_fontname (char *name, int size, Style style, short scriptcode)
        break;
       case smKorean:
         strcpy(cs, "ksc5601.1989-0");
-        break;        
+        break;
       default:
         strcpy(cs, "mac-roman");
         break;
@@ -10553,14 +10553,14 @@ mac_to_x_fontname (char *name, int size, Style style, short scriptcode)
   sprintf(xf, "-%s-%s-%s-%c-normal--%d-%d-75-75-m-%d-%s",
           foundry, family, style & bold ? "bold" : "medium",
          style & italic ? 'i' : 'r', size, size * 10, size * 10, cs);
-  
+
   result = (char *) xmalloc (strlen (xf) + 1);
   strcpy (result, xf);
   for (p = result; *p; p++)
     *p = tolower(*p);
   return result;
 }
-                                                                        
+
 
 /* Convert an X font spec to the corresponding mac font name, which
    can then be passed to GetFNum after conversion to a Pascal string.
@@ -10622,7 +10622,7 @@ init_font_name_table ()
 {
 #if TARGET_API_MAC_CARBON
   SInt32 sv;
-  
+
   if (Gestalt (gestaltSystemVersion, &sv) == noErr && sv >= 0x1000)
     {
       FMFontFamilyIterator ffi;
@@ -10648,17 +10648,17 @@ init_font_name_table ()
          FMFontStyle style;
          FMFontSize size;
          SInt16 sc;
-      
+
          if (FMGetFontFamilyName (ff, name) != noErr)
            break;
          p2cstr (name);
-      
+
          sc = FontToScript (ff);
-         
+
          /* Point the instance iterator at the current font family.  */
          if (FMResetFontFamilyInstanceIterator(ff, &ffii) != noErr)
            break;
-      
+
          while (FMGetNextFontFamilyInstance (&ffii, &font, &style, &size)
                 == noErr)
            if (size == 0)
@@ -10683,7 +10683,7 @@ init_font_name_table ()
                                                                -smJapanese));
              }
        }
-  
+
       /* Dispose of the iterators.  */
       FMDisposeFontFamilyIterator (&ffi);
       FMDisposeFontFamilyInstanceIterator (&ffii);
@@ -10701,7 +10701,7 @@ init_font_name_table ()
       Str32 name;
       struct FontAssoc *fat;
       struct AsscEntry *assc_entry;
-      
+
       GetPort (&port);  /* save the current font number used */
 #if TARGET_API_MAC_CARBON
       old_fontnum = GetPortTextFont (port);
@@ -10714,19 +10714,19 @@ init_font_name_table ()
          font_handle = GetIndResource ('FOND', i);
          if (!font_handle)
            continue;
-         
+
          GetResInfo (font_handle, &id, &type, name);
          GetFNum (name, &fontnum);
          p2cstr (name);
          if (fontnum == 0)
            continue;
-         
+
          TextFont (fontnum);
          scriptcode = FontToScript (fontnum);
          do
            {
              HLock (font_handle);
-             
+
              if (GetResourceSizeOnDisk (font_handle)
                  >= sizeof (struct FamRec))
                {
@@ -10736,7 +10736,7 @@ init_font_name_table ()
                    = (struct AsscEntry *) (*font_handle
                                            + sizeof (struct FamRec)
                                            + sizeof (struct FontAssoc));
-                 
+
                  for (j = 0; j <= fat->numAssoc; j++, assc_entry++)
                    {
                      if (font_name_table_size == 0)
@@ -10770,7 +10770,7 @@ init_font_name_table ()
                        }
                    }
                }
-             
+
              HUnlock (font_handle);
              font_handle_2 = GetNextFOND (font_handle);
              ReleaseResource (font_handle);
@@ -10778,7 +10778,7 @@ init_font_name_table ()
            }
          while (ResError () == noErr && font_handle);
        }
-  
+
       TextFont (old_fontnum);
 #if TARGET_API_MAC_CARBON
     }
@@ -10836,7 +10836,7 @@ x_list_fonts (struct frame *f,
             break;
         }
     }
-  
+
   /* MAC_TODO: add code for matching outline fonts here */
 
   UNGCPRO;
@@ -10848,7 +10848,7 @@ x_list_fonts (struct frame *f,
                      XCDR (dpyinfo->name_list_element)));
     }
  label_cached:
-  
+
   return newlist;
 }
 
@@ -10869,7 +10869,7 @@ x_check_font (f, font)
   xassert (font != NULL);
 
   for (i = 0; i < dpyinfo->n_fonts; i++)
-    if (dpyinfo->font_table[i].name 
+    if (dpyinfo->font_table[i].name
        && font == dpyinfo->font_table[i].font)
       break;
 
@@ -10913,20 +10913,20 @@ x_compute_min_glyph_bounds (f)
   MacFontStruct *font;
   int old_width = dpyinfo->smallest_char_width;
   int old_height = dpyinfo->smallest_font_height;
-  
+
   dpyinfo->smallest_font_height = 100000;
   dpyinfo->smallest_char_width = 100000;
-  
+
   for (i = 0; i < dpyinfo->n_fonts; ++i)
     if (dpyinfo->font_table[i].name)
       {
        struct font_info *fontp = dpyinfo->font_table + i;
        int w, h;
-       
+
        font = (MacFontStruct *) fontp->font;
        xassert (font != (MacFontStruct *) ~0);
        x_font_min_bounds (font, &w, &h);
-       
+
        dpyinfo->smallest_font_height = min (dpyinfo->smallest_font_height, h);
        dpyinfo->smallest_char_width = min (dpyinfo->smallest_char_width, w);
       }
@@ -10951,7 +10951,7 @@ is_fully_specified_xlfd (char *p)
 
   if (*p != '-')
     return 0;
-  
+
   for (i = 0; i < 13; i++)
     {
       q = strchr (p + 1, '-');
@@ -10964,7 +10964,7 @@ is_fully_specified_xlfd (char *p)
 
   if (strchr (p + 1, '-') != NULL)
     return 0;
-  
+
   if (*(p + 1) == '*' && *(p + 2) == '\0')
     return 0;
 
@@ -11006,7 +11006,7 @@ XLoadQueryFont (Display *dpy, char *fontname)
 
       if (i >= font_name_count)
         return NULL;
-  
+
       name = font_name_table[i];
     }
 
@@ -11037,9 +11037,9 @@ XLoadQueryFont (Display *dpy, char *fontname)
   GetFNum (mfontname, &fontnum);
   if (fontnum == 0)
     return NULL;
-    
+
   font = (MacFontStruct *) xmalloc (sizeof (struct MacFontStruct));
-  
+
   font->fontname = (char *) xmalloc (strlen (name) + 1);
   bcopy (name, font->fontname, strlen (name) + 1);
 
@@ -11055,13 +11055,13 @@ XLoadQueryFont (Display *dpy, char *fontname)
   {
     char cs[32];
 
-    if (sscanf (name, 
+    if (sscanf (name,
                "-%*[^-]-%*[^-]-%*[^-]-%*c-%*[^-]--%*[^-]-%*[^-]-%*[^-]-%*[^-]-%*c-%*[^-]-%31s",
                cs) == 1
-       && 0 == strcmp (cs, "jisx0201.1976-0"))  
+       && 0 == strcmp (cs, "jisx0201.1976-0"))
       font->mac_scriptcode = smRoman;
   }
-  
+
   is_two_byte_font = font->mac_scriptcode == smJapanese ||
                      font->mac_scriptcode == smTradChinese ||
                      font->mac_scriptcode == smSimpChinese ||
@@ -11070,7 +11070,7 @@ XLoadQueryFont (Display *dpy, char *fontname)
   TextFont (fontnum);
   TextSize (size);
   TextFace (fontface);
-  
+
   GetFontInfo (&the_fontinfo);
 
   font->ascent = the_fontinfo.ascent;
@@ -11083,7 +11083,7 @@ XLoadQueryFont (Display *dpy, char *fontname)
     font->max_byte1 = 0;
   font->min_char_or_byte2 = 0x20;
   font->max_char_or_byte2 = 0xff;
-  
+
   if (is_two_byte_font)
     {
       /* Use the width of an "ideographic space" of that font because
@@ -11125,7 +11125,7 @@ XLoadQueryFont (Display *dpy, char *fontname)
        xmalloc (sizeof (XCharStruct) * (0xff - 0x20 + 1));
       {
         int c;
-    
+
         for (c = 0x20; c <= 0xff; c++)
           {
             font->per_char[c - 0x20] = font->max_bounds;
@@ -11133,11 +11133,11 @@ XLoadQueryFont (Display *dpy, char *fontname)
           }
       }
     }
-  
+
   TextFont (old_fontnum);  /* restore previous font number, size and face */
   TextSize (old_fontsize);
   TextFace (old_fontface);
-  
+
   return font;
 }
 
@@ -11531,7 +11531,7 @@ static pascal OSErr do_ae_quit_application (AppleEvent *, AppleEvent *, long);
 
 /* Drag and Drop */
 static OSErr init_mac_drag_n_drop ();
-static pascal OSErr mac_do_receive_drag (WindowPtr, void*, DragReference); 
+static pascal OSErr mac_do_receive_drag (WindowPtr, void*, DragReference);
 
 #if USE_CARBON_EVENTS
 /* Preliminary Support for the OSX Services Menu */
@@ -11546,7 +11546,7 @@ extern void check_alarm ();
 extern void initialize_applescript();
 extern void terminate_applescript();
 
-static unsigned int 
+static unsigned int
 #if USE_CARBON_EVENTS
 mac_to_emacs_modifiers (UInt32 mods)
 #else
@@ -11568,8 +11568,8 @@ mac_to_emacs_modifiers (EventModifiers mods)
 #if USE_CARBON_EVENTS
 /* Obtains the event modifiers from the event ref and then calls
    mac_to_emacs_modifiers.  */
-static int 
-mac_event_to_emacs_modifiers (EventRef eventRef) 
+static int
+mac_event_to_emacs_modifiers (EventRef eventRef)
 {
   UInt32 mods = 0;
   GetEventParameter (eventRef, kEventParamKeyModifiers, typeUInt32, NULL,
@@ -11580,20 +11580,20 @@ mac_event_to_emacs_modifiers (EventRef eventRef)
 /* Given an event ref, return the code to use for the mouse button
    code in the emacs input_event.  */
 static int
-mac_get_mouse_btn (EventRef ref) 
+mac_get_mouse_btn (EventRef ref)
 {
   EventMouseButton result = kEventMouseButtonPrimary;
   GetEventParameter (ref, kEventParamMouseButton, typeMouseButton, NULL,
                    sizeof (EventMouseButton), NULL, &result);
-  switch (result) 
+  switch (result)
     {
     case kEventMouseButtonPrimary:
       return 0;
     case kEventMouseButtonSecondary:
-      return NILP (Vmac_wheel_button_is_mouse_2) ? 1 : 2; 
+      return NILP (Vmac_wheel_button_is_mouse_2) ? 1 : 2;
     case kEventMouseButtonTertiary:
     case 4:  /* 4 is the number for the mouse wheel button */
-      return NILP (Vmac_wheel_button_is_mouse_2) ? 2 : 1; 
+      return NILP (Vmac_wheel_button_is_mouse_2) ? 2 : 1;
     default:
       return 0;
     }
@@ -11605,24 +11605,24 @@ mac_get_mouse_btn (EventRef ref)
    checks to see if it is a mouse up or down carbon event that has not
    been converted, and if so, converts it by hand (to be picked up in
    the XTread_socket loop).  */
-static Boolean mac_convert_event_ref (EventRef eventRef, EventRecord *eventRec) 
+static Boolean mac_convert_event_ref (EventRef eventRef, EventRecord *eventRec)
 {
   Boolean result = ConvertEventRefToEventRecord (eventRef, eventRec);
   /* Do special case for mouse wheel button.  */
-  if (!result && GetEventClass (eventRef) == kEventClassMouse) 
-    { 
+  if (!result && GetEventClass (eventRef) == kEventClassMouse)
+    {
       UInt32 kind = GetEventKind (eventRef);
-      if (kind == kEventMouseDown && !(eventRec->what == mouseDown)) 
+      if (kind == kEventMouseDown && !(eventRec->what == mouseDown))
        {
          eventRec->what = mouseDown;
          result=1;
        }
-      if (kind == kEventMouseUp && !(eventRec->what == mouseUp)) 
+      if (kind == kEventMouseUp && !(eventRec->what == mouseUp))
        {
          eventRec->what = mouseUp;
          result=1;
        }
-      if (result) 
+      if (result)
        {
          /* Need where and when.  */
          UInt32 mods;
@@ -11636,7 +11636,7 @@ static Boolean mac_convert_event_ref (EventRef eventRef, EventRecord *eventRec)
                             typeUInt32, NULL, sizeof (UInt32),
                             NULL, &mods);
          eventRec->modifiers = mods;
-         
+
          eventRec->when = EventTimeToTicks (GetEventTime (eventRef));
        }
     }
@@ -11650,7 +11650,7 @@ do_get_menus (void)
 {
   Handle menubar_handle;
   MenuHandle menu_handle;
-       
+
   menubar_handle = GetNewMBar (128);
   if(menubar_handle == NULL)
     abort ();
@@ -11678,7 +11678,7 @@ do_init_managers (void)
   InitDialogs (NULL);
 #endif /* !TARGET_API_MAC_CARBON */
   InitCursor ();
-       
+
 #if !TARGET_API_MAC_CARBON
   /* set up some extra stack space for use by emacs */
   SetApplLimit ((Ptr) ((long) GetApplLimit () - EXTRA_STACK_ALLOC));
@@ -11694,7 +11694,7 @@ static void
 do_check_ram_size (void)
 {
   SInt32 physical_ram_size, logical_ram_size;
-  
+
   if (Gestalt (gestaltPhysicalRAMSize, &physical_ram_size) != noErr
       || Gestalt (gestaltLogicalRAMSize, &logical_ram_size) != noErr
       || physical_ram_size > 256 * 1024 * 1024
@@ -11718,7 +11718,7 @@ do_window_update (WindowPtr win)
           f->async_visible = 1;
           f->async_iconified = 0;
           SET_FRAME_GARBAGED (f);
-          
+
           /* An update event is equivalent to MapNotify on X, so report
              visibility changes properly.  */
           if (! NILP(Vframe_list) && ! NILP (XCDR (Vframe_list)))
@@ -11767,7 +11767,7 @@ do_window_activate (WindowPtr win)
     {
       mwp = (mac_output *) GetWRefCon (win);
       f = mwp->mFP;
-      
+
       if (f)
        {
          x_new_focus_frame (FRAME_MAC_DISPLAY_INFO (f), f);
@@ -11786,7 +11786,7 @@ do_window_deactivate (WindowPtr win)
     {
       mwp = (mac_output *) GetWRefCon (win);
       f = mwp->mFP;
-      
+
       if (f == FRAME_MAC_DISPLAY_INFO (f)->x_focus_frame)
        {
          x_new_focus_frame (FRAME_MAC_DISPLAY_INFO (f), 0);
@@ -11850,10 +11850,10 @@ do_mouse_moved (Point mouse_pos)
   WindowPtr wp = FrontWindow ();
   struct frame *f;
 
-  if (is_emacs_window (wp)) 
+  if (is_emacs_window (wp))
     {
-      f = ((mac_output *) GetWRefCon (wp))->mFP;            
-      
+      f = ((mac_output *) GetWRefCon (wp))->mFP;
+
 #if TARGET_API_MAC_CARBON
       SetPort (GetWindowPort (wp));
 #else
@@ -11861,7 +11861,7 @@ do_mouse_moved (Point mouse_pos)
 #endif
 
       GlobalToLocal (&mouse_pos);
-      
+
       note_mouse_movement (f, &mouse_pos);
     }
 }
@@ -11878,7 +11878,7 @@ do_os_event (EventRecord *erp)
       else
        do_app_suspend ();
       break;
-                               
+
     case mouseMovedMessage:
       do_mouse_moved (erp->where);
       break;
@@ -11913,7 +11913,7 @@ do_apple_menu (SInt16 menu_item)
 #if !TARGET_API_MAC_CARBON
   Str255 item_name;
   SInt16 da_driver_refnum;
-       
+
   if (menu_item == I_ABOUT)
     NoteAlert (ABOUT_ALERT_ID, NULL);
   else
@@ -11928,13 +11928,13 @@ void
 do_menu_choice (SInt32 menu_choice)
 {
   SInt16 menu_id, menu_item;
-  
+
   menu_id = HiWord (menu_choice);
   menu_item = LoWord (menu_choice);
-  
+
   if (menu_id == 0)
     return;
-  
+
   switch (menu_id)
     {
     case M_APPLE:
@@ -11944,18 +11944,18 @@ do_menu_choice (SInt32 menu_choice)
     default:
       {
         WindowPtr wp = FrontWindow ();
-        struct frame *f = ((mac_output *) GetWRefCon (wp))->mFP;            
+        struct frame *f = ((mac_output *) GetWRefCon (wp))->mFP;
         MenuHandle menu = GetMenuHandle (menu_id);
         if (menu)
           {
             UInt32 refcon;
-            
+
             GetMenuItemRefCon (menu, menu_item, &refcon);
             menubar_selection_callback (f, refcon);
           }
       }
     }
-  
+
   HiliteMenu (0);
 }
 
@@ -11971,17 +11971,17 @@ do_grow_window (WindowPtr w, EventRecord *e)
   int rows, columns;
   mac_output *mwp = (mac_output *) GetWRefCon (w);
   struct frame *f = mwp->mFP;
-  
+
   SetRect(&limit_rect, MIN_DOC_SIZE, MIN_DOC_SIZE, MAX_DOC_SIZE, MAX_DOC_SIZE);
-  
+
   grow_size = GrowWindow (w, e->where, &limit_rect);
-  
+
   /* see if it really changed size */
   if (grow_size != 0)
     {
       rows = PIXEL_TO_CHAR_HEIGHT (f, HiWord (grow_size));
       columns = PIXEL_TO_CHAR_WIDTH (f, LoWord (grow_size));
-      
+
       x_set_window_size (f, 0, columns, rows);
     }
 }
@@ -12001,7 +12001,7 @@ do_zoom_window (WindowPtr w, int zoom_in_or_out)
   int w_title_height, columns, rows, width, height, dummy, x, y;
   mac_output *mwp = (mac_output *) GetWRefCon (w);
   struct frame *f = mwp->mFP;
-   
+
   GetPort (&save_port);
 
 #if TARGET_API_MAC_CARBON
@@ -12015,7 +12015,7 @@ do_zoom_window (WindowPtr w, int zoom_in_or_out)
   {
     Rect r;
     BitMap bm;
-    
+
     GetWindowPortBounds (w, &r);
     EraseRect (&r);
 
@@ -12030,7 +12030,7 @@ do_zoom_window (WindowPtr w, int zoom_in_or_out)
         zoom_rect = bm.bounds;
         zoom_rect.top += w_title_height;
         InsetRect (&zoom_rect, 8, 4);  /* not too tight */
-    
+
         zoom_rect.right = zoom_rect.left
          + CHAR_TO_PIXEL_WIDTH (f, DEFAULT_NUM_COLS);
 
@@ -12052,7 +12052,7 @@ do_zoom_window (WindowPtr w, int zoom_in_or_out)
       zoom_rect = qd.screenBits.bounds;
       zoom_rect.top += w_title_height;
       InsetRect (&zoom_rect, 8, 4);  /* not too tight */
-      
+
       zoom_rect.right = zoom_rect.left
        + CHAR_TO_PIXEL_WIDTH (f, DEFAULT_NUM_COLS);
 
@@ -12098,7 +12098,7 @@ init_required_apple_events ()
 
   if (!(result & (1 << gestaltAppleEventsPresent)))
     abort ();
-  
+
 #if TARGET_API_MAC_CARBON
   err = AEInstallEventHandler(kCoreEventClass, kAEOpenApplication,
                              NewAEEventHandlerUPP
@@ -12175,10 +12175,10 @@ OSStatus
 mac_handle_service_event (EventHandlerCallRef callRef,
                          EventRef event, void *data)
 {
-  OSStatus err = noErr; 
+  OSStatus err = noErr;
   switch (GetEventKind (event))
     {
-    case kEventServiceGetTypes: 
+    case kEventServiceGetTypes:
       {
        CFMutableArrayRef copyTypes, pasteTypes;
        CFStringRef type;
@@ -12214,14 +12214,14 @@ mac_handle_service_event (EventHandlerCallRef callRef,
              {
                GetEventParameter (event, kEventParamScrapRef, typeScrapRef, NULL,
                                   sizeof (ScrapRef), NULL, &specificScrap);
-             
+
                err = GetScrapFlavorData (currentScrap, kScrapFlavorTypeText,
                                          &byteCount, buffer);
                if (err == noErr)
                  PutScrapFlavor (specificScrap, kScrapFlavorTypeText,
                                  kScrapFlavorMaskNone, byteCount, buffer);
                xfree (buffer);
-             } 
+             }
          }
        err = noErr;
       }
@@ -12237,7 +12237,7 @@ mac_handle_service_event (EventHandlerCallRef callRef,
         if (err == noErr) {
          void * buffer = xmalloc(byteCount);
          if (buffer != NULL ) {
-           err = GetScrapFlavorData(specificScrap, kScrapFlavorTypeText, 
+           err = GetScrapFlavorData(specificScrap, kScrapFlavorTypeText,
                                     &byteCount, buffer);
            if (err == noErr) {
              // Actually place in the buffer
@@ -12249,7 +12249,7 @@ mac_handle_service_event (EventHandlerCallRef callRef,
          xfree(buffer);
         }
         */
-      }   
+      }
     }
   return err;
 }
@@ -12271,7 +12271,7 @@ path_from_vol_dir_name (char *, int, short, long, char *);
 /* Called when we receive an AppleEvent with an ID of
    "kAEOpenDocuments".  This routine gets the direct parameter,
    extracts the FSSpecs in it, and puts their names on a list.  */
-static pascal OSErr     
+static pascal OSErr
 do_ae_open_documents(AppleEvent *message, AppleEvent *reply, long refcon)
 {
   OSErr err, err2;
@@ -12287,7 +12287,7 @@ do_ae_open_documents(AppleEvent *message, AppleEvent *reply, long refcon)
   /* Check to see that we got all of the required parameters from the
      event descriptor.  For an 'odoc' event this should just be the
      file list.  */
-  err = AEGetAttributePtr(message, keyMissedKeywordAttr, typeWildCard, 
+  err = AEGetAttributePtr(message, keyMissedKeywordAttr, typeWildCard,
                          &actual_type, (Ptr) &keyword,
                           sizeof (keyword), &actual_size);
   /* No error means that we found some unused parameters.
@@ -12309,7 +12309,7 @@ do_ae_open_documents(AppleEvent *message, AppleEvent *reply, long refcon)
     if (err == noErr)
       {
         int i;
-        
+
         /* AE file list is one based so just use that for indexing here.  */
         for (i = 1; (err == noErr) && (i <= num_files_to_open); i++)
          {
@@ -12366,7 +12366,7 @@ mac_do_receive_drag (WindowPtr window, void *handlerRefCon,
   drag_and_drop_file_list = Qnil;
   GetDragMouse (theDrag, &mouse, 0L);
   CountDragItems (theDrag, &items);
-  for (index = 1; index <= items; index++) 
+  for (index = 1; index <= items; index++)
     {
       /* Only handle file references.  */
       GetDragItemReferenceNumber (theDrag, index, &theItem);
@@ -12398,7 +12398,7 @@ mac_do_receive_drag (WindowPtr window, void *handlerRefCon,
     }
   /* If there are items in the list, construct an event and post it to
      the queue like an interrupt using kbd_buffer_store_event.  */
-  if (!NILP (drag_and_drop_file_list)) 
+  if (!NILP (drag_and_drop_file_list))
     {
       struct input_event event;
       Lisp_Object frame;
@@ -12479,7 +12479,7 @@ profiler_exit_proc ()
 
 #if !TARGET_API_MAC_CARBON
 #undef main
-int 
+int
 main (void)
 {
 #if __profile__  /* is the profiler on? */
@@ -12494,9 +12494,9 @@ main (void)
 #endif
 
   do_init_managers ();
-       
+
   do_get_menus ();
-       
+
   do_check_ram_size ();
 
   init_emacs_passwd_dir ();
@@ -12506,7 +12506,7 @@ main (void)
   initialize_applescript ();
 
   init_required_apple_events ();
-       
+
   {
     char **argv;
     int argc = 0;
@@ -12544,7 +12544,7 @@ static unsigned char keycode_to_xkeysym_table[] = {
   /*0x38*/ 0, 0, 0, 0,
   /*0x3C*/ 0, 0, 0, 0,
 
-  /*0x40*/ 0, 0xae /*kp-.*/, 0, 0xaa /*kp-**/, 
+  /*0x40*/ 0, 0xae /*kp-.*/, 0, 0xaa /*kp-**/,
   /*0x44*/ 0, 0xab /*kp-+*/, 0, 0x7f /*kp-clear*/,
   /*0x48*/ 0, 0, 0, 0xaf /*kp-/*/,
   /*0x4C*/ 0x8d /*kp-enter*/, 0, 0xad /*kp--*/, 0,
@@ -12555,8 +12555,8 @@ static unsigned char keycode_to_xkeysym_table[] = {
   /*0x5C*/ 0xb9 /*kp-9*/, 0, 0, 0,
 
   /*0x60*/ 0xc2 /*f5*/, 0xc3 /*f6*/, 0xc4 /*f7*/, 0xc0 /*f3*/,
-  /*0x64*/ 0xc5 /*f8*/, 0xc6 /*f9*/, 0, 0xc8 /*f11*/, 
-  /*0x68*/ 0, 0xca /*f13*/, 0, 0xcb /*f14*/, 
+  /*0x64*/ 0xc5 /*f8*/, 0xc6 /*f9*/, 0, 0xc8 /*f11*/,
+  /*0x68*/ 0, 0xca /*f13*/, 0, 0xcb /*f14*/,
   /*0x6C*/ 0, 0xc7 /*f10*/, 0, 0xc9 /*f12*/,
 
   /*0x70*/ 0, 0xcc /*f15*/, 0x9e /*insert (or 0x6a==help)*/, 0x95 /*home*/,
@@ -12577,7 +12577,7 @@ keycode_to_xkeysym (int keyCode, int *xKeySym)
 int
 XTread_socket (int sd, struct input_event *bufp, int numchars, int expected)
 {
-  int count = 0; 
+  int count = 0;
 #if USE_CARBON_EVENTS
   OSStatus rneResult;
   EventRef eventRef;
@@ -12629,7 +12629,7 @@ XTread_socket (int sd, struct input_event *bufp, int numchars, int expected)
     event_mask -= highLevelEventMask;
 
 #if USE_CARBON_EVENTS
-  rneResult = ReceiveNextEvent (0, NULL, 
+  rneResult = ReceiveNextEvent (0, NULL,
                                expected
                                ? TicksToEventTime (app_sleep_time)
                                : 0,
@@ -12637,11 +12637,11 @@ XTread_socket (int sd, struct input_event *bufp, int numchars, int expected)
   if (!rneResult)
     {
       /* Handle new events */
-      if (!mac_convert_event_ref (eventRef, &er)) 
-       switch (GetEventClass (eventRef)) 
+      if (!mac_convert_event_ref (eventRef, &er))
+       switch (GetEventClass (eventRef))
          {
          case kEventClassMouse:
-           if (GetEventKind (eventRef) == kEventMouseWheelMoved) 
+           if (GetEventKind (eventRef) == kEventMouseWheelMoved)
              {
                SInt32 delta;
                Point point;
@@ -12671,7 +12671,7 @@ XTread_socket (int sd, struct input_event *bufp, int numchars, int expected)
                bufp->timestamp = EventTimeToTicks (GetEventTime (eventRef))*(1000/60);
                count++;
              }
-           else             
+           else
              SendEventToEventTarget (eventRef, GetEventDispatcherTarget ());
 
            break;
@@ -12707,7 +12707,7 @@ XTread_socket (int sd, struct input_event *bufp, int numchars, int expected)
             {
              struct mac_output *mwp = (mac_output *) GetWRefCon (window_ptr);
              Point mouse_loc = er.where;
-             
+
              /* Convert to local coordinates of new window.  */
 #if TARGET_API_MAC_CARBON
               SetPort (GetWindowPort (window_ptr));
@@ -12716,7 +12716,7 @@ XTread_socket (int sd, struct input_event *bufp, int numchars, int expected)
 #endif
 
              GlobalToLocal (&mouse_loc);
-                 
+
 #if USE_CARBON_EVENTS
              bufp->code = mac_get_mouse_btn (eventRef);
 #else
@@ -12736,7 +12736,7 @@ XTread_socket (int sd, struct input_event *bufp, int numchars, int expected)
 
               XSETINT (bufp->x, tracked_scroll_bar->left + 2);
               XSETINT (bufp->y, mouse_loc.v - 24);
-              tracked_scroll_bar->dragging = Qnil;                   
+              tracked_scroll_bar->dragging = Qnil;
               mouse_tracking_in_progress = mouse_tracking_none;
               tracked_scroll_bar = NULL;
               count++;
@@ -12744,7 +12744,7 @@ XTread_socket (int sd, struct input_event *bufp, int numchars, int expected)
             }
 
          part_code = FindWindow (er.where, &window_ptr);
-                                       
+
          switch (part_code)
            {
            case inMenuBar:
@@ -12768,7 +12768,7 @@ XTread_socket (int sd, struct input_event *bufp, int numchars, int expected)
                  struct mac_output *mwp = (mac_output *)
                    GetWRefCon (window_ptr);
                  Point mouse_loc = er.where;
-                 
+
                  /* convert to local coordinates of new window */
 #if TARGET_API_MAC_CARBON
                   SetPort (GetWindowPort (window_ptr));
@@ -12782,11 +12782,11 @@ XTread_socket (int sd, struct input_event *bufp, int numchars, int expected)
                                              &control_part_code);
 #else
                  control_part_code = FindControl (mouse_loc, window_ptr, &ch);
-#endif           
+#endif
 
 #if USE_CARBON_EVENTS
                  bufp->code = mac_get_mouse_btn (eventRef);
-#else            
+#else
                  bufp->code = 0;  /* only one mouse button */
 #endif
                  XSETINT (bufp->x, mouse_loc.h);
@@ -12794,7 +12794,7 @@ XTread_socket (int sd, struct input_event *bufp, int numchars, int expected)
                  bufp->timestamp = er.when * (1000 / 60);
                    /* ticks to milliseconds */
 
-#if TARGET_API_MAC_CARBON                
+#if TARGET_API_MAC_CARBON
                  if (ch != 0)
 #else
                  if (control_part_code != 0)
@@ -12827,7 +12827,7 @@ XTread_socket (int sd, struct input_event *bufp, int numchars, int expected)
                      else
                        mouse_tracking_in_progress = mouse_tracking_none;
                    }
-                               
+
 #if USE_CARBON_EVENTS
                  bufp->modifiers = mac_event_to_emacs_modifiers (eventRef);
 #else
@@ -12843,7 +12843,7 @@ XTread_socket (int sd, struct input_event *bufp, int numchars, int expected)
                      bufp->modifiers |= up_modifier;
                      break;
                    }
-                                                               
+
                  count++;
                }
              break;
@@ -12852,7 +12852,7 @@ XTread_socket (int sd, struct input_event *bufp, int numchars, int expected)
 #if TARGET_API_MAC_CARBON
              {
                BitMap bm;
-               
+
                GetQDGlobalsScreenBits (&bm);
                DragWindow (window_ptr, er.where, &bm.bounds);
              }
@@ -12875,7 +12875,7 @@ XTread_socket (int sd, struct input_event *bufp, int numchars, int expected)
            case inGrow:
              do_grow_window(window_ptr, &er);
              break;
-           
+
            /* window zoom handling added --ben */
            case inZoomIn:
            case inZoomOut:
@@ -12888,22 +12888,22 @@ XTread_socket (int sd, struct input_event *bufp, int numchars, int expected)
            }
        }
        break;
-       
+
       case updateEvt:
       case osEvt:
       case activateEvt:
 #if USE_CARBON_EVENTS
        if (eventNotHandledErr == SendEventToEventTarget (eventRef, GetEventDispatcherTarget ()))
-#endif 
+#endif
        do_events (&er);
        break;
-       
+
       case keyDown:
       case autoKey:
        {
          int keycode = (er.message & keyCodeMask) >> 8;
          int xkeysym;
-         
+
 #if USE_CARBON_EVENTS
          /* When using Carbon Events, we need to pass raw keyboard events
             to the TSM ourselves.  If TSM handles it, it will pass back
@@ -12921,31 +12921,31 @@ XTread_socket (int sd, struct input_event *bufp, int numchars, int expected)
                break;
            }
 #endif
-         
+
          if (!IsValidWindowPtr (FrontNonFloatingWindow ()))
            {
              SysBeep (1);
              UNBLOCK_INPUT;
              return 0;
            }
-         
+
          ObscureCursor ();
-         
+
          if (keycode_to_xkeysym (keycode, &xkeysym))
            {
              bufp->code = 0xff00 | xkeysym;
              bufp->kind = NON_ASCII_KEYSTROKE_EVENT;
-           }      
+           }
          else
            {
-             if (er.modifiers & (controlKey | 
-                                 (NILP (Vmac_command_key_is_meta) ? optionKey 
+             if (er.modifiers & (controlKey |
+                                 (NILP (Vmac_command_key_is_meta) ? optionKey
                                   : cmdKey)))
                {
                  /* This code comes from Keyboard Resource, Appendix
                     C of IM - Text.  This is necessary since shift is
                     ignored in KCHR table translation when option or
-                    command is pressed.  It also does not translate 
+                    command is pressed.  It also does not translate
                     correctly control-shift chars like C-% so mask off
                     shift here also */
                  int new_modifiers = er.modifiers & 0xe600;
@@ -12961,7 +12961,7 @@ XTread_socket (int sd, struct input_event *bufp, int numchars, int expected)
              bufp->kind = ASCII_KEYSTROKE_EVENT;
            }
        }
-       
+
        /* If variable mac-convert-keyboard-input-to-latin-1 is non-nil,
           convert non-ASCII characters typed at the Mac keyboard
           (presumed to be in the Mac Roman encoding) to iso-latin-1
@@ -12974,7 +12974,7 @@ XTread_socket (int sd, struct input_event *bufp, int numchars, int expected)
            static TECObjectRef converter = NULL;
            OSStatus the_err = noErr;
            OSStatus convert_status = noErr;
-           
+
            if (converter ==  NULL)
              {
                the_err = TECCreateConverter (&converter,
@@ -12994,14 +12994,14 @@ XTread_socket (int sd, struct input_event *bufp, int numchars, int expected)
                                              mac_keyboard_text_encoding);
                current_mac_keyboard_text_encoding
                  = mac_keyboard_text_encoding;
-             } 
-           
+             }
+
            if (the_err == noErr)
              {
                unsigned char ch = bufp->code;
                ByteCount actual_input_length, actual_output_length;
                unsigned char outch;
-               
+
                convert_status = TECConvertText (converter, &ch, 1,
                                                 &actual_input_length,
                                                 &outch, 1,
@@ -13012,19 +13012,19 @@ XTread_socket (int sd, struct input_event *bufp, int numchars, int expected)
                  bufp->code = outch;
              }
          }
-       
+
 #if USE_CARBON_EVENTS
        bufp->modifiers = mac_event_to_emacs_modifiers (eventRef);
 #else
        bufp->modifiers = mac_to_emacs_modifiers (er.modifiers);
 #endif
-       
+
        {
          mac_output *mwp
            = (mac_output *) GetWRefCon (FrontNonFloatingWindow ());
          XSETFRAME (bufp->frame_or_window, mwp->mFP);
        }
-       
+
        bufp->timestamp = er.when * (1000 / 60);  /* ticks to milliseconds */
 
        count++;
@@ -13034,7 +13034,7 @@ XTread_socket (int sd, struct input_event *bufp, int numchars, int expected)
         drag_and_drop_file_list = Qnil;
 
         AEProcessAppleEvent(&er);
-        
+
         /* Build a DRAG_N_DROP_EVENT type event as is done in
            constuct_drag_n_drop in w32term.c.  */
         if (!NILP (drag_and_drop_file_list))
@@ -13044,7 +13044,7 @@ XTread_socket (int sd, struct input_event *bufp, int numchars, int expected)
             Lisp_Object frame;
 
             wp = FrontNonFloatingWindow ();
-           
+
            if (!wp)
              {
                struct frame *f = XFRAME (XCAR (Vframe_list));
@@ -13053,7 +13053,7 @@ XTread_socket (int sd, struct input_event *bufp, int numchars, int expected)
              }
 
             if (wp && is_emacs_window(wp))
-               f = ((mac_output *) GetWRefCon (wp))->mFP;            
+               f = ((mac_output *) GetWRefCon (wp))->mFP;
 
             bufp->kind = DRAG_N_DROP_EVENT;
             bufp->code = 0;
@@ -13079,14 +13079,14 @@ XTread_socket (int sd, struct input_event *bufp, int numchars, int expected)
 #if TARGET_API_MAC_CARBON
              {
                Rect r;
-               
+
                GetWindowPortBounds (wp, &r);
                InvalWindowRect (wp, &r);
              }
 #else /* not TARGET_API_MAC_CARBON */
               InvalRect (&(wp->portRect));
 #endif /* not TARGET_API_MAC_CARBON */
-            
+
             count++;
           }
       default:
@@ -13112,7 +13112,7 @@ XTread_socket (int sd, struct input_event *bufp, int numchars, int expected)
 
   {
     static Point old_mouse_pos = { -1, -1 };
-    
+
     if (app_is_suspended)
       {
         old_mouse_pos.h = -1;
@@ -13124,7 +13124,7 @@ XTread_socket (int sd, struct input_event *bufp, int numchars, int expected)
         WindowPtr wp;
         struct frame *f;
         Lisp_Object bar;
-        struct scroll_bar *sb;         
+        struct scroll_bar *sb;
 
         wp = FrontWindow ();
        if (is_emacs_window (wp))
@@ -13149,15 +13149,15 @@ XTread_socket (int sd, struct input_event *bufp, int numchars, int expected)
                                              TickCount() * (1000 / 60));
                else
                  note_mouse_movement (f, &mouse_pos);
-               
-               old_mouse_pos = mouse_pos;            
+
+               old_mouse_pos = mouse_pos;
              }
          }
       }
   }
-  
+
   UNBLOCK_INPUT;
-  
+
   return count;
 }
 
@@ -13206,7 +13206,7 @@ NewMacWindow (FRAME_PTR fp)
   else
     if (!(mwp->mWP = GetNewCWindow (WINDOW_RESOURCE, NULL, (WindowPtr) -1)))
       abort ();
-  
+
   SetWRefCon (mwp->mWP, (long) mwp);
     /* so that update events can find this mac_output struct */
   mwp->mFP = fp;  /* point back to emacs frame */
@@ -13218,10 +13218,10 @@ NewMacWindow (FRAME_PTR fp)
 #endif
 
   mwp->fontset = -1;
-       
+
   SizeWindow (mwp->mWP, mwp->pixel_width, mwp->pixel_height, false);
   ShowWindow (mwp->mWP);
-       
+
 }
 
 
@@ -13232,7 +13232,7 @@ make_mac_frame (struct frame *f)
   FRAME_VERTICAL_SCROLL_BAR_TYPE (f) = vertical_scroll_bar_right;
 
   FRAME_DESIRED_CURSOR (f) = FILLED_BOX_CURSOR;
+
   NewMacWindow(f);
 
   f->output_data.mac->cursor_pixel = 0;
@@ -13247,14 +13247,14 @@ make_mac_frame (struct frame *f)
   f->output_data.mac->top_pos = 4;
   f->output_data.mac->border_width = 0;
   f->output_data.mac->explicit_parent = 0;
-  
+
   f->output_data.mac->internal_border_width = 0;
 
   f->output_method = output_mac;
 
   f->auto_raise = 1;
   f->auto_lower = 1;
-  
+
   f->new_width = 0;
   f->new_height = 0;
 }
@@ -13273,7 +13273,7 @@ make_mac_terminal_frame (struct frame *f)
   f->output_data.mac->fontset = -1;
   f->output_data.mac->scroll_bar_foreground_pixel = -1;
   f->output_data.mac->scroll_bar_background_pixel = -1;
-  
+
   XSETFRAME (FRAME_KBOARD (f)->Vdefault_minibuffer_frame, f);
 
   f->width = 96;
@@ -13282,7 +13282,7 @@ make_mac_terminal_frame (struct frame *f)
   make_mac_frame (f);
 
   x_make_gc (f);
-  
+
   /* Need to be initialized for unshow_buffer in window.c.  */
   selected_window = f->selected_window;
 
@@ -13384,7 +13384,7 @@ mac_initialize_display_info ()
   x_display_name_list = Fcons (Fcons (build_string ("Mac"), Qnil),
                                x_display_name_list);
   dpyinfo->name_list_element = XCAR (x_display_name_list);
-  
+
 #if 0
   dpyinfo->mac_id_name
     = (char *) xmalloc (SCHARS (Vinvocation_name)
@@ -13478,7 +13478,7 @@ MakeMeTheFrontProcess ()
 {
   ProcessSerialNumber psn;
   OSErr err;
-  
+
   err = GetCurrentProcess (&psn);
   if (err == noErr)
     (void) SetFrontProcess (&psn);
@@ -13512,7 +13512,7 @@ init_quit_char_handler ()
   mac_quit_char_keycode = 5;
   /* Look at <architecture/adb_kb_map.h> for details */
   /* http://gemma.apple.com/techpubs/mac/Toolbox/Toolbox-40.html#MARKER-9-184*/
-  
+
   mac_determine_quit_char_modifiers();
 }
 
@@ -13526,11 +13526,11 @@ quit_char_comp (EventRef inEvent, void *inCompData)
   {
     UInt32 keyCode;
     UInt32 keyModifiers;
-    GetEventParameter(inEvent, kEventParamKeyCode, 
+    GetEventParameter(inEvent, kEventParamKeyCode,
                      typeUInt32, NULL, sizeof(UInt32), NULL, &keyCode);
     if (keyCode != mac_quit_char_keycode)
       return false;
-    GetEventParameter(inEvent, kEventParamKeyModifiers, 
+    GetEventParameter(inEvent, kEventParamKeyModifiers,
                      typeUInt32, NULL, sizeof(UInt32), NULL, &keyModifiers);
     if (keyModifiers != mac_quit_char_modifiers)
       return false;
@@ -13552,7 +13552,7 @@ mac_check_for_quit_char()
   /* Fill the queue with events */
   ReceiveNextEvent (0, NULL, kEventDurationNoWait, false, &event);
   event = FindSpecificEventInQueue (GetMainEventQueue(), quit_char_comp, NULL);
-  if (event) 
+  if (event)
     {
       struct input_event e;
       struct mac_output *mwp = (mac_output*) GetWRefCon (FrontNonFloatingWindow ());
@@ -13629,7 +13629,7 @@ mac_initialize ()
   x_noop_count = 0;
   last_tool_bar_item = -1;
   any_help_event_p = 0;
-  
+
   /* Try to use interrupt input; if we can't, then start polling.  */
   Fset_input_mode (Qt, Qnil, Qt, Qnil);
 
@@ -13649,7 +13649,7 @@ mac_initialize ()
     start_atimer (ATIMER_CONTINUOUS, interval, x_process_timeouts, 0);
   }
 #endif
-  
+
 #if USE_TOOLKIT_SCROLL_BARS
   xaw3d_arrow_scroll = False;
   xaw3d_pick_top = True;
@@ -13751,7 +13751,7 @@ to 4.1, set this to nil.  */);
 
   staticpro (&last_mouse_motion_frame);
   last_mouse_motion_frame = Qnil;
-  
+
   DEFVAR_LISP ("mac-command-key-is-meta", &Vmac_command_key_is_meta,
     doc: /* Non-nil means that the command key is used as the Emacs meta key.
 Otherwise the option key is used.  */);
index c5d3e17412022a22c802ed8e2ff6da61da209ed9..615666e0483db347ed717e95b0318a8d35c20b10 100644 (file)
@@ -45,7 +45,7 @@ Boston, MA 02111-1307, USA.  */
 /* Structure recording bitmaps and reference count.
    If REFCOUNT is 0 then this record is free to be reused.  */
 
-struct mac_bitmap_record 
+struct mac_bitmap_record
 {
   char *bitmap_data;
   int refcount;
@@ -321,7 +321,7 @@ struct mac_output {
   /* Foreground color for scroll bars.  A value of -1 means use the
      default (black for non-toolkit scroll bars).  */
   unsigned long scroll_bar_foreground_pixel;
-  
+
   /* Background color for scroll bars.  A value of -1 means use the
      default (background color of the frame for non-toolkit scroll
      bars).  */
@@ -337,7 +337,7 @@ struct mac_output {
   /* Window whose cursor is hourglass_cursor.  This window is temporarily
      mapped to display a hourglass-cursor.  */
   Window hourglass_window;
-  
+
   /* Non-zero means hourglass cursor is currently displayed.  */
   unsigned hourglass_p : 1;
 
@@ -558,7 +558,7 @@ struct scroll_bar {
 
 /* Return the length of the rectangle within which the top of the
    handle must stay.  This isn't equivalent to the inside height,
-   because the scroll bar handle has a minimum height.  
+   because the scroll bar handle has a minimum height.
 
    This is the real range of motion for the scroll bar, so when we're
    scaling buffer positions to scroll bar positions, we use this, not
@@ -626,7 +626,7 @@ struct scroll_bar {
    + (f)->output_data.mac->internal_border_width)
 
 
-/* Return the row/column (zero-based) of the character cell containing 
+/* Return the row/column (zero-based) of the character cell containing
    the pixel on FRAME at ROW/COL.  */
 #define PIXEL_TO_CHAR_ROW(f, row) \
   (((row) - (f)->output_data.mac->internal_border_width) \
index c59f9a9ccb0ddbe23782d4745f10ec3165db6a3a..0c1635fd2cb64c9ecd2cb1f4f1c08a6bcc6ab4e8 100644 (file)
@@ -531,14 +531,14 @@ Returns MARKER.  */)
       m->chain = BUF_MARKERS (b);
       BUF_MARKERS (b) = marker;
     }
-  
+
   return marker;
 }
 
 /* This version of Fset_marker won't let the position
    be outside the visible part.  */
 
-Lisp_Object 
+Lisp_Object
 set_marker_restricted (marker, pos, buffer)
      Lisp_Object marker, pos, buffer;
 {
@@ -607,14 +607,14 @@ set_marker_restricted (marker, pos, buffer)
       m->chain = BUF_MARKERS (b);
       BUF_MARKERS (b) = marker;
     }
-  
+
   return marker;
 }
 \f
 /* Set the position of MARKER, specifying both the
    character position and the corresponding byte position.  */
 
-Lisp_Object 
+Lisp_Object
 set_marker_both (marker, buffer, charpos, bytepos)
      Lisp_Object marker, buffer;
      int charpos, bytepos;
@@ -658,14 +658,14 @@ set_marker_both (marker, buffer, charpos, bytepos)
       m->chain = BUF_MARKERS (b);
       BUF_MARKERS (b) = marker;
     }
-  
+
   return marker;
 }
 
 /* This version of set_marker_both won't let the position
    be outside the visible part.  */
 
-Lisp_Object 
+Lisp_Object
 set_marker_restricted_both (marker, buffer, charpos, bytepos)
      Lisp_Object marker, buffer;
      int charpos, bytepos;
@@ -718,7 +718,7 @@ set_marker_restricted_both (marker, buffer, charpos, bytepos)
       m->chain = BUF_MARKERS (b);
       BUF_MARKERS (b) = marker;
     }
-  
+
   return marker;
 }
 \f
index 6dc235e67baa6ab068c88722275144539944b0a1..6b56cf72deb20b49f3a56767f3e74ddb6096b032 100644 (file)
@@ -4929,7 +4929,7 @@ gethostname (p, size)
 /* When time zones are set from Ms-Dos too many C-libraries are playing
    tricks with time values.  We solve this by defining our own version
    of `gettimeofday' bypassing GO32.  Our version needs to be initialized
-   once and after each call to `tzset' with TZ changed.  That is 
+   once and after each call to `tzset' with TZ changed.  That is
    accomplished by aliasing tzset to init_gettimeofday. */
 
 static struct tm time_rec;
@@ -5092,7 +5092,7 @@ sigprocmask (how, new_set, old_set)
 #else /* not POSIX_SIGNALS */
 
 sigsetmask (x) int x; { return 0; }
-sigblock (mask) int mask; { return 0; } 
+sigblock (mask) int mask; { return 0; }
 
 #endif /* not POSIX_SIGNALS */
 #endif /* not __DJGPP_MINOR__ < 2 */
index 6c85c24cbe538d21768dd656af071ad44046d9b8..151a193076d62d945ab52b8b5de7edbf475dc57e 100644 (file)
@@ -189,7 +189,7 @@ void print_interval ();
    and must start with PRINTPREPARE, end with PRINTFINISH,
    and use PRINTDECLARE to declare common variables.
    Use PRINTCHAR to output one character,
-   or call strout to output a block of characters. */ 
+   or call strout to output a block of characters. */
 
 #define PRINTDECLARE                                                   \
    struct buffer *old = current_buffer;                                        \
@@ -321,7 +321,7 @@ printchar (ch, fun)
       int len = CHAR_STRING (ch, str);
 
       QUIT;
-      
+
       if (NILP (fun))
        {
          if (print_buffer_pos_byte + len >= print_buffer_size)
@@ -340,7 +340,7 @@ printchar (ch, fun)
        {
          int multibyte_p
            = !NILP (current_buffer->enable_multibyte_characters);
-         
+
          setup_echo_area_for_printing (multibyte_p);
          insert_char (ch);
          message_dolog (str, len, 0, multibyte_p);
@@ -397,10 +397,10 @@ strout (ptr, size, size_byte, printcharfun, multibyte)
       int i;
       int multibyte_p
        = !NILP (current_buffer->enable_multibyte_characters);
-      
+
       setup_echo_area_for_printing (multibyte_p);
       message_dolog (ptr, size_byte, 0, multibyte_p);
-      
+
       if (size == size_byte)
        {
          for (i = 0; i < size; ++i)
@@ -415,7 +415,7 @@ strout (ptr, size, size_byte, printcharfun, multibyte)
              insert_char (ch);
            }
        }
-      
+
 #ifdef MAX_PRINT_CHARS
       if (max_print)
         print_chars += size;
@@ -653,7 +653,7 @@ to display it temporarily selected.
 
 If variable `temp-buffer-show-function' is non-nil, call it at the end
 to get the buffer displayed instead of just displaying the non-selected
-buffer and calling the hook.  It gets one argument, the buffer to display.  
+buffer and calling the hook.  It gets one argument, the buffer to display.
 
 usage: (with-output-to-temp-buffer BUFFNAME BODY ...)  */)
      (args)
@@ -1005,7 +1005,7 @@ print_error_message (data, stream, context, caller)
       else
        Fprin1 (obj, stream);
     }
-  
+
   UNGCPRO;
 }
 
@@ -1016,9 +1016,9 @@ print_error_message (data, stream, context, caller)
  * largest float, printed in the biggest notation.  This is undoubtedly
  * 20d float_output_format, with the negative of the C-constant "HUGE"
  * from <math.h>.
- * 
+ *
  * On the vax the worst case is -1e38 in 20d format which takes 61 bytes.
- * 
+ *
  * I assume that IEEE-754 format numbers can take 329 bytes for the worst
  * case of -1e307 in 20d float_output_format. What is one to do (short of
  * re-writing _doprnt to be more sane)?
@@ -1032,7 +1032,7 @@ float_to_string (buf, data)
 {
   unsigned char *cp;
   int width;
-      
+
   /* Check for plus infinity in a way that won't lose
      if there is no plus infinity.  */
   if (data == data / 2 && data > 1.0)
@@ -1061,7 +1061,7 @@ float_to_string (buf, data)
            *buf++ = '-';
            break;
          }
-      
+
       strcpy (buf, "0.0e+NaN");
       return;
     }
@@ -1598,7 +1598,7 @@ print_object (obj, printcharfun, escapeflag)
       else
        {
          PRINTCHAR ('(');
-         
+
          /* If the first element is a backquote form,
             print it old-style so it won't be misunderstood.  */
          if (print_quoted && CONSP (XCAR (obj))
@@ -1670,18 +1670,18 @@ print_object (obj, printcharfun, escapeflag)
                            }
                      }
                  }
-               
+
                if (i++)
                  PRINTCHAR (' ');
-               
+
                if (print_length && i > print_length)
                  {
                    strout ("...", 3, 3, printcharfun, 0);
                    goto end_of_list;
                  }
-               
+
                print_object (XCAR (obj), printcharfun, escapeflag);
-               
+
                obj = XCDR (obj);
                if (!(i & 1))
                  halftail = XCDR (halftail);
@@ -1694,7 +1694,7 @@ print_object (obj, printcharfun, escapeflag)
              strout (" . ", 3, 3, printcharfun, 0);
              print_object (obj, printcharfun, escapeflag);
            }
-         
+
        end_of_list:
          PRINTCHAR (')');
        }
index 1998e845421c28be3bf1bde02ee346f345e4d58a..775415ac1a6921820b8821554527f6431f498707 100644 (file)
@@ -101,7 +101,7 @@ Boston, MA 02111-1307, USA.  */
 #ifdef IRIS
 #include <sys/sysmacros.h>     /* for "minor" */
 #endif /* not IRIS */
-  
+
 #ifdef HAVE_SYS_WAIT
 #include <sys/wait.h>
 #endif
@@ -357,7 +357,7 @@ update_status (p)
   p->raw_status_high = Qnil;
 }
 
-/*  Convert a process status word in Unix format to 
+/*  Convert a process status word in Unix format to
     the list that we use internally.  */
 
 Lisp_Object
@@ -406,7 +406,7 @@ decode_status (l, symbol, code, coredump)
 
 /* Return a string describing a process status list.  */
 
-Lisp_Object 
+Lisp_Object
 status_message (status)
      Lisp_Object status;
 {
@@ -685,7 +685,7 @@ nil, indicating the current buffer's process.  */)
     {
       Fkill_process (process, Qnil);
       /* Do this now, since remove_process will make sigchld_handler do nothing.  */
-      XPROCESS (process)->status 
+      XPROCESS (process)->status
        = Fcons (Qsignal, Fcons (make_number (SIGKILL), Qnil));
       XSETINT (XPROCESS (process)->tick, ++process_tick);
       status_notify ();
@@ -847,7 +847,7 @@ t means stop accepting output from the process.
 
 When a process has a filter, its buffer is not used for output.
 Instead, each time it does output, the entire string of output is
-passed to the filter.  
+passed to the filter.
 
 The filter gets two arguments: the process and the string of output.
 The string argument is normally a multibyte string, except:
@@ -860,7 +860,7 @@ The string argument is normally a multibyte string, except:
      register Lisp_Object process, filter;
 {
   struct Lisp_Process *p;
-  
+
   CHECK_PROCESS (process);
   p = XPROCESS (process);
 
@@ -871,7 +871,7 @@ The string argument is normally a multibyte string, except:
      (setq process (start-process ...))
      (debug)
      (set-process-filter process ...)  */
-  
+
   if (XINT (p->infd) >= 0)
     {
       if (EQ (filter, Qt) && !EQ (p->status, Qlisten))
@@ -886,7 +886,7 @@ The string argument is normally a multibyte string, except:
          FD_SET (XINT (p->infd), &non_keyboard_wait_mask);
        }
     }
-  
+
   p->filter = filter;
   if (NETCONN1_P (p))
     p->childp = Fplist_put (p->childp, QCfilter, filter);
@@ -937,7 +937,7 @@ DEFUN ("set-process-window-size", Fset_process_window_size,
   CHECK_PROCESS (process);
   CHECK_NATNUM (height);
   CHECK_NATNUM (width);
-  
+
   if (XINT (XPROCESS (process)->infd) < 0
       || set_window_size (XINT (XPROCESS (process)->infd),
                          XINT (height), XINT (width)) <= 0)
@@ -1033,7 +1033,7 @@ See `make-network-process' for a list of keywords.  */)
 #ifdef DATAGRAM_SOCKETS
   if (DATAGRAM_CONN_P (process)
       && (EQ (key, Qt) || EQ (key, QCremote)))
-    contact = Fplist_put (contact, QCremote, 
+    contact = Fplist_put (contact, QCremote,
                          Fprocess_datagram_address (process));
 #endif
 
@@ -1127,7 +1127,7 @@ IP address.  Returns nil if format of ADDRESS is invalid.  */)
       args[0] = build_string ("<Family %d>");
       args[1] = Fcar (address);
       return Fformat (2, args);
-      
+
     }
 
   return Qnil;
@@ -1232,7 +1232,7 @@ list_processes_1 (query_only)
       if (CONSP (p->status))
        symbol = XCAR (p->status);
 
-      
+
       if (EQ (symbol, Qsignal))
        {
          Lisp_Object tem;
@@ -1319,7 +1319,7 @@ list_processes_1 (query_only)
                   (STRINGP (host) ? (char *)SDATA (host) : "?"));
          insert_string (tembuf);
         }
-      else 
+      else
        {
          tem = p->command;
          while (1)
@@ -1408,7 +1408,7 @@ usage: (start-process NAME BUFFER PROGRAM &rest PROGRAM-ARGS)  */)
 
     GCPRO2 (buffer, current_dir);
 
-    current_dir 
+    current_dir
       = expand_and_dir_to_file (Funhandled_file_name_directory (current_dir),
                                Qnil);
     if (NILP (Ffile_accessible_directory_p (current_dir)))
@@ -1512,7 +1512,7 @@ usage: (start-process NAME BUFFER PROGRAM &rest PROGRAM-ARGS)  */)
       strcat (new_argv, SDATA (tem));
     }
   /* Need to add code here to check for program existence on VMS */
-  
+
 #else /* not VMS */
   new_argv = (unsigned char **) alloca ((nargs - 1) * sizeof (char *));
 
@@ -1809,7 +1809,7 @@ create_process (process, new_argv, current_dir)
   XSETINT (XPROCESS (process)->pid, -1);
 
   BLOCK_INPUT;
-  
+
   {
     /* child_setup must clobber environ on systems with true vfork.
        Protect it from permanent change.  */
@@ -1874,12 +1874,12 @@ create_process (process, new_argv, current_dir)
          }
 #endif
 #endif
-#ifdef TIOCNOTTY 
+#ifdef TIOCNOTTY
        /* In 4.3BSD, the TIOCSPGRP bug has been fixed, and now you
           can do TIOCSPGRP only to the process's controlling tty.  */
        if (pty_flag)
          {
-           /* I wonder: would just ioctl (0, TIOCNOTTY, 0) work here? 
+           /* I wonder: would just ioctl (0, TIOCNOTTY, 0) work here?
               I can't test it since I don't have 4.3.  */
            int j = emacs_open ("/dev/tty", O_RDWR, 0);
            ioctl (j, TIOCNOTTY, 0);
@@ -1974,7 +1974,7 @@ create_process (process, new_argv, current_dir)
 #ifdef WINDOWSNT
        pid = child_setup (xforkin, xforkout, xforkout,
                           new_argv, 1, current_dir);
-#else  /* not WINDOWSNT */     
+#else  /* not WINDOWSNT */
        child_setup (xforkin, xforkout, xforkout,
                     new_argv, 1, current_dir);
 #endif /* not WINDOWSNT */
@@ -2007,11 +2007,11 @@ create_process (process, new_argv, current_dir)
       {
        struct atimer *timer;
        EMACS_TIME offset;
-       
+
        stop_polling ();
        EMACS_SET_SECS_USECS (offset, 1, 0);
        timer = start_atimer (ATIMER_RELATIVE, offset, create_process_1, 0);
-       
+
        XPROCESS (process)->subtty = Qnil;
        if (forkin >= 0)
          emacs_close (forkin);
@@ -2019,7 +2019,7 @@ create_process (process, new_argv, current_dir)
        cancel_atimer (timer);
        start_polling ();
       }
-      
+
       if (forkin != forkout && forkout >= 0)
        emacs_close (forkout);
 
@@ -2260,7 +2260,7 @@ Returns nil upon error setting address, ADDRESS otherwise.  */)
 
 static struct socket_options {
   /* The name of this option.  Should be lowercase version of option
-     name without SO_ prefix. */ 
+     name without SO_ prefix. */
   char *name;
   /* Length of name.  */
   int nlen;
@@ -2406,14 +2406,14 @@ set_socket_options (s, opts, no_error)
                  arg = (char *) SDATA (val);
                else if (XSYMBOL (val))
                  arg = (char *) SDATA (SYMBOL_NAME (val));
-               else 
+               else
                  error ("Invalid argument to %s option", name);
              }
            ret = setsockopt (s, sopt->optlevel, sopt->optnum,
                              arg, strlen (arg));
          }
 
-#ifdef SO_LINGER           
+#ifdef SO_LINGER
        case SOPT_LINGER:
          {
            struct linger linger;
@@ -2455,7 +2455,7 @@ set_socket_options (s, opts, no_error)
 
 DEFUN ("set-network-process-options",
        Fset_network_process_options, Sset_network_process_options,
-       1, MANY, 0, 
+       1, MANY, 0,
        doc: /* Set one or more options for network process PROCESS.
 Each option is either a string "OPT=VALUE" or a cons (OPT . VALUE).
 A boolean value is false if it either zero or nil, true otherwise.
@@ -2466,9 +2466,9 @@ pages for more information.
 bindtodevice=NAME -- bind to interface NAME, or remove binding if nil.
 broadcast=BOOL -- Allow send and receive of datagram broadcasts.
 dontroute=BOOL -- Only send to directly connected hosts.
-keepalive=BOOL -- Send keep-alive messages on network stream. 
+keepalive=BOOL -- Send keep-alive messages on network stream.
 linger=BOOL or TIMEOUT -- Send queued messages before closing.
-oobinline=BOOL -- Place out-of-band data in receive data stream. 
+oobinline=BOOL -- Place out-of-band data in receive data stream.
 priority=INT -- Set protocol defined priority for sent packets.
 reuseaddr=BOOL -- Allow reusing a recently used address.
 
@@ -2507,8 +2507,8 @@ unwind_request_sigio (dummy)
    connection has no PID; you cannot signal it.  All you can do is
    stop/continue it and deactivate/close it via delete-process */
 
-DEFUN ("make-network-process", Fmake_network_process, Smake_network_process, 
-       0, MANY, 0, 
+DEFUN ("make-network-process", Fmake_network_process, Smake_network_process,
+       0, MANY, 0,
        doc: /* Create and return a network server or client process.
 
 In Emacs, network connections are represented by process objects, so
@@ -2599,20 +2599,20 @@ is the server process, CLIENT is the new process for the connection,
 and MESSAGE is a string.
 
 :plist PLIST -- Install PLIST as the new process' initial plist.
+
 :server BOOL -- if BOOL is non-nil, create a server process for the
 specified FAMILY, SERVICE, and connection type (stream or datagram).
 Default is a client process.
 
 A server process will listen for and accept connections from
 clients.  When a client connection is accepted, a new network process
-is created for the connection with the following parameters: 
+is created for the connection with the following parameters:
 - The client's process name is constructed by concatenating the server
 process' NAME and a client identification string.
 - If the FILTER argument is non-nil, the client process will not get a
 separate process buffer; otherwise, the client's process buffer is a newly
 created buffer named after the server process' BUFFER name or process
-NAME concatenated with the client identification string.  
+NAME concatenated with the client identification string.
 - The connection type and the process filter and sentinel parameters are
 inherited from the server process' TYPE, FILTER and SENTINEL.
 - The client process' contact info is set according to the client's
@@ -2732,7 +2732,7 @@ usage: (make-network-process &rest ARGS)  */)
   /* Let's handle TERM before things get complicated ...   */
   host = Fplist_get (contact, QChost);
   CHECK_STRING (host);
-  
+
   service = Fplist_get (contact, QCservice);
   if (INTEGERP (service))
     port = htons ((unsigned short) XINT (service));
@@ -2881,7 +2881,7 @@ usage: (make-network-process &rest ARGS)  */)
     {
       struct servent *svc_info;
       CHECK_STRING (service);
-      svc_info = getservbyname (SDATA (service), 
+      svc_info = getservbyname (SDATA (service),
                                (socktype == SOCK_DGRAM ? "udp" : "tcp"));
       if (svc_info == 0)
        error ("Unknown service: %s", SDATA (service));
@@ -2904,7 +2904,7 @@ usage: (make-network-process &rest ARGS)  */)
       QUIT;
       host_info_ptr = gethostbyname (SDATA (host));
       immediate_quit = 0;
-  
+
       if (host_info_ptr)
        {
          bcopy (host_info_ptr->h_addr, (char *) &address_in.sin_addr,
@@ -2985,7 +2985,7 @@ usage: (make-network-process &rest ARGS)  */)
            }
        }
 #endif
-      
+
       /* Make us close S if quit.  */
       record_unwind_protect (close_file_unwind, make_number (s));
 
@@ -3000,7 +3000,7 @@ usage: (make-network-process &rest ARGS)  */)
              if (setsockopt (s, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof optval))
                report_file_error ("Cannot set reuse option on server socket.", Qnil);
            }
-      
+
          if (bind (s, lres->ai_addr, lres->ai_addrlen))
            report_file_error ("Cannot bind server socket", Qnil);
 
@@ -3035,7 +3035,7 @@ usage: (make-network-process &rest ARGS)  */)
         set.
 
         It'd be nice to be able to control the connect timeout
-        though.  Would non-blocking connect calls be portable? 
+        though.  Would non-blocking connect calls be portable?
 
         This used to be conditioned by HAVE_GETADDRINFO.  Why?  */
 
@@ -3111,7 +3111,7 @@ usage: (make-network-process &rest ARGS)  */)
            bcopy (lres->ai_addr, datagram_address[s].sa, lres->ai_addrlen);
        }
 #endif
-      contact = Fplist_put (contact, QCaddress, 
+      contact = Fplist_put (contact, QCaddress,
                            conv_sockaddr_to_lisp (lres->ai_addr, lres->ai_addrlen));
 #ifdef HAVE_GETSOCKNAME
       if (!is_server)
@@ -3181,7 +3181,7 @@ usage: (make-network-process &rest ARGS)  */)
 
   p->childp = contact;
   p->plist = Fcopy_sequence (Fplist_get (contact, QCplist));
-  
+
   p->buffer = buffer;
   p->sentinel = sentinel;
   p->filter = filter;
@@ -3603,12 +3603,12 @@ server_accept_connection (server, channel)
   contact = Fplist_put (contact, QChost, host);
   if (!NILP (service))
     contact = Fplist_put (contact, QCservice, service);
-  contact = Fplist_put (contact, QCremote, 
+  contact = Fplist_put (contact, QCremote,
                        conv_sockaddr_to_lisp (&saddr.sa, len));
 #ifdef HAVE_GETSOCKNAME
   len = sizeof saddr;
   if (getsockname (s, &saddr.sa, &len) == 0)
-    contact = Fplist_put (contact, QClocal, 
+    contact = Fplist_put (contact, QClocal,
                          conv_sockaddr_to_lisp (&saddr.sa, len));
 #endif
 
@@ -3634,7 +3634,7 @@ server_accept_connection (server, channel)
   if (s > max_process_desc)
     max_process_desc = s;
 
-  /* Setup coding system for new process based on server process.  
+  /* Setup coding system for new process based on server process.
      This seems to be the proper thing to do, as the coding system
      of the new process should reflect the settings at the time the
      server socket was opened; not the current settings. */
@@ -3668,7 +3668,7 @@ server_accept_connection (server, channel)
                      build_string ("\n")));
 
   if (!NILP (p->sentinel))
-    exec_sentinel (proc, 
+    exec_sentinel (proc,
                   concat3 (build_string ("open from "),
                            (STRINGP (host) ? host : build_string ("-")),
                            build_string ("\n")));
@@ -3831,7 +3831,7 @@ wait_reading_process_input (time_limit, microsecs, read_kbd, do_display)
            {
              int old_timers_run = timers_run;
              struct buffer *old_buffer = current_buffer;
-             
+
              timer_delay = timer_check (1);
 
              /* If a timer has run, this might have changed buffers
@@ -3840,7 +3840,7 @@ wait_reading_process_input (time_limit, microsecs, read_kbd, do_display)
                  && old_buffer != current_buffer
                  && waiting_for_user_input_p == -1)
                record_asynch_buffer_change ();
-             
+
              if (timers_run != old_timers_run && do_display)
                /* We must retry, since a timer may have requeued itself
                   and that could alter the time_delay.  */
@@ -3902,7 +3902,7 @@ wait_reading_process_input (time_limit, microsecs, read_kbd, do_display)
          Ctemp = connect_wait_mask;
          EMACS_SET_SECS_USECS (timeout, 0, 0);
          if ((select (max (max_process_desc, max_keyboard_desc) + 1,
-                      &Atemp, 
+                      &Atemp,
                       (num_pending_connects > 0 ? &Ctemp : (SELECT_TYPE *)0),
                       (SELECT_TYPE *)0, &timeout)
               <= 0))
@@ -3935,7 +3935,7 @@ wait_reading_process_input (time_limit, microsecs, read_kbd, do_display)
              if (nread == 0)
                break;
 
-              if (0 < nread) 
+              if (0 < nread)
                 total_nread += nread;
 #ifdef EIO
              else if (nread == -1 && EIO == errno)
@@ -3996,7 +3996,7 @@ wait_reading_process_input (time_limit, microsecs, read_kbd, do_display)
          if (check_connect)
            Connecting = connect_wait_mask;
          nfds = select (max (max_process_desc, max_keyboard_desc) + 1,
-                        &Available, 
+                        &Available,
                         (check_connect ? &Connecting : (SELECT_TYPE *)0),
                         (SELECT_TYPE *)0, &timeout);
        }
@@ -4093,7 +4093,7 @@ wait_reading_process_input (time_limit, microsecs, read_kbd, do_display)
          int old_timers_run = timers_run;
          struct buffer *old_buffer = current_buffer;
          int leave = 0;
-       
+
          if (detect_input_pending_run_timers (do_display))
            {
              swallow_events (do_display);
@@ -4110,8 +4110,8 @@ wait_reading_process_input (time_limit, microsecs, read_kbd, do_display)
 
          if (leave)
            break;
-       }    
-      
+       }
+
       /* If there is unread keyboard input, also return.  */
       if (XINT (read_kbd) != 0
          && requeued_events_pending_p ())
@@ -4258,7 +4258,7 @@ wait_reading_process_input (time_limit, microsecs, read_kbd, do_display)
                      = Fcons (Qexit, Fcons (make_number (256), Qnil));
                }
            }
-#ifdef NON_BLOCKING_CONNECT      
+#ifdef NON_BLOCKING_CONNECT
          if (check_connect && FD_ISSET (channel, &Connecting))
            {
              struct Lisp_Process *p;
@@ -4479,7 +4479,7 @@ read_process_output (proc, channel)
   outstream = p->filter;
   if (!NILP (outstream))
     {
-      /* We inhibit quit here instead of just catching it so that 
+      /* We inhibit quit here instead of just catching it so that
         hitting ^G when a filter happens to be running won't screw
         it up.  */
       int count = SPECPDL_INDEX ();
@@ -4945,7 +4945,7 @@ send_process (proc, buf, len, object)
                      || errno == EAGAIN
 #endif
                      )
-                   /* Buffer is full.  Wait, accepting input; 
+                   /* Buffer is full.  Wait, accepting input;
                       that may allow the program
                       to finish doing output and read more.  */
                    {
@@ -4969,7 +4969,7 @@ send_process (proc, buf, len, object)
                         the terminal is set up that way which it is
                         here).  The same bytes will be seen again in a
                         later read(2), without the CRs.  */
-                   
+
                      if (errno == EAGAIN)
                        {
                          int flags = FWRITE;
@@ -4977,7 +4977,7 @@ send_process (proc, buf, len, object)
                                 &flags);
                        }
 #endif /* BROKEN_PTY_READ_AFTER_EAGAIN */
-                   
+
                      /* Running filters might relocate buffers or strings.
                         Arrange to relocate BUF.  */
                      if (BUFFERP (object))
@@ -5026,7 +5026,7 @@ send_process (proc, buf, len, object)
       XSETINT (XPROCESS (proc)->tick, ++process_tick);
       deactivate_process (proc);
 #ifdef VMS
-      error ("Error writing to process %s; closed it", 
+      error ("Error writing to process %s; closed it",
             SDATA (XPROCESS (proc)->name));
 #else
       error ("SIGPIPE raised on process %s; closed it",
@@ -5109,7 +5109,7 @@ return t unconditionally.  */)
     error ("Process %s is not active",
           SDATA (p->name));
 
-#ifdef TIOCGPGRP 
+#ifdef TIOCGPGRP
   if (!NILP (p->subtty))
     ioctl (XFASTINT (p->subtty), TIOCGPGRP, &gid);
   else
@@ -5258,7 +5258,7 @@ process_send_signal (process, signo, current_group, nomsg)
       /* The code above always returns from the function.  */
 #endif /* defined (SIGNALS_VIA_CHARACTERS) */
 
-#ifdef TIOCGPGRP 
+#ifdef TIOCGPGRP
       /* Get the current pgrp using the tty itself, if we have that.
         Otherwise, use the pty to get the pgrp.
         On pfa systems, saka@pfu.fujitsu.co.JP writes:
@@ -5392,7 +5392,7 @@ See function `interrupt-process' for more details on usage.  */)
 
 DEFUN ("stop-process", Fstop_process, Sstop_process, 0, 2, 0,
        doc: /* Stop process PROCESS.  May be process or name of one.
-See function `interrupt-process' for more details on usage.  
+See function `interrupt-process' for more details on usage.
 If PROCESS is a network process, inhibit handling of incoming traffic.  */)
      (process, current_group)
      Lisp_Object process, current_group;
@@ -5401,7 +5401,7 @@ If PROCESS is a network process, inhibit handling of incoming traffic.  */)
   if (PROCESSP (process) && NETCONN_P (process))
     {
       struct Lisp_Process *p;
-  
+
       p = XPROCESS (process);
       if (NILP (p->command)
          && XINT (p->infd) >= 0)
@@ -5423,7 +5423,7 @@ If PROCESS is a network process, inhibit handling of incoming traffic.  */)
 
 DEFUN ("continue-process", Fcontinue_process, Scontinue_process, 0, 2, 0,
        doc: /* Continue process PROCESS.  May be process or name of one.
-See function `interrupt-process' for more details on usage.  
+See function `interrupt-process' for more details on usage.
 If PROCESS is a network process, resume handling of incoming traffic.  */)
      (process, current_group)
      Lisp_Object process, current_group;
@@ -5484,7 +5484,7 @@ SIGCODE may be an integer, or a symbol whose name is a signal name.  */)
     }
   else
     process = get_process (process);
-      
+
   if (NILP (process))
     return process;
 
@@ -5708,7 +5708,7 @@ kill_buffer_processes (buffer)
 /* On receipt of a signal that a child status has changed, loop asking
    about children with changed statuses until the system says there
    are no more.
-   
+
    All we do is change the status; we do not run sentinels or print
    notifications.  That is saved for the next time keyboard input is
    done, in order to avoid timing errors.
@@ -5752,7 +5752,7 @@ sigchld_handler (signo)
 #define WUNTRACED 0
 #endif /* no WUNTRACED */
       /* Keep trying to get a status until we get a definitive result.  */
-      do 
+      do
        {
          errno = 0;
          pid = wait3 (&w, WNOHANG | WUNTRACED, 0);
@@ -5803,18 +5803,18 @@ sigchld_handler (signo)
              break;
            p = 0;
          }
-      
+
       /* Change the status of the process that was found.  */
       if (p != 0)
        {
          union { int i; WAITTYPE wt; } u;
          int clear_desc_flag = 0;
-         
+
          XSETINT (p->tick, ++process_tick);
          u.wt = w;
          XSETINT (p->raw_status_low, u.i & 0xffff);
          XSETINT (p->raw_status_high, u.i >> 16);
-         
+
          /* If process has terminated, stop waiting for its output.  */
          if ((WIFSIGNALED (w) || WIFEXITED (w))
              && XINT (p->infd) >= 0)
@@ -6342,7 +6342,7 @@ syms_of_process ()
   staticpro (&QCoptions);
   QCplist = intern (":plist");
   staticpro (&QCplist);
-    
+
   Qlast_nonmenu_event = intern ("last-nonmenu-event");
   staticpro (&Qlast_nonmenu_event);
 
@@ -6472,7 +6472,7 @@ wait_reading_process_input (time_limit, microsecs, read_kbd, do_display)
   int xerrno;
   /* Either nil or a cons cell, the car of which is of interest and
      may be changed outside of this routine.  */
-  Lisp_Object wait_for_cell; 
+  Lisp_Object wait_for_cell;
 
   wait_for_cell = Qnil;
 
index 891dde40d779a7a32515549a188794db541e3726..fd5bf1829a9466e73b3a59317b2a94cd70a94bfb 100644 (file)
@@ -90,7 +90,7 @@ extern char my_edata[];
 #else /* not VIRT_ADDRESS_VARIES, not PNTR_COMPARISON_TYPE */
 
 extern char my_edata[];
-    
+
 #define PURE_P(obj) \
   (XPNTR (obj) < (unsigned int) my_edata)
 
index 9d31320bfcfbef3882a4d070257850ef610190fc..f710cfdc2b798f705ac9b84f2f0c67ce236f98e2 100644 (file)
@@ -1,4 +1,4 @@
-/* Block-relocating memory allocator. 
+/* Block-relocating memory allocator.
    Copyright (C) 1993, 1995, 2000 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
@@ -42,7 +42,7 @@ typedef size_t SIZE;
 extern void safe_bcopy ();
 
 #ifdef DOUG_LEA_MALLOC
-#define M_TOP_PAD           -2 
+#define M_TOP_PAD           -2
 extern int mallopt ();
 #else /* not DOUG_LEA_MALLOC */
 #ifndef SYSTEM_MALLOC
@@ -98,7 +98,7 @@ static POINTER break_value;
 /* This is the size of a page.  We round memory requests to this boundary.  */
 static int page_size;
 
-/* Whenever we get memory from the system, get this many extra bytes.  This 
+/* Whenever we get memory from the system, get this many extra bytes.  This
    must be a multiple of page_size.  */
 static int extra_bytes;
 
@@ -141,7 +141,7 @@ extern POINTER (*__morecore) ();
    We try to make just one heap and make it larger as necessary.
    But sometimes we can't do that, because we can't get contiguous
    space to add onto the heap.  When that happens, we start a new heap.  */
-   
+
 typedef struct heap
 {
   struct heap *next;
@@ -174,7 +174,7 @@ static heap_ptr first_heap, last_heap;
 /* These structures are allocated in the malloc arena.
    The linked list is kept in order of increasing '.data' members.
    The data blocks abut each other; if b->next is non-nil, then
-   b->data + b->size == b->next->data.  
+   b->data + b->size == b->next->data.
 
    An element with variable==NIL denotes a freed block, which has not yet
    been collected.  They may only appear while r_alloc_freeze > 0, and will be
@@ -467,8 +467,8 @@ get_bloc (size)
 /* Calculate new locations of blocs in the list beginning with BLOC,
    relocating it to start at ADDRESS, in heap HEAP.  If enough space is
    not presently available in our reserve, call obtain for
-   more space. 
-   
+   more space.
+
    Store the new location of each bloc in its new_data field.
    Do not touch the contents of blocs or break_value.  */
 
@@ -481,7 +481,7 @@ relocate_blocs (bloc, heap, address)
   register bloc_ptr b = bloc;
 
   /* No need to ever call this if arena is frozen, bug somewhere!  */
-  if (r_alloc_freeze_level) 
+  if (r_alloc_freeze_level)
     abort();
 
   while (b)
@@ -506,7 +506,7 @@ relocate_blocs (bloc, heap, address)
          /* Add up the size of all the following blocs.  */
          while (tb != NIL_BLOC)
            {
-             if (tb->variable) 
+             if (tb->variable)
                s += tb->size;
 
              tb = tb->next;
@@ -523,7 +523,7 @@ relocate_blocs (bloc, heap, address)
       /* Record the new address of this bloc
         and update where the next bloc can start.  */
       b->new_data = address;
-      if (b->variable) 
+      if (b->variable)
        address = (char *) address + b->size;
       b = b->next;
     }
@@ -639,7 +639,7 @@ resize_bloc (bloc, size)
   SIZE old_size;
 
   /* No need to ever call this if arena is frozen, bug somewhere!  */
-  if (r_alloc_freeze_level) 
+  if (r_alloc_freeze_level)
     abort();
 
   if (bloc == NIL_BLOC || size == bloc->size)
@@ -681,8 +681,8 @@ resize_bloc (bloc, size)
            {
              b->size = 0;
              b->data = b->new_data;
-            } 
-         else 
+            }
+         else
            {
              safe_bcopy (b->data, b->new_data, b->size);
              *b->variable = b->data = b->new_data;
@@ -708,8 +708,8 @@ resize_bloc (bloc, size)
            {
              b->size = 0;
              b->data = b->new_data;
-            } 
-         else 
+            }
+         else
            {
              safe_bcopy (b->data, b->new_data, b->size);
              *b->variable = b->data = b->new_data;
@@ -738,7 +738,7 @@ free_bloc (bloc)
       bloc->variable = (POINTER *) NIL;
       return;
     }
-  
+
   resize_bloc (bloc, 0);
 
   if (bloc == first_bloc && bloc == last_bloc)
@@ -794,7 +794,7 @@ free_bloc (bloc)
    __morecore hook values - in particular, __default_morecore in the
    GNU malloc package.  */
 
-POINTER 
+POINTER
 r_alloc_sbrk (size)
      long size;
 {
@@ -850,7 +850,7 @@ r_alloc_sbrk (size)
       if (first_heap->bloc_start < new_bloc_start)
        {
          /* This is no clean solution - no idea how to do it better.  */
-         if (r_alloc_freeze_level) 
+         if (r_alloc_freeze_level)
            return NIL;
 
          /* There is a bug here: if the above obtain call succeeded, but the
@@ -1018,7 +1018,7 @@ r_re_alloc (ptr, size)
 
   if (!*ptr)
     return r_alloc (ptr, size);
-  if (!size) 
+  if (!size)
     {
       r_alloc_free (ptr);
       return r_alloc (ptr, 0);
@@ -1028,12 +1028,12 @@ r_re_alloc (ptr, size)
   if (bloc == NIL_BLOC)
     abort ();
 
-  if (size < bloc->size) 
+  if (size < bloc->size)
     {
       /* Wouldn't it be useful to actually resize the bloc here?  */
       /* I think so too, but not if it's too expensive...  */
-      if ((bloc->size - MEM_ROUNDUP (size) >= page_size) 
-          && r_alloc_freeze_level == 0) 
+      if ((bloc->size - MEM_ROUNDUP (size) >= page_size)
+          && r_alloc_freeze_level == 0)
        {
          resize_bloc (bloc, MEM_ROUNDUP (size));
          /* Never mind if this fails, just do nothing...  */
@@ -1055,7 +1055,7 @@ r_re_alloc (ptr, size)
           else
            return NIL;
        }
-      else 
+      else
        {
          if (! resize_bloc (bloc, MEM_ROUNDUP (size)))
            return NIL;
@@ -1091,22 +1091,22 @@ void
 r_alloc_thaw ()
 {
 
-  if (! r_alloc_initialized) 
+  if (! r_alloc_initialized)
     r_alloc_init ();
 
   if (--r_alloc_freeze_level < 0)
     abort ();
 
-  /* This frees all unused blocs.  It is not too inefficient, as the resize 
-     and bcopy is done only once.  Afterwards, all unreferenced blocs are 
+  /* This frees all unused blocs.  It is not too inefficient, as the resize
+     and bcopy is done only once.  Afterwards, all unreferenced blocs are
      already shrunk to zero size.  */
-  if (!r_alloc_freeze_level) 
+  if (!r_alloc_freeze_level)
     {
       bloc_ptr *b = &first_bloc;
-      while (*b) 
-       if (!(*b)->variable) 
-         free_bloc (*b); 
-       else 
+      while (*b)
+       if (!(*b)->variable)
+         free_bloc (*b);
+       else
          b = &(*b)->next;
     }
 }
@@ -1238,7 +1238,7 @@ r_alloc_init ()
   if (r_alloc_initialized)
     return;
   r_alloc_initialized = 1;
-  
+
   page_size = PAGE;
 #ifndef SYSTEM_MALLOC
   real_morecore = __morecore;
@@ -1283,6 +1283,6 @@ r_alloc_init ()
         (char *) first_heap->end - (char *) first_heap->start);
   virtual_break_value = break_value = first_heap->bloc_start = first_heap->end;
 #endif
-  
+
   use_relocatable_buffers = 1;
 }
index 148100805eb7021a0aa8e1ec496e4c5b560245b3..5b1b391dab7dff072152bd3e7cf7ddb94bdf6b28 100644 (file)
@@ -2065,7 +2065,7 @@ re_wctype_to_bit (cc)
 static void
 extend_range_table_work_area (work_area)
      struct range_table_work_area *work_area;
-{                                                                      
+{
   work_area->allocated += 16 * sizeof (int);
   if (work_area->table)
     work_area->table
@@ -2104,7 +2104,7 @@ set_image_of_range_1 (work_area, start, end, translate)
 
      `strange' indicates a character that has more than one
      case-equivalent.  */
-     
+
   enum case_type {one_case, two_case, strange};
 
   /* Describe the run that is in progress,
@@ -2174,7 +2174,7 @@ set_image_of_range_1 (work_area, start, end, translate)
            }
          run_type = strange;
        }
-             
+
       if (this_type == strange)
        {
          /* For a strange character, add each of its equivalents, one
@@ -2624,7 +2624,7 @@ regex_compile (pattern, size, syntax, bufp)
                      (simple || !analyse_first (laststart, b, NULL, 0))
                      ? on_failure_jump : on_failure_jump_loop;
                    assert (skip_one_char (laststart) <= b);
-                   
+
                    if (!zero_times_ok && simple)
                      { /* Since simple * loops can be made faster by using
                           on_failure_keep_string_jump, we turn simple P+
@@ -3941,7 +3941,7 @@ analyse_first (p, pend, fastmap, multibyte)
             case has already been handled, so we only need to look at the
             fallthrough case.  */
          continue;
-         
+
        case succeed_n:
          /* If N == 0, it should be an on_failure_jump_loop instead.  */
          DEBUG_STATEMENT (EXTRACT_NUMBER (j, p + 2); assert (j > 0));
@@ -4424,7 +4424,7 @@ skip_one_char (p)
     {
     case anychar:
       break;
-      
+
     case exactn:
       p += *p + 1;
       break;
@@ -4441,7 +4441,7 @@ skip_one_char (p)
       else
        p += 1 + CHARSET_BITMAP_SIZE (p - 1);
       break;
-      
+
     case syntaxspec:
     case notsyntaxspec:
 #ifdef emacs
@@ -4524,7 +4524,7 @@ mutually_exclusive_p (bufp, p1, p2)
          return 1;
        }
       break;
-      
+
     case endline:
     case exactn:
       {
@@ -4634,7 +4634,7 @@ mutually_exclusive_p (bufp, p1, p2)
          }
       }
       break;
-      
+
     case charset_not:
       switch (SWITCH_ENUM_CAST (*p1))
        {
@@ -5318,7 +5318,7 @@ re_match_2_internal (bufp, string1, size1, string2, size2, pos, regs, stop)
 
          assert (!REG_UNSET (regstart[*p]));
          /* Strictly speaking, there should be code such as:
-            
+
                assert (REG_UNSET (regend[*p]));
                PUSH_FAILURE_REGSTOP ((unsigned int)*p);
 
@@ -5735,7 +5735,7 @@ re_match_2_internal (bufp, string1, size1, string2, size2, pos, regs, stop)
              PREFETCH ();
              c2 = RE_STRING_CHAR (d, dend - d);
              s2 = SYNTAX (c2);
-       
+
              /* Case 2: S2 is not Sword. */
              if (s2 != Sword)
                goto fail;
index d7094cda26c3c1b74abaf485a2364274c365e2ed..b5b5202653f09bf3159a1261265c77f09edf7b3d 100644 (file)
@@ -131,7 +131,7 @@ static void revalidate_region_cache ();
 struct region_cache *
 new_region_cache ()
 {
-  struct region_cache *c 
+  struct region_cache *c
     = (struct region_cache *) xmalloc (sizeof (struct region_cache));
 
   c->gap_start = 0;
@@ -385,7 +385,7 @@ delete_cache_boundaries (c, start, end)
 
   c->cache_len -= len;
 }
-     
+
 
 \f
 /* Set the value for a region.  */
@@ -407,12 +407,12 @@ set_cache_region (c, start, end, value)
      both the locations of real characters in the buffer.  */
   if (start == end)
     return;
-  
+
   {
     /* We need to make sure that there are no boundaries in the area
        between start to end; the whole area will have the same value,
        so those boundaries will not be necessary.
-       
+
        Let start_ix be the cache index of the boundary governing the
        first character of start..end, and let end_ix be the cache
        index of the earliest boundary after the last character in
@@ -456,7 +456,7 @@ set_cache_region (c, start, end, value)
             start_ix++;
           }
       }
-          
+
     /* This is equivalent to letting end_ix float (like a buffer
        marker does) with the insertions and deletions we may have
        done.  */
@@ -553,7 +553,7 @@ invalidate_region_cache (buf, c, head, tail)
 }
 
 
-/* Clean out any cache entries applying to the modified region, and 
+/* Clean out any cache entries applying to the modified region, and
    make the positions of the remaining entries accurate again.
 
    After calling this function, the mess described in the comment in
@@ -606,7 +606,7 @@ revalidate_region_cache (buf, c)
      (which will give the modified region the same size in the cache
      as it has in the buffer), and then invalidate the modified
      region. */
-  if (c->buffer_beg + c->beg_unchanged 
+  if (c->buffer_beg + c->beg_unchanged
       == c->buffer_end - c->end_unchanged)
     {
       /* Move the gap so that all the boundaries in the unchanged head
@@ -721,7 +721,7 @@ know_region_cache (buf, c, start, end)
 /* Interface: using the cache.  */
 
 /* Return true if the text immediately after POS in BUF is known, for
-   the purposes of CACHE.  If NEXT is non-zero, set *NEXT to the nearest 
+   the purposes of CACHE.  If NEXT is non-zero, set *NEXT to the nearest
    position after POS where the knownness changes.  */
 int
 region_cache_forward (buf, c, pos, next)
index b4a0b646a34dbbd2877fb7ee1e3f502fe3d7a982..073d26b6bf3d657b27e25be13942eb3eef629289 100644 (file)
@@ -86,7 +86,7 @@ extern void invalidate_region_cache P_ ((struct buffer *BUF,
                                         struct region_cache *CACHE,
                                         int HEAD, int TAIL));
 
-/* The scanning functions. 
+/* The scanning functions.
 
    Basically, if you're scanning forward/backward from position POS,
    and region_cache_forward/backward returns true, you can skip all
@@ -96,7 +96,7 @@ extern void invalidate_region_cache P_ ((struct buffer *BUF,
    might be able to avoid scanning it again.  */
 
 /* Return true if the text immediately after POS in BUF is known, for
-   the purposes of CACHE.  If NEXT is non-zero, set *NEXT to the nearest 
+   the purposes of CACHE.  If NEXT is non-zero, set *NEXT to the nearest
    position after POS where the knownness changes.  */
 extern int region_cache_forward P_ ((struct buffer *BUF,
                                      struct region_cache *CACHE,
index f9f4a6a5ff22a0cc078f248ca7fad82861029501..427dc2003de87d8561cfba9274ce87bf29585584 100644 (file)
@@ -6,7 +6,7 @@
 #undef LIB_STANDARD
 #define LIB_STANDARD -lc $(GNULIB_VAR)
 
-/* The following should be set to /netbsd if you are running netbsd > 0.8 
+/* The following should be set to /netbsd if you are running netbsd > 0.8
    Or just link /netbsd -> /386bsd  */
 #undef KERNEL_FILE
 #define KERNEL_FILE "/386bsd"
index c365bc7d102a79d12139b0551f8741648419fa95..e179684f3b69d48ef7188c386f851c9c9226d1aa 100644 (file)
@@ -1,4 +1,4 @@
-#define AIX4_1 
+#define AIX4_1
 
 #include "aix4.h"
 
index d0dd9a294856882bc51ec4586a92b63314268954..fc797755c08da582086317f3345708212cff4c44 100644 (file)
@@ -46,7 +46,7 @@ Boston, MA 02111-1307, USA.  */
 /* First pty name is /dev/ptyp0.  */
 
 #define FIRST_PTY_LETTER 'p'
+
 /*
  *     Define HAVE_PTYS if the system supports pty devices.
  */
index fe2923054656bdf5dbfb69c9acafeb4b7d5c8532..d10a7264053fc9f61a94285927b16ce529d4aca1 100644 (file)
@@ -103,7 +103,7 @@ Boston, MA 02111-1307, USA.  */
 
 /* If the system's imake configuration file defines `NeedWidePrototypes'
    as `NO', we must define NARROWPROTO manually.  Such a define is
-   generated in the Makefile generated by `xmkmf'.  If we don't 
+   generated in the Makefile generated by `xmkmf'.  If we don't
    define NARROWPROTO, we will see the wrong function prototypes
    for X functions taking float or double parameters.  */
 
index 21b11d9554a7d8a2a2d66ee28cff6cb258cc471d..e9faa6605ce7e3f5dbaefd1125b5aba72fc57ba1 100644 (file)
@@ -178,7 +178,7 @@ Boston, MA 02111-1307, USA.  */
 
 /* If the system's imake configuration file defines `NeedWidePrototypes'
    as `NO', we must define NARROWPROTO manually.  Such a define is
-   generated in the Makefile generated by `xmkmf'.  If we don't 
+   generated in the Makefile generated by `xmkmf'.  If we don't
    define NARROWPROTO, we will see the wrong function prototypes
    for X functions taking float or double parameters.  */
 
index b42930b7aa24d423962138b92fdc885f602e7bef..94336835f507b6423a490a3f016360711322bd86 100644 (file)
@@ -23,7 +23,7 @@ Boston, MA 02111-1307, USA.  */
 
 /* Get the correct __FreeBSD_version, even if this is before that was
    defined. */
-#ifndef __FreeBSD_version 
+#ifndef __FreeBSD_version
 #ifndef __FreeBSD__
 #define __FreeBSD_version 199401
 #elif __FreeBSD__ == 1
@@ -144,7 +144,7 @@ Boston, MA 02111-1307, USA.  */
 #define BSD_SYSTEM 199506
 #endif
 
-#if 0  /* Shouldn't be necessary and produces warnings with the 
+#if 0  /* Shouldn't be necessary and produces warnings with the
           experimental Autoconf test.  */
 #define WAITTYPE int
 /* get this since it won't be included if WAITTYPE is defined */
@@ -167,7 +167,7 @@ Boston, MA 02111-1307, USA.  */
 
 /* If the system's imake configuration file defines `NeedWidePrototypes'
    as `NO', we must define NARROWPROTO manually.  Such a define is
-   generated in the Makefile generated by `xmkmf'.  If we don't 
+   generated in the Makefile generated by `xmkmf'.  If we don't
    define NARROWPROTO, we will see the wrong function prototypes
    for X functions taking float or double parameters.  */
 
index 2ad57403fb704059fda5f422ee89576eea78dec0..5175bd10bfe66ddb5f401bfc5f5c1e0658ee1942 100644 (file)
@@ -14,9 +14,9 @@
 #define BSD4_2
 
 /* Define _BSD to tell the include files we're running under
-   the BSD universe and not the SYSV universe.  
-   Define HITACHI and OSF for Xt's Boolean type as int intead of char.  
-   (But for these defines, /usr/include/X11/Intrinsic.h defines 
+   the BSD universe and not the SYSV universe.
+   Define HITACHI and OSF for Xt's Boolean type as int intead of char.
+   (But for these defines, /usr/include/X11/Intrinsic.h defines
    Boolean as char, but libXt.a on HI-UX/MPP requires it as int.)  */
 
 #define C_SWITCH_SYSTEM        -D_BSD -DHITACHI -DOSF
@@ -34,7 +34,7 @@
 /* Here is how to find X Windows.  LD_SWITCH_X_SITE_AUX gives an -R option
    says where to find X windows at run time.  We convert it to a -rpath option
    which is what OSF1 uses.  */
-#define LD_SWITCH_SYSTEM 
+#define LD_SWITCH_SYSTEM
 
 #undef KERNEL_FILE
 #define KERNEL_FILE "/mach_kernel"
index 2ad57403fb704059fda5f422ee89576eea78dec0..5175bd10bfe66ddb5f401bfc5f5c1e0658ee1942 100644 (file)
@@ -14,9 +14,9 @@
 #define BSD4_2
 
 /* Define _BSD to tell the include files we're running under
-   the BSD universe and not the SYSV universe.  
-   Define HITACHI and OSF for Xt's Boolean type as int intead of char.  
-   (But for these defines, /usr/include/X11/Intrinsic.h defines 
+   the BSD universe and not the SYSV universe.
+   Define HITACHI and OSF for Xt's Boolean type as int intead of char.
+   (But for these defines, /usr/include/X11/Intrinsic.h defines
    Boolean as char, but libXt.a on HI-UX/MPP requires it as int.)  */
 
 #define C_SWITCH_SYSTEM        -D_BSD -DHITACHI -DOSF
@@ -34,7 +34,7 @@
 /* Here is how to find X Windows.  LD_SWITCH_X_SITE_AUX gives an -R option
    says where to find X windows at run time.  We convert it to a -rpath option
    which is what OSF1 uses.  */
-#define LD_SWITCH_SYSTEM 
+#define LD_SWITCH_SYSTEM
 
 #undef KERNEL_FILE
 #define KERNEL_FILE "/mach_kernel"
index c06675301f0a6bad1a37b9ad9339f23c877dff41..a151769fcf946c4621d0cf78696aca0e18061168 100644 (file)
@@ -52,7 +52,7 @@
    and none have sioctl.h, so might as well define this.  */
 #define NO_SIOCTL_H
 
-#if 0 /* autoconf should be detecting the presence or absence of 
+#if 0 /* autoconf should be detecting the presence or absence of
         random and srandom now.  */
 /* If you use X11R4 you must define this.  If you use
    X11R5 you must comment this out */
index a83d3fcb4179bcc2faacefd4d7f700d8986a653b..1bdd479eb9f84f04a1d075da40571aad274e954b 100644 (file)
@@ -4,7 +4,7 @@
 
 #undef sigsetmask  /* use sys_sigsetmask */
 #undef _longjmp /* use system versions, not conservative aliases */
-#undef _setjmp 
+#undef _setjmp
 
 #define SETPGRP_RELEASES_CTTY
 
@@ -73,7 +73,7 @@ char *_getpty();
 
 /* Since we use POSIX constructs in PTY_OPEN, we must force POSIX
    throughout. */
-#define POSIX_SIGNALS  
+#define POSIX_SIGNALS
 
 /* Info from simon@lia.di.epfl.ch (Simon Leinen) suggests this is needed.  */
 #define GETPGRP_NO_ARG
index 4d7509f8d54ab5ac9e0360fde2f9791f2eb0fa7c..a9056fae8c1586f00103e26a9518db6c1bc8e915 100644 (file)
@@ -1,8 +1,8 @@
 #include "irix5-0.h"
 
-/* as of version 5.2, irix no longer uses flock, 
+/* as of version 5.2, irix no longer uses flock,
    according to jackr@wpd.sgi.com.  */
-#undef MAIL_USE_FLOCK 
+#undef MAIL_USE_FLOCK
 
 /* C-g in select is not handled properly with restartable
    system calls.  So don't use them.  */
index 51f3e9ddb2570144d4a022f33f00fd32bd4cf66c..6d38d4fa59212d2f7c4c6e4ee1fab061a45e6285 100644 (file)
@@ -440,7 +440,7 @@ extern char *get_emacs_configuration_options (void);
 
 #include <sys/stat.h>
 
-/* Define for those source files that do not include enough NT 
+/* Define for those source files that do not include enough NT
    system files.  */
 #ifndef NULL
 #ifdef __cplusplus
index 7ed08ec05e309b9d10b92321c3fd17642bfc8320..b4ac9a55195f74e27d01d23eb50e7662fa8e97cc 100644 (file)
    ioctl TIOCSCTTY.  */
 
 #define DONT_REOPEN_PTY
+
 /* Tell that garbage collector that setjmp is known to save all
    registers relevant for conservative garbage collection in the
    jmp_buf.  */
 
 #define GC_SETJMP_WORKS 1
+
 /* Use the GC_MAKE_GCPROS_NOOPS (see lisp.h) method.  */
 
 #define GC_MARK_STACK  GC_MAKE_GCPROS_NOOPS
index 6fff6de543c2bbc4d21e948b85fa3c12d6e8c8b6..ae76c35f3e601f3d31d1cb3c475da17bbbf582b5 100644 (file)
@@ -41,8 +41,8 @@ Boston, MA 02111-1307, USA.  */
 
 /* PTX has System V streams.  */
 #define SYSV_STREAMS
-/* Leave out -lPW since it conflicts with term.o and because we're not sure 
+
+/* Leave out -lPW since it conflicts with term.o and because we're not sure
    if the alloca found there by autoconf should be trusted on PTX.  */
 #define LIB_STANDARD -lc
 
@@ -159,7 +159,7 @@ struct timezone
   }                                                            \
   strcpy (pty_name, slavename);
 
-/* Define these to prevent the default logic in process.c:allocate_pty 
+/* Define these to prevent the default logic in process.c:allocate_pty
    from being used.  */
 #define PTY_NAME_SPRINTF
 #define PTY_TTY_NAME_SPRINTF
index 6015ec66385b944dff86ebe5a6071c9d46d222dc..67b96eee59aa733bd423174e343b7a117adf0db1 100644 (file)
@@ -86,7 +86,7 @@ Boston, MA 02111-1307, USA.  */
 #define LIBS_SYSTEM -lsocket -lPW
 
 /* SCO has gettimeofday in socket library */
-/* Autoconf should determine this, but for now, 
+/* Autoconf should determine this, but for now,
    play safe to avoid error rather than deleting this
    and risking the wrong result.  */
 #ifndef HAVE_GETTIMEOFDAY
index 04bfd7c181e2377ba3807c0347d209e2b547132e..8b091f63b5322fe0aaf9b8e9659f6072a2d74b9a 100644 (file)
@@ -150,7 +150,7 @@ extern SIGMASKTYPE sigprocmask_set;
 #define PENDING_OUTPUT_COUNT(FILE) ((FILE)->__ptr - (FILE)->__base)
 #endif
 
-/* Use ELF and get real shared libraries */ 
+/* Use ELF and get real shared libraries */
 
 #undef COFF
 #define ELF
index b018afa8ce11733e7a2a4425bbc650116f3af94b..f4d806de1461a51cd132a165df543f340194962a 100644 (file)
@@ -168,7 +168,7 @@ Boston, MA 02111-1307, USA.  */
 
 /* If the system's imake configuration file defines `NeedWidePrototypes'
    as `NO', we must define NARROWPROTO manually.  Such a define is
-   generated in the Makefile generated by `xmkmf'.  If we don't 
+   generated in the Makefile generated by `xmkmf'.  If we don't
    define NARROWPROTO, we will see the wrong function prototypes
    for X functions taking float or double parameters.  */
 
index 25d3d70dbfa1f5ea427363b979c8be6ac6397a79..eaa9b6c4bbcb3f776ef56d6d1fa0abf953349313 100644 (file)
@@ -147,7 +147,7 @@ Boston, MA 02111-1307, USA.  */
 #define SEGMENT_MASK   (64 * 1024 - 1)
 
 
-/* crt0.c needs this for compilation because it uses asm.  */  
+/* crt0.c needs this for compilation because it uses asm.  */
 
 #define C_SWITCH_ASM -q nodirect_code
 
index e95212c5624e459f406fa7de6a32e65df1db45a1..9f718099eef3cd8535072ef6cda98ce472f6d702 100644 (file)
@@ -130,7 +130,7 @@ Boston, MA 02111-1307, USA.  */
 #define LINK_CRTL_SHARE
 
 /* Define this if you want to read the file SYS$SYSTEM:SYSUAF.DAT for user
-   information.  If you do use this, you must either make SYSUAF.DAT world 
+   information.  If you do use this, you must either make SYSUAF.DAT world
    readable or install Emacs with SYSPRV.  */
 
 /* #define READ_SYSUAF */
@@ -192,7 +192,7 @@ extern double mth$dmod(double, double);
 
 /* If user asks for TERM, check first for EMACS_TERM.  */
 #define getenv sys_getenv
-  
+
 /* Standard C abort is less useful than it should be. */
 #define abort sys_abort
 
index e6929113e8aa0c338e237cc86e55020b2dc325c3..ccbc85ac8b290b1cbd43d42358d2b98797cd19c0 100644 (file)
@@ -232,13 +232,13 @@ calculate_scrolling (frame, matrix, window_size, lines_below,
 /* Perform insert-lines and delete-lines operations on CURRENT_MATRIX
    according to the costs in MATRIX, using the general scrolling
    method that is used if the terminal does not support the setting of
-   scroll windows (scroll_region_ok == 0).  
+   scroll windows (scroll_region_ok == 0).
 
    WINDOW_SIZE is the number of lines being considered for scrolling
    and UNCHANGED_AT_TOP is the vpos of the first line being
    considered.  These two arguments can specify any contiguous range
    of lines.  */
+
 static void
 do_scrolling (current_matrix, matrix, window_size, unchanged_at_top)
      struct glyph_matrix *current_matrix;
@@ -258,7 +258,7 @@ do_scrolling (current_matrix, matrix, window_size, unchanged_at_top)
   struct queue *queue_start
     = (struct queue *) alloca (current_matrix->nrows * sizeof (struct queue));
   struct queue *queue = queue_start;
-  
+
   char *retained_p = (char *) alloca (window_size * sizeof (char));
   int *copy_from = (int *) alloca (window_size * sizeof (int));
 
@@ -283,7 +283,7 @@ do_scrolling (current_matrix, matrix, window_size, unchanged_at_top)
   while (i > 0 || j > 0)
     {
       p = matrix + i * (window_size + 1) + j;
-      
+
       if (p->insertcost < p->writecost && p->insertcost < p->deletecost)
        {
          /* Insert should be done at vpos i-1, plus maybe some before.
@@ -365,7 +365,7 @@ do_scrolling (current_matrix, matrix, window_size, unchanged_at_top)
            }
        }
       while (queue > queue_start);
-         
+
     }
 
   for (k = 0; k < window_size; ++k)
@@ -377,7 +377,7 @@ do_scrolling (current_matrix, matrix, window_size, unchanged_at_top)
 
   /* Some sanity checks if GLYPH_DEBUG != 0.  */
   CHECK_MATRIX (current_matrix);
-  
+
   if (terminal_window_p)
     set_terminal_window (0);
 }
@@ -562,7 +562,7 @@ calculate_direct_scrolling (frame, matrix, window_size, lines_below,
                   To reduce the cumulative effects of rounding error, we
                   vary the position at which the difference is computed. */
                cost1 += first_insert_cost[-j] - first_insert_cost[1-j] +
-                 (delta-1) * (next_insert_cost[-j] - next_insert_cost[1-j]); 
+                 (delta-1) * (next_insert_cost[-j] - next_insert_cost[1-j]);
              }
            else
              {
@@ -570,7 +570,7 @@ calculate_direct_scrolling (frame, matrix, window_size, lines_below,
                cost += scroll_overhead + first_delete_cost[-delta] +
                  (delta-1) * (next_delete_cost[-delta] + extra_cost);
                cost1 += first_delete_cost[-i] - first_delete_cost[1-i] +
-                 (delta-1) * ( next_delete_cost[-i] - next_delete_cost[1-i]); 
+                 (delta-1) * ( next_delete_cost[-i] - next_delete_cost[1-i]);
              }
            if (cost1 < cost)
              {
@@ -641,7 +641,7 @@ calculate_direct_scrolling (frame, matrix, window_size, lines_below,
    and UNCHANGED_AT_TOP is the vpos of the first line being
    considered.  These two arguments can specify any contiguous range
    of lines.
+
    In the direct scrolling method, a new scroll window is selected
    before each insertion or deletion, so that groups of lines can be
    scrolled directly to their final vertical positions.  This method
@@ -701,11 +701,11 @@ do_direct_scrolling (current_matrix, cost_matrix, window_size,
      without also decrementing i, this corresponds to omitting these
      lines in the new rows, i.e. rows are deleted.  */
   i = j = window_size;
-  
+
   while (i > 0 || j > 0)
     {
       p = cost_matrix + i * (window_size + 1) + j;
-      
+
       if (p->insertcost < p->writecost
          && p->insertcost < p->deletecost
          && (write_follows_p || i < j))
@@ -717,7 +717,7 @@ do_direct_scrolling (current_matrix, cost_matrix, window_size,
          queue->window = i;
          queue->pos = i - p->insertcount;
          ++queue;
-         
+
          i -= p->insertcount;
          write_follows_p = 0;
        }
@@ -736,7 +736,7 @@ do_direct_scrolling (current_matrix, cost_matrix, window_size,
             place they belong.  */
          int n_to_write = p->writecount;
          write_follows_p = 1;
-         xassert (n_to_write > 0); 
+         xassert (n_to_write > 0);
 
          if (i > j)
            {
@@ -822,7 +822,7 @@ scrolling_1 (frame, window_size, unchanged_at_top, unchanged_at_bottom,
     {
       calculate_direct_scrolling (frame, matrix, window_size,
                                  unchanged_at_bottom,
-                                 draw_cost, old_draw_cost, 
+                                 draw_cost, old_draw_cost,
                                  old_hash, new_hash, free_at_end);
       do_direct_scrolling (frame->current_matrix,
                           matrix, window_size, unchanged_at_top);
@@ -1054,7 +1054,7 @@ do_line_insertion_deletion_costs (frame,
        (int *) xmalloc (FRAME_HEIGHT (frame) * sizeof (int));
       FRAME_INSERTN_COST (frame) =
        (int *) xmalloc (FRAME_HEIGHT (frame) * sizeof (int));
-      FRAME_DELETE_COST (frame) = 
+      FRAME_DELETE_COST (frame) =
        (int *) xmalloc (FRAME_HEIGHT (frame) * sizeof (int));
     }
 
index cae2783c117ffaa6f8640e0f5f4d1f290a60e982..a9544a2db39901fbdf61f872551fde291a58dfed 100644 (file)
@@ -306,12 +306,12 @@ looking_at_1 (string, posix)
     }
 
   re_match_object = Qnil;
-  
+
   i = re_match_2 (bufp, (char *) p1, s1, (char *) p2, s2,
                  PT_BYTE - BEGV_BYTE, &search_regs,
                  ZV_BYTE - BEGV_BYTE);
   immediate_quit = 0;
-  
+
   if (i == -2)
     matcher_overflow ();
 
@@ -390,7 +390,7 @@ string_match_1 (regexp, string, start, posix)
                          STRING_MULTIBYTE (string));
   immediate_quit = 1;
   re_match_object = string;
-  
+
   val = re_search (bufp, (char *) SDATA (string),
                   SBYTES (string), pos_byte,
                   SBYTES (string) - pos_byte,
@@ -458,7 +458,7 @@ fast_string_match (regexp, string)
                          0, STRING_MULTIBYTE (string));
   immediate_quit = 1;
   re_match_object = string;
-  
+
   val = re_search (bufp, (char *) SDATA (string),
                   SBYTES (string), 0,
                   SBYTES (string), 0);
@@ -550,7 +550,7 @@ scan_buffer (target, start, end, count, shortage, allow_quit)
      int allow_quit;
 {
   struct region_cache *newline_cache;
-  int direction; 
+  int direction;
 
   if (count > 0)
     {
@@ -611,7 +611,7 @@ scan_buffer (target, start, end, count, shortage, allow_quit)
        ceiling_byte = min (tem, ceiling_byte);
 
         {
-          /* The termination address of the dumb loop.  */ 
+          /* The termination address of the dumb loop.  */
           register unsigned char *ceiling_addr
            = BYTE_POS_ADDR (ceiling_byte) + 1;
           register unsigned char *cursor
@@ -856,7 +856,7 @@ find_before_next_newline (from, to, cnt)
 
   if (shortage == 0)
     pos--;
-  
+
   return pos;
 }
 \f
@@ -1062,7 +1062,7 @@ search_buffer (string, pos, pos_byte, lim, lim_byte, n,
          s2 = 0;
        }
       re_match_object = Qnil;
-  
+
       while (n < 0)
        {
          int val;
@@ -1528,7 +1528,7 @@ boyer_moore (n, base_pat, len, len_byte, trt, inverse_trt,
   int infinity, limit, stride_for_teases = 0;
   register int *BM_tab;
   int *BM_tab_base;
-  register unsigned char *cursor, *p_limit;  
+  register unsigned char *cursor, *p_limit;
   register int i, j;
   unsigned char *pat, *pat_end;
   int multibyte = ! NILP (current_buffer->enable_multibyte_characters);
@@ -1561,14 +1561,14 @@ boyer_moore (n, base_pat, len, len_byte, trt, inverse_trt,
   /* a single test, a test for having gone past the end of the */
   /* permissible match region, to test for both possible matches (when */
   /* the stride goes past the end immediately) and failure to */
-  /* match (where you get nudged past the end one stride at a time). */ 
+  /* match (where you get nudged past the end one stride at a time). */
 
   /* Here we make a "mickey mouse" BM table.  The stride of the search */
   /* is determined only by the last character of the putative match. */
   /* If that character does not match, we will stride the proper */
   /* distance to propose a match that superimposes it on the last */
   /* instance of a character that matches it (per trt), or misses */
-  /* it entirely if there is none. */  
+  /* it entirely if there is none. */
 
   dirlen = len_byte * direction;
   infinity = dirlen - (lim_byte + pos_byte + len_byte + len_byte) * direction;
@@ -1656,7 +1656,7 @@ boyer_moore (n, base_pat, len, len_byte, trt, inverse_trt,
 
          BM_tab[j] = dirlen - i;
          /* A translation table is accompanied by its inverse -- see */
-         /* comment following downcase_table for details */ 
+         /* comment following downcase_table for details */
          if (this_translated)
            {
              int starting_ch = ch;
@@ -1844,7 +1844,7 @@ boyer_moore (n, base_pat, len, len_byte, trt, inverse_trt,
              /* This loop can be coded for space rather than */
              /* speed because it will usually run only once. */
              /* (the reach is at most len + 21, and typically */
-             /* does not exceed len) */    
+             /* does not exceed len) */
              while ((limit - pos_byte) * direction >= 0)
                pos_byte += BM_tab[FETCH_BYTE (pos_byte)];
              /* now run the same tests to distinguish going off the */
@@ -1957,7 +1957,7 @@ wordify (string)
   for (i = 0, i_byte = 0; i < len; )
     {
       int c;
-      
+
       FETCH_STRING_CHAR_ADVANCE (c, string, i, i_byte);
 
       if (SYNTAX (c) != Sword)
@@ -1992,7 +1992,7 @@ wordify (string)
     {
       int c;
       int i_byte_orig = i_byte;
-      
+
       FETCH_STRING_CHAR_ADVANCE (c, string, i, i_byte);
 
       if (SYNTAX (c) == Sword)
@@ -2360,7 +2360,7 @@ since only regular expressions have distinguished subexpressions.  */)
              if (c == '\\')
                {
                  FETCH_STRING_CHAR_ADVANCE (c, newtext, pos, pos_byte);
-                     
+
                  if (c == '&')
                    {
                      substart = search_regs.start[sub];
@@ -2593,7 +2593,7 @@ since only regular expressions have distinguished subexpressions.  */)
 
   /* Now move point "officially" to the start of the inserted replacement.  */
   move_if_not_intangible (newpoint);
-  
+
   return Qnil;
 }
 \f
@@ -2639,7 +2639,7 @@ Zero means the entire text matched by the whole regexp or whole string.  */)
      Lisp_Object subexp;
 {
   return match_limit (subexp, 0);
-} 
+}
 
 DEFUN ("match-data", Fmatch_data, Smatch_data, 0, 2, 0,
        doc: /* Return a list containing all info on what the last search matched.
@@ -2687,7 +2687,7 @@ to hold all the values, and if INTEGERS is non-nil, no consing is done.  */)
                           last_thing_searched);
              data[2 * i + 1] = Fmake_marker ();
              Fset_marker (data[2 * i + 1],
-                          make_number (search_regs.end[i]), 
+                          make_number (search_regs.end[i]),
                           last_thing_searched);
            }
          else
@@ -2740,7 +2740,7 @@ LIST should have been created by calling `match-data' previously.  */)
   if (!CONSP (list) && !NILP (list))
     list = wrong_type_argument (Qconsp, list);
 
-  /* Unless we find a marker with a buffer in LIST, assume that this 
+  /* Unless we find a marker with a buffer in LIST, assume that this
      match data came from a string.  */
   last_thing_searched = Qt;
 
@@ -2809,7 +2809,7 @@ LIST should have been created by calling `match-data' previously.  */)
       list = Fcdr (list);
     }
 
-  return Qnil;  
+  return Qnil;
 }
 
 /* If non-zero the match data have been saved in saved_search_regs
@@ -2873,7 +2873,7 @@ DEFUN ("regexp-quote", Fregexp_quote, Sregexp_quote, 1, 1, 0,
 
   in = SDATA (string);
   end = in + SBYTES (string);
-  out = temp; 
+  out = temp;
 
   for (; in != end; in++)
     {
@@ -2890,7 +2890,7 @@ DEFUN ("regexp-quote", Fregexp_quote, Sregexp_quote, 1, 1, 0,
                                out - temp,
                                STRING_MULTIBYTE (string));
 }
-\f  
+\f
 void
 syms_of_search ()
 {
index e4e2e84da45c27b5970281e866c608b34680cfdf..c1bae41c470bec8efcff75c21a2295bc116e6df6 100644 (file)
@@ -158,7 +158,7 @@ Redisplay does not happen if input is available before it starts.  */)
 {
   struct timeval Timeout;
   int waitmask = 1;
-  
+
   CHECK_NUMBER (n);
   Timeout.tv_sec = XINT(n) / 1000;
   Timeout.tv_usec = (XINT(n) - (Timeout.tv_sec * 1000)) * 1000;
@@ -178,7 +178,7 @@ Redisplay does not happen if input is available before it starts.  */)
 /*
  *   Sun sleep-for (allows a shorter interval than the regular sleep-for)
  */
-DEFUN ("sleep-for-millisecs", 
+DEFUN ("sleep-for-millisecs",
        Fsleep_for_millisecs,
        Ssleep_for_millisecs, 1, 1, 0,
        doc: /* Pause, without updating display, for ARG milliseconds.  */)
@@ -220,12 +220,12 @@ expressed as a string.  If ICON is nil then the original arrow cursor is used.
   register short *p;
   register int i;
   Lisp_Object X_Hot, Y_Hot, Data;
-  
+
   CHECK_GFX (Qnil);
   /*
    *   If the icon is null, we just restore the DefaultCursor
    */
-  if (NILP(Icon)) 
+  if (NILP(Icon))
     CurrentCursor = DefaultCursor;
   else {
     /*
@@ -236,7 +236,7 @@ expressed as a string.  If ICON is nil then the original arrow cursor is used.
     X_Hot = XVECTOR(Icon)->contents[0];
     Y_Hot = XVECTOR(Icon)->contents[1];
     Data = XVECTOR(Icon)->contents[2];
-    
+
     CHECK_NUMBER (X_Hot);
     CHECK_NUMBER (Y_Hot);
     CHECK_STRING (Data);
@@ -267,7 +267,7 @@ sel_write (sel, file)
      struct selection *sel;
      FILE *file;
 {
-  fwrite (SDATA (Current_Selection), sizeof (char), 
+  fwrite (SDATA (Current_Selection), sizeof (char),
          sel->sel_items, file);
 }
 
@@ -285,7 +285,7 @@ sel_read (sel, file)
 {
   register int i, n;
   register char *cp;
-  
+
   Current_Selection = make_string ("", 0);
   if (sel->sel_items <= 0)
     return (0);
@@ -306,7 +306,7 @@ sel_read (sel, file)
    * The shelltool select saves newlines as carriage returns,
    * but emacs wants newlines.
    */
-  for (i = 0; i < n; i++) 
+  for (i = 0; i < n; i++)
     if (cp[i] == '\r') cp[i] = '\n';
 
   Current_Selection = make_string (cp, n);
@@ -379,16 +379,16 @@ sun_item_create (Pair)
   return menu_item;
 }
 
-Menu 
+Menu
 sun_menu_create (Vector)
      Lisp_Object Vector;
 {
   Menu menu;
   int i;
   CHECK_VECTOR(Vector);
-  menu=menu_create(0); 
+  menu=menu_create(0);
   for(i = 0; i < XVECTOR(Vector)->size; i++) {
-    menu_set (menu, MENU_APPEND_ITEM, 
+    menu_set (menu, MENU_APPEND_ITEM,
              sun_item_create(XVECTOR(Vector)->contents[i]), 0);
   }
   return menu;
@@ -445,7 +445,7 @@ as a menu label.  */)
   Event event0;
   Event *event = &event0;
   Lisp_Object Value, Pair;
-  
+
   CHECK_NUMBER(X_Position);
   CHECK_NUMBER(Y_Position);
   CHECK_LIVE_WINDOW(window);
index 116249fe2839811ef2a09cb0c1c0ef0f28e5c1bc..799f44d3c2fe8b3ab49c0982388538dc435c1b8d 100644 (file)
@@ -1774,7 +1774,7 @@ forw_comment (from, from_byte, stop, nesting, style, prev_syntax,
 }
 
 DEFUN ("forward-comment", Fforward_comment, Sforward_comment, 1, 1, 0,
-       doc: /* 
+       doc: /*
 Move forward across up to COUNT comments.  If COUNT is negative, move backward.
 Stop scanning if we find something other than a comment or whitespace.
 Set point to where scanning stops.
index 4cbd2e2edf9070b6452daf85c90d03ea0de347ec..6d8f201baeb79e6b3129d2a1326eb9881f68b611 100644 (file)
@@ -90,7 +90,7 @@ extern Lisp_Object syntax_parent_lookup P_ ((Lisp_Object, int));
 #endif
 
 /* SYNTAX_ENTRY fetches the information from the entry for character C
-   in syntax table TABLE, or from globally kept data (gl_state).  
+   in syntax table TABLE, or from globally kept data (gl_state).
    Does inheritance.  */
 /* CURRENT_SYNTAX_TABLE gives the syntax table valid for current
    position, it is either the buffer's syntax table, or syntax table
@@ -277,7 +277,7 @@ extern char syntax_code_spec[16];
    search, or after the last position of the backward search.  It
    makes sure that the first char is picked up with correct table, so
    one does not need to call UPDATE_SYNTAX_TABLE immediately after the
-   call. 
+   call.
    Sign of COUNT gives the direction of the search.
  */
 
index 265cb61f393f0c44562635386ab260884e1722b4..1e4ed7576dddc008e75b0f36a1bed18efea5c7a0 100644 (file)
@@ -391,7 +391,7 @@ init_baud_rate ()
       emacs_ospeed = sg.c_cflag & CBAUD;
 #else /* neither VMS nor TERMIOS nor TERMIO */
       struct sgttyb sg;
-      
+
       sg.sg_ospeed = B9600;
       if (ioctl (input_fd, TIOCGETP, &sg) < 0)
        abort ();
@@ -402,7 +402,7 @@ init_baud_rate ()
 #endif /* not DOS_NT */
 #endif /* not INIT_BAUD_RATE */
     }
-   
+
   baud_rate = (emacs_ospeed < sizeof baud_convert / sizeof baud_convert[0]
               ? baud_convert[emacs_ospeed] : 9600);
   if (baud_rate == 0)
@@ -543,7 +543,7 @@ wait_for_termination (pid)
  *     flush any pending output
  *      (may flush input as well; it does not matter the way we use it)
  */
+
 void
 flush_pending_output (channel)
      int channel;
@@ -812,7 +812,7 @@ sys_subshell ()
   save_signal_handlers (saved_handlers);
   synch_process_alive = 1;
 #endif /* __DJGPP__ > 1 */
-#else  
+#else
   pid = vfork ();
   if (pid == -1)
     error ("Can't spawn subshell");
@@ -1002,7 +1002,7 @@ unrequest_sigio ()
 }
 
 #else /* not FASYNC, not STRIDE */
+
 #ifdef _CX_UX
 
 #include <termios.h>
@@ -1046,7 +1046,7 @@ request_sigio ()
 
   croak ("request_sigio");
 }
+
 void
 unrequest_sigio ()
 {
@@ -1258,7 +1258,7 @@ emacs_set_tty (fd, settings, flushp)
       || ioctl (fd, TIOCLSET, &settings->lmode) < 0)
     return -1;
 #endif
-  
+
   /* We have survived the tempest.  */
   return 0;
 }
@@ -1298,13 +1298,13 @@ unsigned char _sobuf[BUFSIZ+8];
 char _sobuf[BUFSIZ];
 #endif
 #endif
+
 #ifdef HAVE_LTCHARS
 static struct ltchars new_ltchars = {-1,-1,-1,-1,-1,-1};
 #endif
 #ifdef HAVE_TCHARS
 static struct tchars new_tchars = {-1,-1,-1,-1,-1,-1};
-#endif 
+#endif
 
 void
 init_sys_modes ()
@@ -1413,7 +1413,7 @@ nil means don't delete them until `list-processes' is run.  */);
        }
       else
        tty.main.c_iflag &= ~IXON;      /* Disable start/stop output control */
-      tty.main.c_oflag &= ~ONLCR;      /* Disable map of NL to CR-NL 
+      tty.main.c_oflag &= ~ONLCR;      /* Disable map of NL to CR-NL
                                           on output */
       tty.main.c_oflag &= ~TAB3;       /* Disable tab expansion */
 #ifdef CS8
@@ -1554,7 +1554,7 @@ nil means don't delete them until `list-processes' is run.  */);
         anything, and leaving it in breaks the meta key.  Go figure.  */
       tty.lmode &= ~LLITOUT;
 #endif
-      
+
 #ifdef BSD4_1
       lmode = tty.lmode;
 #endif
@@ -1679,7 +1679,7 @@ nil means don't delete them until `list-processes' is run.  */);
 
 /* Return nonzero if safe to use tabs in output.
    At the time this is called, init_sys_modes has not been done yet.  */
-   
+
 int
 tabs_safe_p ()
 {
@@ -1715,7 +1715,7 @@ get_frame_size (widthp, heightp)
 #ifdef TIOCGSIZE
 
   /* SunOS - style.  */
-  struct ttysize size;  
+  struct ttysize size;
 
   if (ioctl (input_fd, TIOCGSIZE, &size) == -1)
     *widthp = *heightp = 0;
@@ -1729,7 +1729,7 @@ get_frame_size (widthp, heightp)
 #ifdef VMS
 
   struct sensemode tty;
-  
+
   SYS$QIOW (0, input_fd, IO$_SENSEMODE, &tty, 0, 0,
            &tty.class, 12, 0, 0, 0, 0);
   *widthp = tty.scr_wid;
@@ -1772,7 +1772,7 @@ set_window_size (fd, height, width)
 #ifdef TIOCSSIZE
 
   /* SunOS - style.  */
-  struct ttysize size;  
+  struct ttysize size;
   size.ts_lines = height;
   size.ts_cols = width;
 
@@ -1793,7 +1793,7 @@ void
 reset_sys_modes ()
 {
   struct frame *sf;
-  
+
   if (noninteractive)
     {
       fflush (stdout);
@@ -1820,7 +1820,7 @@ reset_sys_modes ()
   cursor_to (FRAME_HEIGHT (sf) - 1, 0);
 #if defined (IBMR2AIX) && defined (AIXHFT)
   {
-    /* HFT devices normally use ^J as a LF/CR.  We forced it to 
+    /* HFT devices normally use ^J as a LF/CR.  We forced it to
        do the LF only.  Now, we need to reset it. */
     struct termio tty;
 
@@ -1903,13 +1903,13 @@ setup_pty (fd)
      does this.  Also it is known that telnet mode will hang
      in such a way that Emacs must be stopped (perhaps this
      is the same problem).
-     
+
      If TIOCREMOTE is turned off, then there is a bug in
      hp-ux which sometimes loses data.  Apparently the
      code which blocks the master process when the internal
      buffer fills up does not work.  Other than this,
      though, everything else seems to work fine.
-     
+
      Since the latter lossage is more benign, we may as well
      lose that way.  -- cph */
 #ifdef FIONBIO
@@ -1941,7 +1941,7 @@ void
 init_vms_input ()
 {
   int status;
-  
+
   if (input_fd == 0)
     {
       status = SYS$ASSIGN (&input_dsc, &input_fd, 0, 0);
@@ -2142,7 +2142,7 @@ sys_sleep (timeval)
   int time [2];
   static int zero = 0;
   static int large = -10000000;
-  
+
   LIB$EMUL (&timeval, &large, &zero, time);      /* Convert to VMS format */
 
   SYS$CANTIM (1, 0);
@@ -2242,7 +2242,7 @@ start_of_text ()
  *     will be patched by unexec to the correct value.
  *
  */
+
 #ifndef start_of_data
 char *
 start_of_data ()
@@ -2542,7 +2542,7 @@ sys_select (nfds, rfds, wfds, efds, timeout)
   /* Once a second, till the timer expires, check all the flagged read
    * descriptors to see if any input is available.  If there is some then
    * set the corresponding bit in the return copy of rfds.
-   */ 
+   */
   while (1)
     {
       register int to_check, fd;
@@ -2589,7 +2589,7 @@ sys_select (nfds, rfds, wfds, efds, timeout)
       signal (SIGALRM, select_alarm);
       select_alarmed = 0;
       alarm (SELECT_PAUSE);
-      
+
       /* Wait for a SIGALRM (or maybe a SIGTINT) */
       while (select_alarmed == 0 && *local_timeout != 0
             && process_tick == update_tick)
@@ -2607,10 +2607,10 @@ sys_select (nfds, rfds, wfds, efds, timeout)
            pause ();
        }
       (*local_timeout) -= SELECT_PAUSE;
-      
+
       /* Reset the old alarm if there was one.  */
       turn_on_atimers (1);
-      
+
       if (*local_timeout == 0)  /* Stop on timer being cleared */
        break;
     }
@@ -3239,10 +3239,10 @@ emacs_open (path, oflag, mode)
   register int rtnval;
 
 #ifdef BSD4_1
-  if (oflag & O_CREAT) 
+  if (oflag & O_CREAT)
     return creat (path, mode);
 #endif
-  
+
   while ((rtnval = open (path, oflag, mode)) == -1
         && (errno == EINTR));
   return (rtnval);
@@ -3275,7 +3275,7 @@ emacs_read (fildes, buf, nbyte)
      unsigned int nbyte;
 {
   register int rtnval;
-  
+
   while ((rtnval = read (fildes, buf, nbyte)) == -1
         && (errno == EINTR));
   return (rtnval);
@@ -3415,7 +3415,7 @@ dup2 (oldd, newd)
      int newd;
 {
   register int fd, ret;
-  
+
   emacs_close (newd);
 
 #ifdef F_DUPFD
@@ -3444,7 +3444,7 @@ dup2 (oldd, newd)
 #ifndef VMS
 #ifndef HAVE_GETTIMEOFDAY
 #ifdef HAVE_TIMEVAL
+
 /* ARGSUSED */
 int
 gettimeofday (tp, tzp)
@@ -3453,18 +3453,18 @@ gettimeofday (tp, tzp)
 {
   extern long time ();
 
-  tp->tv_sec = time ((long *)0);    
+  tp->tv_sec = time ((long *)0);
   tp->tv_usec = 0;
   if (tzp != 0)
     tzp->tz_minuteswest = -1;
   return 0;
 }
+
 #endif
 #endif
 #endif
 #endif /* subprocess && !HAVE_GETTIMEOFDAY && HAVE_TIMEVAL && !VMS */
-  
+
 /*
  *     This function will go away as soon as all the stubs fixed. (fnf)
  */
@@ -3831,7 +3831,7 @@ vmserrstr (status)
 
 #ifdef access
 #undef access
-  
+
 /* The following is necessary because 'access' emulation by VMS C (2.0) does
  * not work correctly.  (It also doesn't work well in version 2.3.)
  */
@@ -3872,7 +3872,7 @@ sys_access (path, mode)
    * access can treat the directory like a file.  */
   if (directory_file_name (path, dir_fn))
     path = dir_fn;
-  
+
   if (mode == F_OK)
     return access (path, mode);
   if (user == NULL && (user = (char *) getenv ("USER")) == NULL)
@@ -3886,7 +3886,7 @@ sys_access (path, mode)
     static int constant = ACL$C_FILE;
     DESCRIPTOR (path_desc, path);
     DESCRIPTOR (user_desc, user);
+
     flags = 0;
     acces = 0;
     if ((mode & X_OK) && ((stat = access (path, mode)) < 0 || mode == X_OK))
@@ -3951,7 +3951,7 @@ sys_access (filename, type)
     return access (filename, type);
 
   /* Check write protection. */
-    
+
 #define CHECKPRIV(bit)    (prvmask.bit)
 #define WRITABLE(field)  (! ((xab.xab$w_pro >> field) & XAB$M_NOWRITE))
 
@@ -4013,7 +4013,7 @@ sys_access (filename, type)
 }
 #endif /* not VMS4_4 */
 #endif /* access */
-  
+
 static char vtbuf[NAM$C_MAXRSS+1];
 
 /* translate a vms file spec to a unix path */
@@ -4054,7 +4054,7 @@ sys_translate_vms (vfile)
            *targ++ = '.';
            *targ++ = '.';
            break;
-           
+
          default:
            *targ++ = *vfile;
            break;
@@ -4147,7 +4147,7 @@ sys_translate_unix (ufile)
       ufile++;
     }
   *targ = '\0';
-  
+
   return utbuf;
 }
 
@@ -4169,7 +4169,7 @@ getwd (pathname)
     }
   strcpy (pathname, ptr);
   xfree (ptr);
-  
+
  return pathname;
 }
 
@@ -4506,7 +4506,7 @@ sys_fwrite (ptr, size, num, fp)
  * when this is not the desired behavior, for instance, when writing an
  * auto save file (you only want one version), or when you don't have
  * write permission in the directory containing the file (but the file
- * itself is writable).  Hence this routine, which is equivalent to 
+ * itself is writable).  Hence this routine, which is equivalent to
  * "close (creat (fn, 0));" on Unix if fn already exists.
  */
 int
@@ -4563,7 +4563,7 @@ get_uaf_name (uname)
   register status;
   struct FAB uaf_fab;
   struct RAB uaf_rab;
-  
+
   uaf_fab = cc$rms_fab;
   uaf_rab = cc$rms_rab;
   /* initialize fab fields */
@@ -4627,7 +4627,7 @@ get_uaf_uic (uic)
   register status;
   struct FAB uaf_fab;
   struct RAB uaf_rab;
-  
+
   uaf_fab = cc$rms_fab;
   uaf_rab = cc$rms_rab;
   /* initialize fab fields */
@@ -4920,7 +4920,7 @@ rename (from, to)
    bits).  To maintain portability, the VMS implementation of `chmod' wires
    the W and D bits together.  */
 
+
 static struct fibdef fib;      /* We need this initialized to zero */
 char vms_file_written[NAM$C_MAXRSS];
 
@@ -5088,7 +5088,7 @@ hft_init ()
 
   /* If we're not on an HFT we shouldn't do any of this.  We determine
      if we are on an HFT by trying to get an HFT error code.  If this
-     call fails, we're not on an HFT. */ 
+     call fails, we're not on an HFT. */
 #ifdef IBMR2AIX
   if (ioctl (0, HFQERROR, &junk) < 0)
     return;
index 2ea83b68b902d414e280f43975e0d1b9f6e88e1e..2a579f3ba45514f14ee49167e5a6dc6643eb5e02 100644 (file)
@@ -96,7 +96,7 @@ extern SIGMASKTYPE sigprocmask_set;
 #ifdef USG
 
 #ifndef sigunblock
-#define sigunblock(sig) 
+#define sigunblock(sig)
 #endif
 
 #else
index 12c66b4860507d2575a140f6f2f9864a7e30fd4c..d05b5a7de9af1a48e780cf15fa3e085d6621871a 100644 (file)
@@ -81,7 +81,7 @@ extern time_t timezone;
        result in DEST.  SRC should not be negative.
 
    EMACS_SUB_TIME (DEST, SRC1, SRC2) subtracts SRC2 from SRC1 and
-       stores the result in DEST.  SRC should not be negative. 
+       stores the result in DEST.  SRC should not be negative.
    EMACS_TIME_NEG_P (TIME) is true iff TIME is negative.
 
 */
index fdd1f70f4c1ca221a007b87af38b5e79c42ab9ee..39ae61be1c9526bc1d8d4b8f6dc8ef420951738a 100644 (file)
@@ -112,7 +112,7 @@ static struct sensemode {
 
 #ifdef NEED_BSDTTY
 #include <sys/bsdtty.h>
-#endif 
+#endif
 
 #if defined (HPUX) && defined (HAVE_PTYS)
 #include <sys/ptyio.h>
index f317227b7abe07d7473e5a5b4db7292d01dd1cda..9b0a6899f87ff37e9f93a24b7ad96b1a2b1ef1fb 100644 (file)
@@ -90,7 +90,7 @@ Boston, MA 02111-1307, USA.  */
 #define WCOREDUMP(w) ((w&0200) != 0)
 #endif
 
-#else 
+#else
 
 #ifdef BSD4_1
 #include <wait.h>
index 3add820421e14c3f2142e72dda91eda3bad8dd22..9fe490786eabc7f993f81ba3ddae1bb87fab2e09 100644 (file)
@@ -76,7 +76,7 @@ static void tty_hide_cursor P_ ((void));
          tputs (a, (int) (FRAME_HEIGHT (XFRAME (selected_frame))       \
                          - curY), cmputc);                             \
      } while (0)
-     
+
 #define OUTPUT1_IF(a) do { if (a) tputs (a, 1, cmputc); } while (0)
 
 /* Function to use to ring the bell.  */
@@ -203,7 +203,7 @@ void (*set_vertical_scroll_bar_hook)
 
 /* Arrange for all scroll bars on FRAME to be removed at the next call
    to `*judge_scroll_bars_hook'.  A scroll bar may be spared if
-   `*redeem_scroll_bar_hook' is applied to its window before the judgment. 
+   `*redeem_scroll_bar_hook' is applied to its window before the judgment.
 
    This should be applied to each frame each time its window tree is
    redisplayed, even if it is not displaying scroll bars at the moment;
@@ -222,7 +222,7 @@ void (*condemn_scroll_bars_hook) P_ ((FRAME_PTR frame));
 void (*redeem_scroll_bar_hook) P_ ((struct window *window));
 
 /* Remove all scroll bars on FRAME that haven't been saved since the
-   last call to `*condemn_scroll_bars_hook'.  
+   last call to `*condemn_scroll_bars_hook'.
 
    This should be applied to each frame after each time its window
    tree is redisplayed, even if it is not displaying scroll bars at the
@@ -431,7 +431,7 @@ ring_bell ()
         We don't specbind it, because that would carefully
         restore the bad value if there's an error
         and make the loop of errors happen anyway.  */
-      
+
       function = Vring_bell_function;
       Vring_bell_function = Qnil;
 
@@ -499,7 +499,7 @@ update_end (f)
     }
   else
     update_end_hook (f);
-  
+
   updating_frame = NULL;
 }
 
@@ -523,7 +523,7 @@ set_scroll_region (start, stop)
 {
   char *buf;
   struct frame *sf = XFRAME (selected_frame);
-  
+
   if (TS_set_scroll_region)
     buf = tparam (TS_set_scroll_region, 0, 0, start, stop - 1);
   else if (TS_set_scroll_region_1)
@@ -533,7 +533,7 @@ set_scroll_region (start, stop)
                  FRAME_HEIGHT (sf));
   else
     buf = tparam (TS_set_window, 0, 0, start, 0, stop, FRAME_WIDTH (sf));
-  
+
   OUTPUT (buf);
   xfree (buf);
   losecursor ();
@@ -644,7 +644,7 @@ cursor_to (vpos, hpos)
      int vpos, hpos;
 {
   struct frame *f = updating_frame ? updating_frame : XFRAME (selected_frame);
-  
+
   if (! FRAME_TERMCAP_P (f) && cursor_to_hook)
     {
       (*cursor_to_hook) (vpos, hpos);
@@ -720,7 +720,7 @@ void
 clear_frame ()
 {
   struct frame *sf = XFRAME (selected_frame);
-  
+
   if (clear_frame_hook
       && ! FRAME_TERMCAP_P ((updating_frame ? updating_frame : sf)))
     {
@@ -872,7 +872,7 @@ encode_terminal_code (src, dst, src_len, dst_len, consumed)
                  coding->src_multibyte = STRING_MULTIBYTE (tbase[g]);
                }
            }
-         
+
          result = encode_coding (coding, buf, dst, len, dst_end - dst);
          len -= coding->consumed;
          dst += coding->produced;
@@ -895,7 +895,7 @@ encode_terminal_code (src, dst, src_len, dst_len, consumed)
        }
       src++;
     }
-  
+
   *consumed = src - src_start;
   return (dst - dst_start);
 }
@@ -933,17 +933,17 @@ write_glyphs (string, len)
     return;
 
   cmplus (len);
-  
+
   /* The mode bit CODING_MODE_LAST_BLOCK should be set to 1 only at
      the tail.  */
   terminal_coding.mode &= ~CODING_MODE_LAST_BLOCK;
-  
+
   while (len > 0)
     {
       /* Identify a run of glyphs with the same face.  */
       int face_id = string->face_id;
       int n;
-      
+
       for (n = 1; n < len; ++n)
        if (string[n].face_id != face_id)
          break;
@@ -977,7 +977,7 @@ write_glyphs (string, len)
       turn_off_face (f, face_id);
       turn_off_highlight ();
     }
-  
+
   /* We may have to output some codes to terminate the writing.  */
   if (CODING_REQUIRE_FLUSHING (&terminal_coding))
     {
@@ -994,12 +994,12 @@ write_glyphs (string, len)
                    termscript);
        }
     }
-  
+
   cmcheckmagic ();
 }
 
 /* If start is zero, insert blanks instead of a string at start */
+
 void
 insert_glyphs (start, len)
      register struct glyph *start;
@@ -1087,7 +1087,7 @@ insert_glyphs (start, len)
          turn_off_highlight ();
        }
     }
-  
+
   cmcheckmagic ();
 }
 
@@ -1148,7 +1148,7 @@ ins_del_lines (vpos, n)
     }
 
   sf = XFRAME (selected_frame);
-  
+
   /* If the lines below the insertion are being pushed
      into the end of the window, this is the same as clearing;
      and we know the lines are already clear, since the matching
@@ -1462,7 +1462,7 @@ static char **term_get_fkeys_arg;
 static Lisp_Object term_get_fkeys_1 ();
 
 /* Find the escape codes sent by the function keys for Vfunction_key_map.
-   This function scans the termcap function key sequence entries, and 
+   This function scans the termcap function key sequence entries, and
    adds entries to Vfunction_key_map for each function key it finds.  */
 
 void
@@ -1567,7 +1567,7 @@ term_get_fkeys_1 ()
                         Fmake_vector (make_number (1), \
                                       intern (sym)));  \
        }
-         
+
       /* if there's no key_next keycap, map key_npage to `next' keysym */
       CONDITIONAL_REASSIGN ("%5", "kN", "next");
       /* if there's no key_prev keycap, map key_ppage to `previous' keysym */
@@ -1607,7 +1607,7 @@ static void append_glyph P_ ((struct it *));
    for which to produce glyphs; IT->face_id contains the character's
    face.  Padding glyphs are appended if IT->c has a IT->pixel_width >
    1.  */
-   
+
 static void
 append_glyph (it)
      struct it *it;
@@ -1620,8 +1620,8 @@ append_glyph (it)
           + it->glyph_row->used[it->area]);
   end = it->glyph_row->glyphs[1 + it->area];
 
-  for (i = 0; 
-       i < it->pixel_width && glyph < end; 
+  for (i = 0;
+       i < it->pixel_width && glyph < end;
        ++i)
     {
       glyph->type = CHAR_GLYPH;
@@ -1631,7 +1631,7 @@ append_glyph (it)
       glyph->padding_p = i > 0;
       glyph->charpos = CHARPOS (it->position);
       glyph->object = it->object;
-      
+
       ++it->glyph_row->used[it->area];
       ++glyph;
     }
@@ -1656,7 +1656,7 @@ append_glyph (it)
    Callers usually don't call produce_glyphs directly;
    instead they use the macro PRODUCE_GLYPHS.  */
 
-void 
+void
 produce_glyphs (it)
      struct it *it;
 {
@@ -1665,7 +1665,7 @@ produce_glyphs (it)
           || it->what == IT_COMPOSITION
           || it->what == IT_IMAGE
           || it->what == IT_STRETCH);
-  
+
   /* Nothing but characters are supported on terminal frames.  For a
      composition sequence, it->c is the first character of the
      sequence.  */
@@ -1684,8 +1684,8 @@ produce_glyphs (it)
     {
       int absolute_x = (it->current_x
                        + it->continuation_lines_width);
-      int next_tab_x 
-       = (((1 + absolute_x + it->tab_width - 1) 
+      int next_tab_x
+       = (((1 + absolute_x + it->tab_width - 1)
            / it->tab_width)
           * it->tab_width);
       int nspaces;
@@ -1696,17 +1696,17 @@ produce_glyphs (it)
         continued line.  So, we will get the right number of spaces
         here.  */
       nspaces = next_tab_x - absolute_x;
-      
+
       if (it->glyph_row)
        {
          int n = nspaces;
-         
+
          it->c = ' ';
          it->pixel_width = it->len = 1;
-         
+
          while (n--)
            append_glyph (it);
-         
+
          it->c = '\t';
        }
 
@@ -1734,12 +1734,12 @@ produce_glyphs (it)
 
       it->pixel_width = CHARSET_WIDTH (charset);
       it->nglyphs = it->pixel_width;
-      
+
       if (it->glyph_row)
        append_glyph (it);
     }
 
-  /* Advance current_x by the pixel width as a convenience for 
+  /* Advance current_x by the pixel width as a convenience for
      the caller.  */
   if (it->area == TEXT_AREA)
     it->current_x += it->pixel_width;
@@ -1760,7 +1760,7 @@ produce_special_glyphs (it, what)
      enum display_element_type what;
 {
   struct it temp_it;
-  
+
   temp_it = *it;
   temp_it.dp = NULL;
   temp_it.what = IT_CHARACTER;
@@ -1780,7 +1780,7 @@ produce_special_glyphs (it, what)
        }
       else
        temp_it.c = '\\';
-      
+
       produce_glyphs (&temp_it);
       it->pixel_width = temp_it.pixel_width;
       it->nglyphs = temp_it.pixel_width;
@@ -1797,7 +1797,7 @@ produce_special_glyphs (it, what)
        }
       else
        temp_it.c = '$';
-      
+
       produce_glyphs (&temp_it);
       it->pixel_width = temp_it.pixel_width;
       it->nglyphs = temp_it.pixel_width;
@@ -1918,7 +1918,7 @@ turn_on_face (f, face_id)
   if (TN_max_colors > 0)
     {
       char *p;
-      
+
       if (fg >= 0 && TS_set_foreground)
        {
          p = tparam (TS_set_foreground, NULL, 0, (int) fg);
@@ -1934,7 +1934,7 @@ turn_on_face (f, face_id)
        }
     }
 }
-  
+
 
 /* Turn off appearances of face FACE_ID on tty frame F.  */
 
@@ -1986,8 +1986,8 @@ turn_off_face (f, face_id)
              && face->background != FACE_TTY_DEFAULT_BG_COLOR)))
     OUTPUT1_IF (TS_orig_pair);
 }
-  
-    
+
+
 /* Return non-zero if the terminal on frame F supports all of the
    capabilities in CAPS simultaneously, with foreground and background
    colors FG and BG.  */
@@ -2316,7 +2316,7 @@ to do `unset TERMCAP' (C-shell: `unsetenv TERMCAP') as well.",
   TS_cursor_visible = tgetstr ("vs", address);
   TS_cursor_invisible = tgetstr ("vi", address);
   TS_set_window = tgetstr ("wi", address);
-  
+
   TS_enter_underline_mode = tgetstr ("us", address);
   TS_exit_underline_mode = tgetstr ("ue", address);
   TS_enter_bold_mode = tgetstr ("md", address);
@@ -2326,7 +2326,7 @@ to do `unset TERMCAP' (C-shell: `unsetenv TERMCAP') as well.",
   TS_enter_alt_charset_mode = tgetstr ("as", address);
   TS_exit_alt_charset_mode = tgetstr ("ae", address);
   TS_exit_attribute_mode = tgetstr ("me", address);
-  
+
   MultiUp = tgetstr ("UP", address);
   MultiDown = tgetstr ("DO", address);
   MultiLeft = tgetstr ("LE", address);
@@ -2346,10 +2346,10 @@ to do `unset TERMCAP' (C-shell: `unsetenv TERMCAP') as well.",
          TS_set_foreground = tgetstr ("Sf", address);
          TS_set_background = tgetstr ("Sb", address);
        }
-      
+
       TN_max_colors = tgetnum ("Co");
       TN_max_pairs = tgetnum ("pa");
-      
+
       TN_no_color_video = tgetnum ("NC");
       if (TN_no_color_video == -1)
        TN_no_color_video = 0;
@@ -2387,7 +2387,7 @@ to do `unset TERMCAP' (C-shell: `unsetenv TERMCAP') as well.",
     SET_FRAME_WIDTH (sf, FRAME_WIDTH (sf));
   if (FRAME_HEIGHT (sf) <= 0)
     FRAME_HEIGHT (sf) = tgetnum ("li");
-  
+
   if (FRAME_HEIGHT (sf) < 3 || FRAME_WIDTH (sf) < 3)
     fatal ("Screen size %dx%d is too small",
           FRAME_HEIGHT (sf), FRAME_WIDTH (sf));
@@ -2414,7 +2414,7 @@ to do `unset TERMCAP' (C-shell: `unsetenv TERMCAP') as well.",
 
   if (TabWidth < 0)
     TabWidth = 8;
-  
+
 /* Turned off since /etc/termcap seems to have :ta= for most terminals
    and newer termcap doc does not seem to say there is a default.
   if (!Wcm.cm_tab)
index 443e4c6933130e37a62a558dd9a29db68d83d4ba..5a5dc7cdaf7277b516b175d765c32aa2a1f010d2 100644 (file)
@@ -162,7 +162,7 @@ extern void (*set_vertical_scroll_bar_hook)
 
 /* Arrange for all scroll bars on FRAME to be removed at the next call
    to `*judge_scroll_bars_hook'.  A scroll bar may be spared if
-   `*redeem_scroll_bar_hook' is applied to its window before the judgement. 
+   `*redeem_scroll_bar_hook' is applied to its window before the judgement.
 
    This should be applied to each frame each time its window tree is
    redisplayed, even if it is not displaying scroll bars at the moment;
@@ -179,7 +179,7 @@ extern void (*condemn_scroll_bars_hook) P_ ((struct frame *frame));
 extern void (*redeem_scroll_bar_hook) P_ ((struct window *window));
 
 /* Remove all scroll bars on FRAME that haven't been saved since the
-   last call to `*condemn_scroll_bars_hook'.  
+   last call to `*condemn_scroll_bars_hook'.
 
    This should be applied to each frame after each time its window
    tree is redisplayed, even if it is not displaying scroll bars at the
@@ -241,8 +241,8 @@ enum event_kind
                                   .timestamp gives a timestamp (in
                                   milliseconds) for the click.  */
 #if defined(WINDOWSNT) || defined(MAC_OSX)
-  MOUSE_WHEEL_EVENT,           /* A mouse-wheel event is generated 
-                                  on WINDOWSNT or MAC_OSX by a 
+  MOUSE_WHEEL_EVENT,           /* A mouse-wheel event is generated
+                                  on WINDOWSNT or MAC_OSX by a
                                   wheel on a mouse (e.g., MS Intellimouse).
                                   The event contains a delta that corresponds
                                   to the amount and direction that the wheel
@@ -298,7 +298,7 @@ enum event_kind
                                   files selected outside of Emacs are dropped
                                   onto an Emacs window.
                                   Currently used only on Windows NT.
-                                  .modifiers holds the state of the 
+                                  .modifiers holds the state of the
                                   modifier keys.
                                   .x and .y give the mouse position,
                                   in characters, within the window.
@@ -346,7 +346,7 @@ struct input_event
 {
   /* What kind of event was this?  */
   enum event_kind kind;
-  
+
   /* For an ASCII_KEYSTROKE_EVENT and MULTIBYTE_CHAR_KEYSTROKE_EVENT,
      this is the character.
      For a NON_ASCII_KEYSTROKE_EVENT, this is the keysym code.
@@ -386,7 +386,7 @@ extern void (*frame_up_to_date_hook) P_ ((struct frame *));
 
 /* Bits in the modifiers member of the input_event structure.
    Note that reorder_modifiers assumes that the bits are in canonical
-   order.  
+   order.
 
    The modifiers applied to mouse clicks are rather ornate.  The
    window-system-specific code should store mouse clicks with
index 844e5f6f17542b5eca92a984395ad78406f5e60f..fb71e05b3e431d1a811bf5e33c7de222aa5cab18 100644 (file)
@@ -169,7 +169,7 @@ tparam1 (string, outstring, len, up, left, argp)
              outlen *= 2;
              new = (char *) xrealloc (outstring, outlen);
            }
-         
+
          op = new + offset;
          outend = new + outlen;
          outstring = new;
index f378ce8aae7842f1d936edd8368020104f9aff9b..fa802fe205a3a327fae44243295b8f9ccbaa2cfb 100644 (file)
@@ -81,7 +81,7 @@ record_point (pt)
   if (MODIFF <= SAVE_MODIFF)
     record_first_change ();
 
-  /* If we are just after an undo boundary, and 
+  /* If we are just after an undo boundary, and
      point wasn't at start of deleted range, record where it was.  */
   if (at_boundary
       && last_point_position != pt
@@ -175,7 +175,7 @@ record_marker_adjustment (marker, adjustment)
   if (NILP (pending_boundary))
     pending_boundary = Fcons (Qnil, Qnil);
 
-  if (!BUFFERP (last_undo_buffer) 
+  if (!BUFFERP (last_undo_buffer)
       || current_buffer != XBUFFER (last_undo_buffer))
     Fundo_boundary ();
   XSETBUFFER (last_undo_buffer, current_buffer);
@@ -312,7 +312,7 @@ truncate_undo_list (list, minsize, maxsize)
      If the first element is an undo boundary, skip past it.
 
      Skip, skip, skip the undo, skip, skip, skip the undo,
-     Skip, skip, skip the undo, skip to the undo bound'ry. 
+     Skip, skip, skip the undo, skip to the undo bound'ry.
      (Get it?  "Skip to my Loo?")  */
   if (CONSP (next) && NILP (XCAR (next)))
     {
@@ -402,7 +402,7 @@ Return what remains of the list.  */)
   Lisp_Object next;
   int count = SPECPDL_INDEX ();
   register int arg;
-  
+
 #if 0  /* This is a good feature, but would make undo-start
          unable to do what is expected.  */
   Lisp_Object tem;
index 17df5b5174ba6b4c9b5a3bd0b0fc2d2ae68c9ac5..3c629346bc02a4f3e8fea132d16fcab0c5452283 100644 (file)
@@ -175,7 +175,7 @@ int unexec (char *new_name, char *a_name,
       || unrelocate_symbols (new, a_out, a_name, new_name) < 0)
     {
       close (new);
-      return -1;       
+      return -1;
     }
 
   close (new);
@@ -358,7 +358,7 @@ make_hdr (int new, int a_out,
            s->s_scnptr += bias;
            ptr = s->s_scnptr;
          }
-  
+
        ptr = ptr + s->s_size;
       }
   }
@@ -413,7 +413,7 @@ make_hdr (int new, int a_out,
 }
 \f
 /* ****************************************************************
+
  *
  * Copy the text and data segments from memory to the new a.out
  */
@@ -589,7 +589,7 @@ unrelocate_symbols (int new, int a_out, char *a_name, char *new_name)
 #ifndef ALIGN_DATA_RELOC
   ulong d_reloc = (ulong) &_data - f_ohdr.data_start;
 #else
-  /* This worked (and was needed) before AIX 4.2. 
+  /* This worked (and was needed) before AIX 4.2.
      I have no idea why. -- Mike */
   ulong d_reloc = (ulong) &_data - ALIGN(f_ohdr.data_start, 2);
 #endif
index e4eed3922bd3a76f7075241c8e96dcd992195d79..5eada5e0d0f80905d5ab47dc8958bea839bc2ce6 100644 (file)
@@ -486,9 +486,9 @@ update_dynamic_symbols (old, new_name, new, aout)
       fprintf (stderr, "...relocated\n");
 #endif
 
-      if (rd_base[i].type == R_REFLONG) 
+      if (rd_base[i].type == R_REFLONG)
        len = 4;
-      else if (rd_base[i].type == R_REFQUAD) 
+      else if (rd_base[i].type == R_REFQUAD)
        len = 8;
       else
        fatal_unexec ("unrecognized relocation type in .dyn.rel section (symbol #%d)", (char *) i);
index 3197e21a6efb5e63e48659dc0556920e670f72bb..a040add12246fd6e0e9b1ec3ae78c5ba4bf80b54 100644 (file)
@@ -137,7 +137,7 @@ before writing it (above and beyond the number of bytes of actual
 program text).  HDR's standard fields are already correct, except that
 this adjustment to the `a_text' field has not yet been made;
 thus, the amount of offset can depend on the data in the file.
-  
+
 * A_TEXT_SEEK(HDR)
 
 If defined, this macro specifies the number of bytes to seek into the
@@ -244,7 +244,7 @@ unsigned data_start, bss_start, entry_address;
       || copy_text_and_data (new) < 0
       || copy_sym (new, a_out, a_name, new_name) < 0 ) {
        close (new);
-       return -1;      
+       return -1;
     }
 
     close (new);
index 82427568595d2a77ebc03c6a72f62816c1c440df..e6bcb635faa49c41699c77ea2bbe616ad30be228 100644 (file)
@@ -134,7 +134,7 @@ before writing it (above and beyond the number of bytes of actual
 program text).  HDR's standard fields are already correct, except that
 this adjustment to the `a_text' field has not yet been made;
 thus, the amount of offset can depend on the data in the file.
-  
+
 * A_TEXT_SEEK(HDR)
 
 If defined, this macro specifies the number of bytes to seek into the
@@ -399,7 +399,7 @@ unexec (new_name, a_name, data_start, bss_start, entry_address)
     {
       close (new);
       /* unlink (new_name);            /* Failed, unlink new a.out */
-      return -1;       
+      return -1;
     }
 
   close (new);
@@ -992,7 +992,7 @@ copy_text_and_data (new, a_out)
     char c;
     int mcount_address, mcount_offset, count;
     extern char *_execname;
-   
+
 
     /* The use of _execname is incompatible with RISCiX 1.1 */
     sprintf (command, "nm %s | fgrep mcount", _execname);
@@ -1012,7 +1012,7 @@ copy_text_and_data (new, a_out)
     {
       sprintf (errbuf, "Failed to execute the command '%s'\n", command);
       PERROR (errbuf);
-    }  
+    }
 
     sscanf(address_text, "%x", &mcount_address);
     ptr = (char *) unexec_text_start;
index 10413bd65a0b8cbc99a8528b0f7c1ba86470d34f..2121c26839faec917bc58b72406b91d476db1f16 100644 (file)
@@ -187,7 +187,7 @@ unexec (new_name, a_name, data_start, bss_start, entry_address)
   WRITE (outfd, data_org, datalen,
         "write error on %s", new_name);
 
-  for (i = 2, segpos += (2 * sizeof (struct xseg)); 
+  for (i = 2, segpos += (2 * sizeof (struct xseg));
        i < nsegs;
        i++, segpos += sizeof (struct xseg))
     {
index 686a1ed1ebb4058596cfc16dffbe76b593f76f7a..0948ccf9a181927163fd68afce176815fec9a3b4 100644 (file)
   area with the current data area.  When the new file is executed, the
   process will see the same data structures and data values that the
   original process had when unexec was called.
-  
+
   Unlike other versions of unexec, this one copies symbol table and
   debug information to the new a.out file.  Thus, the new a.out file
   may be debugged with symbolic debuggers.
-  
+
   If you fix any bugs in this, I'd like to incorporate your fixes.
   Send them to uunet!hpda!hpsemc!jmorris or jmorris%hpsemc@hplabs.HP.COM.
-  
+
   CAVEATS:
   This routine saves the current value of all static and external
   variables.  This means that any data structure that needs to be
   initialized must be explicitly reset.  Variables will not have their
   expected default values.
-  
+
   Unfortunately, the HP-UX signal handler has internal initialization
   flags which are not explicitly reset.  Thus, for signals to work in
   conjunction with this routine, the following code must executed when
   the new process starts up.
-  
+
   void _sigreturn ();
   ...
   sigsetreturn (_sigreturn);
@@ -54,7 +54,7 @@
 /* brk value to restore, stored as a global.
    This is really used only if we used shared libraries.  */
 static long brk_on_dump = 0;
-      
+
 /* Called from main, if we use shared libraries.  */
 int
 run_time_remap (ignored)
@@ -81,14 +81,14 @@ unexec (new_name, old_name, new_end_of_text, dummy1, dummy2)
   struct header hdr;
   struct som_exec_auxhdr auxhdr;
   long i;
-  
+
   /* For the greatest flexibility, should create a temporary file in
      the same directory as the new file.  When everything is complete,
      rename the temp file to the new name.
      This way, a program could update its own a.out file even while
      it is still executing.  If problems occur, everything is still
      intact.  NOT implemented.  */
-  
+
   /* Open the input and output a.out files */
   old = open (old_name, O_RDONLY);
   if (old < 0)
@@ -96,36 +96,36 @@ unexec (new_name, old_name, new_end_of_text, dummy1, dummy2)
   new = open (new_name, O_CREAT|O_RDWR|O_TRUNC, 0777);
   if (new < 0)
     { perror (new_name); exit (1); }
-  
+
   /* Read the old headers */
   read_header (old, &hdr, &auxhdr);
 
   brk_on_dump = (long) sbrk (0);
-  
+
   /* Decide how large the new and old data areas are */
   old_size = auxhdr.exec_dsize;
   /* I suspect these two statements are separate
      to avoid a compiler bug in hpux version 8.  */
   i = (long) sbrk (0);
   new_size = i - auxhdr.exec_dmem;
-  
+
   /* Copy the old file to the new, up to the data space */
   lseek (old, 0, 0);
   copy_file (old, new, auxhdr.exec_dfile);
-  
+
   /* Skip the old data segment and write a new one */
   lseek (old, old_size, 1);
   save_data_space (new, &hdr, &auxhdr, new_size);
-  
+
   /* Copy the rest of the file */
   copy_rest (old, new);
-  
+
   /* Update file pointers since we probably changed size of data area */
   update_file_ptrs (new, &hdr, &auxhdr, auxhdr.exec_dfile, new_size-old_size);
-  
+
   /* Save the modified header */
   write_header (new, &hdr, &auxhdr);
-  
+
   /* Close the binary file */
   close (old);
   close (new);
@@ -143,7 +143,7 @@ save_data_space (file, hdr, auxhdr, size)
   /* Write the entire data space out to the file */
   if (write (file, auxhdr->exec_dmem, size) != size)
     { perror ("Can't save new data space"); exit (1); }
-  
+
   /* Update the header to reflect the new data size */
   auxhdr->exec_dsize = size;
   auxhdr->exec_bsize = 0;
@@ -160,10 +160,10 @@ update_file_ptrs (file, hdr, auxhdr, location, offset)
 {
   struct subspace_dictionary_record subspace;
   int i;
-  
+
   /* Increase the overall size of the module */
   hdr->som_length += offset;
-  
+
   /* Update the various file pointers in the header */
 #define update(ptr) if (ptr > location) ptr = ptr + offset
   update (hdr->aux_header_location);
@@ -176,16 +176,16 @@ update_file_ptrs (file, hdr, auxhdr, location, offset)
   update (hdr->unloadable_sp_location);
   update (auxhdr->exec_tfile);
   update (auxhdr->exec_dfile);
-  
+
   /* Do for each subspace dictionary entry */
   lseek (file, hdr->subspace_location, 0);
   for (i = 0; i < hdr->subspace_total; i++)
     {
       if (read (file, &subspace, sizeof (subspace)) != sizeof (subspace))
        { perror ("Can't read subspace record"); exit (1); }
-      
+
       /* If subspace has a file location, update it */
-      if (subspace.initialization_length > 0 
+      if (subspace.initialization_length > 0
          && subspace.file_loc_init_value > location)
        {
          subspace.file_loc_init_value += offset;
@@ -193,8 +193,8 @@ update_file_ptrs (file, hdr, auxhdr, location, offset)
          if (write (file, &subspace, sizeof (subspace)) != sizeof (subspace))
            { perror ("Can't update subspace record"); exit (1); }
        }
-    } 
-  
+    }
+
   /* Do for each initialization pointer record */
   /* (I don't think it applies to executable files, only relocatables) */
 #undef update
@@ -207,25 +207,25 @@ read_header (file, hdr, auxhdr)
      struct header *hdr;
      struct som_exec_auxhdr *auxhdr;
 {
-  
+
   /* Read the header in */
   lseek (file, 0, 0);
   if (read (file, hdr, sizeof (*hdr)) != sizeof (*hdr))
     { perror ("Couldn't read header from a.out file"); exit (1); }
-  
+
   if (hdr->a_magic != EXEC_MAGIC && hdr->a_magic != SHARE_MAGIC
       &&  hdr->a_magic != DEMAND_MAGIC)
     {
-      fprintf (stderr, "a.out file doesn't have legal magic number\n"); 
-      exit (1);  
+      fprintf (stderr, "a.out file doesn't have legal magic number\n");
+      exit (1);
     }
-  
+
   lseek (file, hdr->aux_header_location, 0);
   if (read (file, auxhdr, sizeof (*auxhdr)) != sizeof (*auxhdr))
     {
       perror ("Couldn't read auxiliary header from a.out file");
       exit (1);
-    }  
+    }
 }
 
 /* Write out the header records into an a.out file.  */
@@ -237,7 +237,7 @@ write_header (file, hdr, auxhdr)
 {
   /* Update the checksum */
   hdr->checksum = calculate_checksum (hdr);
-  
+
   /* Write the header back into the a.out file */
   lseek (file, 0, 0);
   if (write (file, hdr, sizeof (*hdr)) != sizeof (*hdr))
@@ -253,12 +253,12 @@ calculate_checksum (hdr)
      struct header *hdr;
 {
   int checksum, i, *ptr;
-  
+
   checksum = 0;  ptr = (int *) hdr;
-  
+
   for (i = 0; i < sizeof (*hdr) / sizeof (int) - 1; i++)
     checksum ^= ptr[i];
-  
+
   return (checksum);
 }
 
@@ -270,7 +270,7 @@ copy_file (old, new, size)
 {
   int len;
   int buffer[8192];  /* word aligned will be faster */
-  
+
   for (; size > 0; size -= len)
     {
       len = min (size, sizeof (buffer));
@@ -288,11 +288,11 @@ copy_rest (old, new)
 {
   int buffer[4096];
   int len;
-  
+
   /* Copy bytes until end of file or error */
   while ((len = read (old, buffer, sizeof (buffer))) > 0)
     if (write (new, buffer, len) != len) break;
-  
+
   if (len != 0)
     { perror ("Unable to copy the rest of the file"); exit (1); }
 }
@@ -304,7 +304,7 @@ display_header (hdr, auxhdr)
 {
   /* Display the header information (debug) */
   printf ("\n\nFILE HEADER\n");
-  printf ("magic number %d \n", hdr->a_magic); 
+  printf ("magic number %d \n", hdr->a_magic);
   printf ("text loc %.8x   size %d \n", auxhdr->exec_tmem, auxhdr->exec_tsize);
   printf ("data loc %.8x   size %d \n", auxhdr->exec_dmem, auxhdr->exec_dsize);
   printf ("entry     %x \n",   auxhdr->exec_entry);
index 03aafd2912a8e1825427cd11fb5eebb9749f9eff..4f1c29b1ef8888c54514f0b787d4bb6a7f70c044 100644 (file)
@@ -276,7 +276,7 @@ print_regions ()
 
       if (object_name != MACH_PORT_NULL)
        mach_port_deallocate (target_task, object_name);
-      
+
       address += size;
     }
 }
@@ -329,15 +329,15 @@ build_region_list ()
       else
        {
          r = (struct region_t *) malloc (sizeof (struct region_t));
-         
+
          if (!r)
            unexec_error ("cannot allocate region structure");
-         
+
          r->address = address;
          r->size = size;
          r->protection = info.protection;
          r->max_protection = info.max_protection;
-         
+
          r->next = 0;
          if (region_list_head == 0)
            {
@@ -349,13 +349,13 @@ build_region_list ()
              region_list_tail->next = r;
              region_list_tail = r;
            }
-         
+
          /* Deallocate (unused) object name returned by
             vm_region.  */
          if (object_name != MACH_PORT_NULL)
            mach_port_deallocate (target_task, object_name);
        }
-      
+
       address += size;
     }
 
@@ -498,7 +498,7 @@ read_load_commands ()
 
   nlc = mh.ncmds;
   lca = (struct load_command **) malloc (nlc * sizeof (struct load_command *));
-  
+
   for (i = 0; i < nlc; i++)
     {
       struct load_command lc;
@@ -513,7 +513,7 @@ read_load_commands ()
       if (lc.cmd == LC_SEGMENT)
        {
          struct segment_command *scp = (struct segment_command *) lca[i];
-         
+
          if (scp->vmaddr + scp->vmsize > infile_lc_highest_addr)
            infile_lc_highest_addr = scp->vmaddr + scp->vmsize;
 
@@ -647,7 +647,7 @@ copy_data_segment (struct load_command *lc)
        }
       else
        unexec_error ("unrecognized section name in __DATA segment");
-      
+
       printf ("        section %-16.16s at %#8x - %#8x (sz: %#8x)\n",
              sectp->sectname, sectp->offset, sectp->offset + sectp->size,
              sectp->size);
@@ -675,7 +675,7 @@ copy_data_segment (struct load_command *lc)
   for (j = 0; j < num_unexec_regions; j++)
     {
       struct segment_command sc;
-      
+
       sc.cmd = LC_SEGMENT;
       sc.cmdsize = sizeof (struct segment_command);
       strncpy (sc.segname, SEG_DATA, 16);
@@ -687,7 +687,7 @@ copy_data_segment (struct load_command *lc)
       sc.initprot = VM_PROT_READ | VM_PROT_WRITE;
       sc.nsects = 0;
       sc.flags = 0;
-      
+
       printf ("Writing segment %-16.16s at %#8x - %#8x (sz: %#8x)\n",
              sc.segname, sc.fileoff, sc.fileoff + sc.filesize,
              sc.filesize);
@@ -696,7 +696,7 @@ copy_data_segment (struct load_command *lc)
        unexec_error ("cannot write new __DATA segment");
       delta += sc.filesize;
       file_offset += sc.filesize;
-      
+
       if (!unexec_write (curr_header_offset, &sc, sc.cmdsize))
        unexec_error ("cannot write new __DATA segment's header");
       curr_header_offset += sc.cmdsize;
@@ -850,7 +850,7 @@ unexec (char *outfile, char *infile, void *start_data, void *start_bss,
     {
       unexec_error ("cannot open input file `%s'", infile);
     }
-        
+
   outfd = open (outfile, O_WRONLY | O_TRUNC | O_CREAT, 0755);
   if (outfd < 0)
     {
index f17dd8e9ee7325154c96c3b385220f400870db0d..649d0e0226f2526b47f9ca4e09dcdbb7900ae00e 100644 (file)
@@ -44,7 +44,7 @@ int malloc_cookie;
  * pages it vm_allocated and write only those out into the data segment.
  *
  * This kludge may break when we stop using fixed virtual address
- * shared libraries. Actually, emacs will probably continue working, but be 
+ * shared libraries. Actually, emacs will probably continue working, but be
  * much larger on disk than it needs to be (because non-malloced data will
  * be in the file).
  */
@@ -73,7 +73,7 @@ grow(
                *the_commands = malloc(sizeof(*the_commands));
        } else {
                (*the_commands_len)++;
-               *the_commands = realloc(*the_commands, 
+               *the_commands = realloc(*the_commands,
                                        (*the_commands_len *
                                         sizeof(**the_commands)));
        }
@@ -125,7 +125,7 @@ read_macho(
                return (0);
        }
        for (i = 0; i < the_header->ncmds; i++) {
-               if (read(fd, &command, sizeof(struct load_command)) != 
+               if (read(fd, &command, sizeof(struct load_command)) !=
                    sizeof(struct load_command)) {
                        fatal_unexec("cannot read macho load command header");
                        return (0);
@@ -138,8 +138,8 @@ read_macho(
                buf = malloc(command.cmdsize);
                buf->cmd = command.cmd;
                buf->cmdsize = command.cmdsize;
-               if (read(fd, ((char *)buf + 
-                             sizeof(struct load_command)), 
+               if (read(fd, ((char *)buf +
+                             sizeof(struct load_command)),
                         size) != size) {
                        fatal_unexec("cannot read load command data");
                        return (0);
@@ -184,31 +184,31 @@ get_data_region(
        region.address = 0;
        *address = 0;
        for (;;) {
-               ret = vm_region(task_self(), 
-                               &region.address, 
-                               &region.size, 
-                               &region.protection, 
-                               &region.max_protection, 
+               ret = vm_region(task_self(),
+                               &region.address,
+                               &region.size,
+                               &region.protection,
+                               &region.max_protection,
                                &region.inheritance,
-                               &region.shared, 
-                               &region.object_name, 
+                               &region.shared,
+                               &region.object_name,
                                &region.offset);
                if (ret != KERN_SUCCESS || region.address >= VM_HIGHDATA) {
                        break;
                }
                if (*address != 0) {
                        if (region.address > *address + *size) {
-                               if (!filldatagap(*address, size, 
+                               if (!filldatagap(*address, size,
                                                 region.address)) {
                                        return (0);
                                }
-                       } 
+                       }
                        *size += region.size;
                } else {
                        if (region.address == sect->addr) {
                                *address = region.address;
                                *size = region.size;
-                       } 
+                       }
                }
                region.address += region.size;
        }
@@ -293,7 +293,7 @@ unexec_doit(
                                if (strcmp(segment->segname, SEG_DATA) == 0) {
                                        fdatastart = segment->fileoff;
                                        fdatasize = segment->filesize;
-                                       fgrowth = (data_size - 
+                                       fgrowth = (data_size -
                                                   segment->filesize);
                                        segment->vmsize = data_size;
                                        segment->filesize = data_size;
@@ -332,37 +332,37 @@ unexec_doit(
                                break;
                        }
                }
-               
+
                /*
                 * Write header
                 */
-               if (write(outfd, &the_header, 
+               if (write(outfd, &the_header,
                          sizeof(the_header)) != sizeof(the_header)) {
                        fatal_unexec("cannot write output file");
                        return (0);
                }
-               
+
                /*
                 * Write commands
                 */
                for (i = 0; i < the_commands_len; i++) {
-                       if (write(outfd, the_commands[i], 
-                                 the_commands[i]->cmdsize) != 
+                       if (write(outfd, the_commands[i],
+                                 the_commands[i]->cmdsize) !=
                            the_commands[i]->cmdsize) {
                                fatal_unexec("cannot write output file");
                                return (0);
                        }
                }
-               
+
                /*
                 * Write original text
                 */
-               if (lseek(infd, the_header.sizeofcmds + sizeof(the_header), 
+               if (lseek(infd, the_header.sizeofcmds + sizeof(the_header),
                          L_SET) < 0) {
                        fatal_unexec("cannot seek input file");
                        return (0);
                }
-               size = fdatastart - (sizeof(the_header) + 
+               size = fdatastart - (sizeof(the_header) +
                                     the_header.sizeofcmds);
                buf = my_malloc(size);
                if (read(infd, buf, size) != size) {
@@ -375,17 +375,17 @@ unexec_doit(
                        return (0);
                }
                my_free(buf, size);
-               
-               
+
+
                /*
                 * Write new data
                 */
-               if (write(outfd, (char *)data_address, 
+               if (write(outfd, (char *)data_address,
                          data_size) != data_size) {
                        fatal_unexec("cannot write output file");
                        return (0);
                }
-               
+
        }
 
        /*
@@ -424,7 +424,7 @@ unexec_doit(
                fatal_unexec("cannot seek input file");
                return (0);
        }
-        
+
         for (i = 0; i < nextrel; i++)
         {
           long zeroval = 0;
@@ -482,7 +482,7 @@ unexec(
                fatal_unexec("cannot open input file `%s'", infile);
                exit(1);
        }
-       
+
        tmpnam(tmpbuf);
        tmpfile = rindex(tmpbuf, '/');
        if (tmpfile == NULL) {
index c819b0b7938fc167fc4c98c171d81ed18bee4bab..c9abec07e17da2f0ac8ce4a3262a8b1753f884b0 100644 (file)
@@ -90,24 +90,24 @@ what you give them.   Help stamp out software-hoarding!  */
  * is made the last in the table to avoid changing any existing index.
  */
 
-/* Modified by wtien@urbana.mcd.mot.com of Motorola Inc. 
- * 
+/* Modified by wtien@urbana.mcd.mot.com of Motorola Inc.
+ *
  * The above mechanism does not work if the unexeced ELF file is being
- * re-layout by other applications (such as `strip'). All the applications 
+ * re-layout by other applications (such as `strip'). All the applications
  * that re-layout the internal of ELF will layout all sections in ascending
- * order of their file offsets. After the re-layout, the data2 section will 
- * still be the LAST section in the section header vector, but its file offset 
+ * order of their file offsets. After the re-layout, the data2 section will
+ * still be the LAST section in the section header vector, but its file offset
  * is now being pushed far away down, and causes part of it not to be mapped
- * in (ie. not covered by the load segment entry in PHDR vector), therefore 
+ * in (ie. not covered by the load segment entry in PHDR vector), therefore
  * causes the new binary to fail.
  *
  * The solution is to modify the unexec algorithm to insert the new data2
  * section header right before the new bss section header, so their file
- * offsets will be in the ascending order. Since some of the section's (all 
- * sections AFTER the bss section) indexes are now changed, we also need to 
- * modify some fields to make them point to the right sections. This is done 
+ * offsets will be in the ascending order. Since some of the section's (all
+ * sections AFTER the bss section) indexes are now changed, we also need to
+ * modify some fields to make them point to the right sections. This is done
  * by macro PATCH_INDEX. All the fields that need to be patched are:
- * 
+ *
  * 1. ELF header e_shstrndx field.
  * 2. section header sh_link and sh_info field.
  * 3. symbol table entry st_shndx field.
@@ -124,7 +124,7 @@ what you give them.   Help stamp out software-hoarding!  */
  *
  * /home1/marco/emacs/emacs-19.22/src
  * dump -hv temacs
- * 
+ *
  * temacs:
  *
  *        **** SECTION HEADER TABLE ****
@@ -132,83 +132,83 @@ what you give them.   Help stamp out software-hoarding!  */
  *     Link    Info    Adralgn      Entsize
  *
  * [1] PBIT    -A--    0x4000f4     0xf4         0x13          .interp
- *     0       0       0x1          0            
+ *     0       0       0x1          0
  *
  * [2] REGI    -A--    0x400108     0x108        0x18          .reginfo
- *     0       0       0x4          0x18         
+ *     0       0       0x4          0x18
  *
  * [3] DYNM    -A--    0x400120     0x120        0xb8          .dynamic
- *     6       0       0x4          0x8          
+ *     6       0       0x4          0x8
  *
  * [4] HASH    -A--    0x4001d8     0x1d8        0x8a0         .hash
- *     5       0       0x4          0x4          
+ *     5       0       0x4          0x4
  *
  * [5] DYNS    -A--    0x400a78     0xa78        0x11f0        .dynsym
- *     6       2       0x4          0x10         
+ *     6       2       0x4          0x10
  *
  * [6] STRT    -A--    0x401c68     0x1c68       0xbf9         .dynstr
- *     0       0       0x1          0            
+ *     0       0       0x1          0
  *
  * [7] REL     -A--    0x402864     0x2864       0x18          .rel.dyn
- *     5       14      0x4          0x8          
+ *     5       14      0x4          0x8
  *
  * [8] PBIT    -AI-    0x402880     0x2880       0x60          .init
- *     0       0       0x10         0x1          
+ *     0       0       0x10         0x1
  *
  * [9] PBIT    -AI-    0x4028e0     0x28e0       0x1234        .plt
- *     0       0       0x4          0x4          
+ *     0       0       0x4          0x4
  *
  * [10]        PBIT    -AI-    0x403b20     0x3b20       0xee400       .text
- *     0       0       0x20         0x1          
+ *     0       0       0x20         0x1
  *
  * [11]        PBIT    -AI-    0x4f1f20     0xf1f20      0x60          .fini
- *     0       0       0x10         0x1          
+ *     0       0       0x10         0x1
  *
  * [12]        PBIT    -A--    0x4f1f80     0xf1f80      0xd90         .rdata
- *     0       0       0x10         0x1          
+ *     0       0       0x10         0x1
  *
  * [13]        PBIT    -A--    0x4f2d10     0xf2d10      0x17e0        .rodata
- *     0       0       0x10         0x1          
+ *     0       0       0x10         0x1
  *
  * [14]        PBIT    WA--    0x5344f0     0xf44f0      0x4b3e4       .data  <<<<<
- *     0       0       0x10         0x1          
+ *     0       0       0x10         0x1
  *
  * [15]        PBIT    WA-G    0x57f8d4     0x13f8d4     0x2a84        .got
- *     0       0       0x4          0x4          
+ *     0       0       0x4          0x4
  *
  * [16]        PBIT    WA-G    0x582360     0x142360     0x10          .sdata <<<<<
- *     0       0       0x10         0x1          
+ *     0       0       0x10         0x1
  *
  * [17]        NOBI    WA-G    0x582370     0x142370     0xb84         .sbss  <<<<<
- *     0       0       0x4          0            
+ *     0       0       0x4          0
  *
  * [18]        NOBI    WA--    0x582f00     0x142370     0x27ec0       .bss   <<<<<
- *     0       0       0x10         0x1          
+ *     0       0       0x10         0x1
  *
  * [19]        SYMT    ----    0            0x142370     0x10e40       .symtab
- *     20      1108    0x4          0x10         
+ *     20      1108    0x4          0x10
  *
  * [20]        STRT    ----    0            0x1531b0     0xed9e        .strtab
- *     0       0       0x1          0            
+ *     0       0       0x1          0
  *
  * [21]        STRT    ----    0            0x161f4e     0xb5          .shstrtab
- *     0       0       0x1          0            
+ *     0       0       0x1          0
  *
  * [22]        PBIT    ----    0            0x162003     0x28e2a       .comment
- *     0       0       0x1          0x1          
+ *     0       0       0x1          0x1
  *
  * [23]        PBIT    ----    0            0x18ae2d     0x592         .debug
- *     0       0       0x1          0            
+ *     0       0       0x1          0
  *
  * [24]        PBIT    ----    0            0x18b3bf     0x80          .line
- *     0       0       0x1          0            
+ *     0       0       0x1          0
  *
  * [25]        MDBG    ----    0            0x18b440     0x60          .mdebug
- *     0       0       0x4          0            
+ *     0       0       0x4          0
  *
  *
  * dump -hv emacs
- * 
+ *
  * emacs:
  *
  *        **** SECTION HEADER TABLE ****
@@ -216,82 +216,82 @@ what you give them.   Help stamp out software-hoarding!  */
  *     Link    Info    Adralgn      Entsize
  *
  * [1] PBIT    -A--    0x4000f4     0xf4         0x13          .interp
- *     0       0       0x1          0            
+ *     0       0       0x1          0
  *
  * [2] REGI    -A--    0x400108     0x108        0x18          .reginfo
- *     0       0       0x4          0x18         
+ *     0       0       0x4          0x18
  *
  * [3] DYNM    -A--    0x400120     0x120        0xb8          .dynamic
- *     6       0       0x4          0x8          
+ *     6       0       0x4          0x8
  *
  * [4] HASH    -A--    0x4001d8     0x1d8        0x8a0         .hash
- *     5       0       0x4          0x4          
+ *     5       0       0x4          0x4
  *
  * [5] DYNS    -A--    0x400a78     0xa78        0x11f0        .dynsym
- *     6       2       0x4          0x10         
+ *     6       2       0x4          0x10
  *
  * [6] STRT    -A--    0x401c68     0x1c68       0xbf9         .dynstr
- *     0       0       0x1          0            
+ *     0       0       0x1          0
  *
  * [7] REL     -A--    0x402864     0x2864       0x18          .rel.dyn
- *     5       14      0x4          0x8          
+ *     5       14      0x4          0x8
  *
  * [8] PBIT    -AI-    0x402880     0x2880       0x60          .init
- *     0       0       0x10         0x1          
+ *     0       0       0x10         0x1
  *
  * [9] PBIT    -AI-    0x4028e0     0x28e0       0x1234        .plt
- *     0       0       0x4          0x4          
+ *     0       0       0x4          0x4
  *
  * [10]        PBIT    -AI-    0x403b20     0x3b20       0xee400       .text
- *     0       0       0x20         0x1          
+ *     0       0       0x20         0x1
  *
  * [11]        PBIT    -AI-    0x4f1f20     0xf1f20      0x60          .fini
- *     0       0       0x10         0x1          
+ *     0       0       0x10         0x1
  *
  * [12]        PBIT    -A--    0x4f1f80     0xf1f80      0xd90         .rdata
- *     0       0       0x10         0x1          
+ *     0       0       0x10         0x1
  *
  * [13]        PBIT    -A--    0x4f2d10     0xf2d10      0x17e0        .rodata
- *     0       0       0x10         0x1          
+ *     0       0       0x10         0x1
  *
  * [14]        PBIT    WA--    0x5344f0     0xf44f0      0x4b3e4       .data  <<<<<
- *     0       0       0x10         0x1          
+ *     0       0       0x10         0x1
  *
  * [15]        PBIT    WA-G    0x57f8d4     0x13f8d4     0x2a84        .got
- *     0       0       0x4          0x4          
+ *     0       0       0x4          0x4
  *
  * [16]        PBIT    WA-G    0x582360     0x142360     0xb94         .sdata <<<<<
- *     0       0       0x10         0x1          
+ *     0       0       0x10         0x1
  *
  * [17]        PBIT    WA--    0x582f00     0x142f00     0x94100       .data  <<<<<
- *     0       0       0x10         0x1          
+ *     0       0       0x10         0x1
  *
  * [18]        NOBI    WA-G    0x617000     0x1d7000     0             .sbss  <<<<<
- *     0       0       0x4          0            
+ *     0       0       0x4          0
  *
  * [19]        NOBI    WA--    0x617000     0x1d7000     0             .bss   <<<<<
- *     0       0       0x4          0x1          
+ *     0       0       0x4          0x1
  *
  * [20]        SYMT    ----    0            0x1d7000     0x10e40       .symtab
- *     21      1109    0x4          0x10         
+ *     21      1109    0x4          0x10
  *
  * [21]        STRT    ----    0            0x1e7e40     0xed9e        .strtab
- *     0       0       0x1          0            
+ *     0       0       0x1          0
  *
  * [22]        STRT    ----    0            0x1f6bde     0xb5          .shstrtab
- *     0       0       0x1          0            
+ *     0       0       0x1          0
  *
  * [23]        PBIT    ----    0            0x1f6c93     0x28e2a       .comment
- *     0       0       0x1          0x1          
+ *     0       0       0x1          0x1
  *
  * [24]        PBIT    ----    0            0x21fabd     0x592         .debug
- *     0       0       0x1          0            
+ *     0       0       0x1          0
  *
  * [25]        PBIT    ----    0            0x22004f     0x80          .line
- *     0       0       0x1          0            
+ *     0       0       0x1          0
  *
  * [26]        MDBG    ----    0            0x2200d0     0x60          .mdebug
- *     0       0       0x4          0            
+ *     0       0       0x4          0
  *
  */
 \f
@@ -450,7 +450,7 @@ unexec (new_name, old_name, data_start, bss_start, entry_address)
     {
       old_sdata_index = old_sbss_index - 1;
     }
-  
+
 
   /* Find the old .bss section.
    */
@@ -683,7 +683,7 @@ unexec (new_name, old_name, data_start, bss_start, entry_address)
   if (old_data_index == old_file_h->e_shnum)
     fatal ("Can't find .data in %s.\n", old_name, 0);
 
-  /* Walk through all section headers, insert the new data2 section right 
+  /* Walk through all section headers, insert the new data2 section right
      before the new bss section. */
   for (n = 1, nn = 1; n < old_file_h->e_shnum; n++, nn++)
     {
@@ -698,7 +698,7 @@ unexec (new_name, old_name, data_start, bss_start, entry_address)
            {
            memcpy (&NEW_SECTION_H(nn), &OLD_SECTION_H(old_data_index),
                    new_file_h->e_shentsize);
-         
+
            NEW_SECTION_H(nn).sh_addr = new_data3_addr;
            NEW_SECTION_H(nn).sh_offset = new_data3_offset;
            NEW_SECTION_H(nn).sh_size = new_data3_size;
@@ -709,8 +709,8 @@ unexec (new_name, old_name, data_start, bss_start, entry_address)
            NEW_SECTION_H(nn).sh_addralign = OLD_SECTION_H(n).sh_addralign;
 
            /* Now copy over what we have in the memory now. */
-           memcpy (NEW_SECTION_H(nn).sh_offset + new_base, 
-                   (caddr_t) OLD_SECTION_H(n).sh_addr, 
+           memcpy (NEW_SECTION_H(nn).sh_offset + new_base,
+                   (caddr_t) OLD_SECTION_H(n).sh_addr,
                    new_data3_size);
                  /* the new .data2 section should also come before the
                   * new .sbss section */
@@ -721,14 +721,14 @@ unexec (new_name, old_name, data_start, bss_start, entry_address)
            /* We always have a .sdata section: append the contents of the
             * old .sbss section.
             */
-           memcpy (new_data3_offset + new_base, 
-                   (caddr_t) OLD_SECTION_H(n).sh_addr, 
+           memcpy (new_data3_offset + new_base,
+                   (caddr_t) OLD_SECTION_H(n).sh_addr,
                    new_data3_size);
            nn ++;
            }
        }
       else if (n == old_bss_index)
-      
+
       /* If it is bss section, insert the new data2 section before it. */
        {
          Elf32_Word tmp_align;
@@ -741,7 +741,7 @@ unexec (new_name, old_name, data_start, bss_start, entry_address)
          /* Steal the data section header for this data2 section. */
          memcpy (&NEW_SECTION_H(nn), &OLD_SECTION_H(old_data_index),
                  new_file_h->e_shentsize);
-         
+
          NEW_SECTION_H(nn).sh_addr = new_data2_addr;
          NEW_SECTION_H(nn).sh_offset = new_data2_offset;
          NEW_SECTION_H(nn).sh_size = new_data2_size;
@@ -751,14 +751,14 @@ unexec (new_name, old_name, data_start, bss_start, entry_address)
          NEW_SECTION_H(nn).sh_addralign = tmp_align;
 
          /* Now copy over what we have in the memory now. */
-         memcpy (NEW_SECTION_H(nn).sh_offset + new_base, 
+         memcpy (NEW_SECTION_H(nn).sh_offset + new_base,
                  (caddr_t) tmp_addr, new_data2_size);
          nn += 2;
        }
-      
-      memcpy (&NEW_SECTION_H(nn), &OLD_SECTION_H(n), 
+
+      memcpy (&NEW_SECTION_H(nn), &OLD_SECTION_H(n),
              old_file_h->e_shentsize);
-      
+
       if (old_sdata_index && n == old_sdata_index)
        /* The old .sdata section has now a new size */
        NEW_SECTION_H(nn).sh_size = new_sdata_size;
@@ -773,7 +773,7 @@ unexec (new_name, old_name, data_start, bss_start, entry_address)
          NEW_SECTION_H(nn).sh_addr += new_data2_size + new_data2_align +
            new_data3_size;
          /* Let the new bss section address alignment be the same as the
-            section address alignment followed the old bss section, so 
+            section address alignment followed the old bss section, so
             this section will be placed in exactly the same place. */
          NEW_SECTION_H(nn).sh_addralign =
            OLD_SECTION_H(nn + (old_sdata_index ? 1 : 0)).sh_addralign;
@@ -786,7 +786,7 @@ unexec (new_name, old_name, data_start, bss_start, entry_address)
            new_data3_size - old_bss_padding;
          NEW_SECTION_H(nn).sh_addr += new_data2_size;
          /* Let the new bss section address alignment be the same as the
-            section address alignment followed the old bss section, so 
+            section address alignment followed the old bss section, so
             this section will be placed in exactly the same place. */
          NEW_SECTION_H(nn).sh_addralign =
            OLD_SECTION_H((nn - (old_sdata_index ? 0 : 1))).sh_addralign;
@@ -799,19 +799,19 @@ unexec (new_name, old_name, data_start, bss_start, entry_address)
                                       new_data2_align +
                                       new_data3_size -
                                       old_bss_padding;
-      
+
       /* If any section hdr refers to the section after the new .data
-        section, make it refer to next one because we have inserted 
+        section, make it refer to next one because we have inserted
         a new section in between. */
-      
+
       PATCH_INDEX(NEW_SECTION_H(nn).sh_link);
       PATCH_INDEX(NEW_SECTION_H(nn).sh_info);
-      
+
       /* Now, start to copy the content of sections. */
       if (NEW_SECTION_H(nn).sh_type == SHT_NULL
          || NEW_SECTION_H(nn).sh_type == SHT_NOBITS)
        continue;
-      
+
       /* Write out the sections. .data, .data1 and .sdata get copied from
        * the current process instead of the old file.
        */
@@ -821,7 +821,7 @@ unexec (new_name, old_name, data_start, bss_start, entry_address)
        src = (caddr_t) OLD_SECTION_H(n).sh_addr;
       else
        src = old_base + OLD_SECTION_H(n).sh_offset;
-      
+
       memcpy (NEW_SECTION_H(nn).sh_offset + new_base, src,
              ((n == old_sdata_index) ?
               old_sdata_size :
@@ -833,7 +833,7 @@ unexec (new_name, old_name, data_start, bss_start, entry_address)
        {
          Elf32_Shdr *spt = &NEW_SECTION_H(nn);
          unsigned int num = spt->sh_size / spt->sh_entsize;
-         Elf32_Sym * sym = (Elf32_Sym *) (NEW_SECTION_H(nn).sh_offset + 
+         Elf32_Sym * sym = (Elf32_Sym *) (NEW_SECTION_H(nn).sh_offset +
                                           new_base);
          for (; num--; sym++)
            {
@@ -841,7 +841,7 @@ unexec (new_name, old_name, data_start, bss_start, entry_address)
                  || (sym->st_shndx == SHN_ABS)
                  || (sym->st_shndx == SHN_COMMON))
                continue;
-       
+
              PATCH_INDEX(sym->st_shndx);
            }
        }
index 76480db9b333941641aa6fcba3e7f13338f40b20..6ceab884a99335723163e7498b77649d359336ed 100644 (file)
@@ -98,7 +98,7 @@ static int rd_only_len;
 static long cookie;
 
 
-unexec (new_name, a_name, bndry, bss_start, entry) 
+unexec (new_name, a_name, bndry, bss_start, entry)
      char *new_name, *a_name;
      unsigned bndry, bss_start, entry;
 {
@@ -163,7 +163,7 @@ unexec (new_name, a_name, bndry, bss_start, entry)
   /* Have to do this some time before dumping the data */
   initialized = 1;
 #endif
-  
+
   /* Handle new data and bss sizes and optional new entry point.
      No one actually uses bss_start and entry,  but tradition compels
      one to support them.
@@ -171,7 +171,7 @@ unexec (new_name, a_name, bndry, bss_start, entry)
      but the caller is *supposed* to know what she is doing.  */
   nhdr.a_data = (bss_start ? bss_start : brk_value) - N_DATADDR (nhdr);
   nhdr.a_bss  = bss_start ? brk_value - bss_start : 0;
-  if (entry) 
+  if (entry)
     nhdr.a_entry = entry;
 
   /*
@@ -296,14 +296,14 @@ run_time_remap (progname)
    * First try argv[0],  will almost always succeed as shells tend to give
    * the full path from the hash list rather than using execvp ()
    */
-  if (is_it (progname)) 
+  if (is_it (progname))
     return;
 
   /*
    * If argv[0] is a full path and does not exist,  not much sense in
    * searching further
    */
-  if (strchr (progname, '/')) 
+  if (strchr (progname, '/'))
     return;
 
   /*
index 7b907beda6e51166e4b66d88e0d54395763245a7..60cd9517027ad1650506228d5057eee802541bb6 100644 (file)
@@ -148,17 +148,17 @@ open_input_file (file_data *p_file, char *filename)
 
   file = CreateFile (filename, GENERIC_READ, FILE_SHARE_READ, NULL,
                     OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
-  if (file == INVALID_HANDLE_VALUE) 
+  if (file == INVALID_HANDLE_VALUE)
     return FALSE;
 
   size = GetFileSize (file, &upper_size);
-  file_mapping = CreateFileMapping (file, NULL, PAGE_READONLY, 
+  file_mapping = CreateFileMapping (file, NULL, PAGE_READONLY,
                                    0, size, NULL);
-  if (!file_mapping) 
+  if (!file_mapping)
     return FALSE;
 
   file_base = MapViewOfFile (file_mapping, FILE_MAP_READ, 0, 0, size);
-  if (file_base == 0) 
+  if (file_base == 0)
     return FALSE;
 
   p_file->name = filename;
@@ -179,18 +179,18 @@ open_output_file (file_data *p_file, char *filename, unsigned long size)
 
   file = CreateFile (filename, GENERIC_READ | GENERIC_WRITE, 0, NULL,
                     CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
-  if (file == INVALID_HANDLE_VALUE) 
+  if (file == INVALID_HANDLE_VALUE)
     return FALSE;
 
-  file_mapping = CreateFileMapping (file, NULL, PAGE_READWRITE, 
+  file_mapping = CreateFileMapping (file, NULL, PAGE_READWRITE,
                                    0, size, NULL);
-  if (!file_mapping) 
+  if (!file_mapping)
     return FALSE;
-  
+
   file_base = MapViewOfFile (file_mapping, FILE_MAP_WRITE, 0, 0, size);
-  if (file_base == 0) 
+  if (file_base == 0)
     return FALSE;
-  
+
   p_file->name = filename;
   p_file->size = size;
   p_file->file = file;
@@ -345,24 +345,24 @@ get_section_info (file_data *p_infile)
   PIMAGE_NT_HEADERS nt_header;
   PIMAGE_SECTION_HEADER section;
   int overlap;
-  
+
   dos_header = (PIMAGE_DOS_HEADER) p_infile->file_base;
-  if (dos_header->e_magic != IMAGE_DOS_SIGNATURE) 
+  if (dos_header->e_magic != IMAGE_DOS_SIGNATURE)
     {
       printf ("Unknown EXE header in %s...bailing.\n", p_infile->name);
       exit (1);
     }
-  nt_header = (PIMAGE_NT_HEADERS) (((unsigned long) dos_header) + 
+  nt_header = (PIMAGE_NT_HEADERS) (((unsigned long) dos_header) +
                                   dos_header->e_lfanew);
-  if (nt_header == NULL) 
+  if (nt_header == NULL)
     {
-      printf ("Failed to find IMAGE_NT_HEADER in %s...bailing.\n", 
+      printf ("Failed to find IMAGE_NT_HEADER in %s...bailing.\n",
             p_infile->name);
       exit (1);
     }
 
   /* Check the NT header signature ...  */
-  if (nt_header->Signature != IMAGE_NT_SIGNATURE) 
+  if (nt_header->Signature != IMAGE_NT_SIGNATURE)
     {
       printf ("Invalid IMAGE_NT_SIGNATURE 0x%x in %s...bailing.\n",
              nt_header->Signature, p_infile->name);
@@ -482,7 +482,7 @@ get_section_info (file_data *p_infile)
 /* The dump routines.  */
 
 void
-copy_executable_and_dump_data (file_data *p_infile, 
+copy_executable_and_dump_data (file_data *p_infile,
                               file_data *p_outfile)
 {
   unsigned char *dst, *dst_save;
@@ -537,10 +537,10 @@ copy_executable_and_dump_data (file_data *p_infile,
      Note that dst is updated implicitly by each COPY_CHUNK.  */
 
   dos_header = (PIMAGE_DOS_HEADER) p_infile->file_base;
-  nt_header = (PIMAGE_NT_HEADERS) (((unsigned long) dos_header) + 
+  nt_header = (PIMAGE_NT_HEADERS) (((unsigned long) dos_header) +
                                   dos_header->e_lfanew);
   section = IMAGE_FIRST_SECTION (nt_header);
+
   dst = (unsigned char *) p_outfile->file_base;
 
   COPY_CHUNK ("Copying DOS header...", dos_header,
@@ -736,7 +736,7 @@ unexec (char *new_name, char *old_name, void *start_data, void *start_bss,
   if ((q = strrchr (new_name, '/')) == NULL)
     abort ();
   strcpy (p, q);
-  
+
   /* Make sure that the output filename has the ".exe" extension...patch
      it up if not.  */
   p = out_filename + strlen (out_filename) - 4;
@@ -752,7 +752,7 @@ unexec (char *new_name, char *old_name, void *start_data, void *start_bss,
   /* Open the undumped executable file.  */
   if (!open_input_file (&in_file, in_filename))
     {
-      printf ("Failed to open %s (%d)...bailing.\n", 
+      printf ("Failed to open %s (%d)...bailing.\n",
              in_filename, GetLastError ());
       exit (1);
     }
@@ -768,7 +768,7 @@ unexec (char *new_name, char *old_name, void *start_data, void *start_bss,
     extra_bss_size_static;
   if (!open_output_file (&out_file, out_filename, size))
     {
-      printf ("Failed to open %s (%d)...bailing.\n", 
+      printf ("Failed to open %s (%d)...bailing.\n",
              out_filename, GetLastError ());
       exit (1);
     }
index 721e740bd02858e2d1b3a94d6c0a05568403f2f1..c0bab2e48a40cacdbe9661ebd0640efbf96eef82 100644 (file)
@@ -76,7 +76,7 @@ check_memory_limits ()
   if (warn_function)
     switch (warnlevel)
       {
-      case 0: 
+      case 0:
        if (data_size > five_percent * 15)
          {
            warnlevel++;
@@ -84,7 +84,7 @@ check_memory_limits ()
          }
        break;
 
-      case 1: 
+      case 1:
        if (data_size > five_percent * 17)
          {
            warnlevel++;
@@ -92,7 +92,7 @@ check_memory_limits ()
          }
        break;
 
-      case 2: 
+      case 2:
        if (data_size > five_percent * 19)
          {
            warnlevel++;
index 57b0e28d0ca393c54cec97139fa0d11caf26a97a..744cc5931339437a8ce0983f76605c55c111f813 100644 (file)
--- a/src/w32.c
+++ b/src/w32.c
@@ -343,7 +343,7 @@ getwd (char *dir)
 int
 gethostname (char *buffer, int size)
 {
-  /* NT only allows small host names, so the buffer is 
+  /* NT only allows small host names, so the buffer is
      certainly large enough.  */
   return !GetComputerName (buffer, &size);
 }
@@ -356,7 +356,7 @@ getloadavg (double loadavg[], int nelem)
   int i;
 
   /* A faithful emulation is going to have to be saved for a rainy day.  */
-  for (i = 0; i < nelem; i++) 
+  for (i = 0; i < nelem; i++)
     {
       loadavg[i] = 0.0;
     }
@@ -373,7 +373,7 @@ static char the_passwd_gecos[PASSWD_FIELD_SIZE];
 static char the_passwd_dir[PASSWD_FIELD_SIZE];
 static char the_passwd_shell[PASSWD_FIELD_SIZE];
 
-static struct passwd the_passwd = 
+static struct passwd the_passwd =
 {
   the_passwd_name,
   the_passwd_passwd,
@@ -385,30 +385,30 @@ static struct passwd the_passwd =
   the_passwd_shell,
 };
 
-int 
-getuid () 
-{ 
+int
+getuid ()
+{
   return the_passwd.pw_uid;
 }
 
-int 
-geteuid () 
-{ 
+int
+geteuid ()
+{
   /* I could imagine arguing for checking to see whether the user is
      in the Administrators group and returning a UID of 0 for that
      case, but I don't know how wise that would be in the long run.  */
-  return getuid (); 
+  return getuid ();
 }
 
-int 
-getgid () 
-{ 
+int
+getgid ()
+{
   return the_passwd.pw_gid;
 }
 
-int 
-getegid () 
-{ 
+int
+getegid ()
+{
   return getgid ();
 }
 
@@ -424,7 +424,7 @@ struct passwd *
 getpwnam (char *name)
 {
   struct passwd *pw;
-  
+
   pw = getpwuid (getuid ());
   if (!pw)
     return pw;
@@ -782,57 +782,57 @@ is_unc_volume (const char *filename)
 
 /* Routines that are no-ops on NT but are defined to get Emacs to compile.  */
 
-int 
-sigsetmask (int signal_mask) 
-{ 
+int
+sigsetmask (int signal_mask)
+{
   return 0;
 }
 
-int 
-sigmask (int sig) 
-{ 
+int
+sigmask (int sig)
+{
   return 0;
 }
 
-int 
-sigblock (int sig) 
-{ 
+int
+sigblock (int sig)
+{
   return 0;
 }
 
-int 
-sigunblock (int sig) 
-{ 
+int
+sigunblock (int sig)
+{
   return 0;
 }
 
-int 
-setpgrp (int pid, int gid) 
-{ 
+int
+setpgrp (int pid, int gid)
+{
   return 0;
 }
 
-int 
-alarm (int seconds) 
-{ 
+int
+alarm (int seconds)
+{
   return 0;
 }
 
-void 
-unrequest_sigio (void) 
-{ 
+void
+unrequest_sigio (void)
+{
   return;
 }
 
 void
-request_sigio (void) 
-{ 
+request_sigio (void)
+{
   return;
 }
 
 #define REG_ROOT "SOFTWARE\\GNU\\Emacs"
 
-LPBYTE 
+LPBYTE
 w32_get_resource (key, lpdwtype)
     char *key;
     LPDWORD lpdwtype;
@@ -841,42 +841,42 @@ w32_get_resource (key, lpdwtype)
   HKEY hrootkey = NULL;
   DWORD cbData;
   BOOL ok = FALSE;
-  
-  /* Check both the current user and the local machine to see if 
+
+  /* Check both the current user and the local machine to see if
      we have any resources.  */
-  
+
   if (RegOpenKeyEx (HKEY_CURRENT_USER, REG_ROOT, 0, KEY_READ, &hrootkey) == ERROR_SUCCESS)
     {
       lpvalue = NULL;
 
-      if (RegQueryValueEx (hrootkey, key, NULL, NULL, NULL, &cbData) == ERROR_SUCCESS 
-         && (lpvalue = (LPBYTE) xmalloc (cbData)) != NULL 
+      if (RegQueryValueEx (hrootkey, key, NULL, NULL, NULL, &cbData) == ERROR_SUCCESS
+         && (lpvalue = (LPBYTE) xmalloc (cbData)) != NULL
          && RegQueryValueEx (hrootkey, key, NULL, lpdwtype, lpvalue, &cbData) == ERROR_SUCCESS)
        {
          return (lpvalue);
        }
 
       if (lpvalue) xfree (lpvalue);
-       
+
       RegCloseKey (hrootkey);
-    } 
-  
+    }
+
   if (RegOpenKeyEx (HKEY_LOCAL_MACHINE, REG_ROOT, 0, KEY_READ, &hrootkey) == ERROR_SUCCESS)
     {
       lpvalue = NULL;
-       
+
       if (RegQueryValueEx (hrootkey, key, NULL, NULL, NULL, &cbData) == ERROR_SUCCESS
          && (lpvalue = (LPBYTE) xmalloc (cbData)) != NULL
          && RegQueryValueEx (hrootkey, key, NULL, lpdwtype, lpvalue, &cbData) == ERROR_SUCCESS)
        {
          return (lpvalue);
        }
-       
+
       if (lpvalue) xfree (lpvalue);
-       
+
       RegCloseKey (hrootkey);
-    } 
-  
+    }
+
   return (NULL);
 }
 
@@ -933,7 +933,7 @@ init_environment (char ** argv)
     {
       char * name;
       char * def_value;
-    } env_vars[] = 
+    } env_vars[] =
     {
       {"HOME", "C:/"},
       {"PRELOAD_WINSOCK", NULL},
@@ -987,7 +987,7 @@ init_environment (char ** argv)
          *p = 0;
          for (p = modname; *p; p++)
            if (*p == '\\') *p = '/';
-                 
+
          _snprintf (buf, sizeof(buf)-1, "emacs_dir=%s", modname);
          _putenv (strdup (buf));
        }
@@ -1019,7 +1019,7 @@ init_environment (char ** argv)
                else if (dwType == REG_SZ)
                  {
                    char buf[SET_ENV_BUF_SIZE];
-                 
+
                    _snprintf (buf, sizeof(buf)-1, "%s=%s", env_vars[i].name, lpval);
                    _putenv (strdup (buf));
                  }
@@ -1113,7 +1113,7 @@ get_emacs_configuration (void)
   static char configuration_buffer[32];
 
   /* Determine the processor type.  */
-  switch (get_processor_type ()) 
+  switch (get_processor_type ())
     {
 
 #ifdef PROCESSOR_INTEL_386
@@ -1230,7 +1230,7 @@ get_emacs_configuration_options (void)
 #include <sys/timeb.h>
 
 /* Emulate gettimeofday (Ulrich Leodolter, 1/11/95).  */
-void 
+void
 gettimeofday (struct timeval *tv, struct timezone *tz)
 {
   struct timeb tb;
@@ -1238,7 +1238,7 @@ gettimeofday (struct timeval *tv, struct timezone *tz)
 
   tv->tv_sec = tb.time;
   tv->tv_usec = tb.millitm * 1000L;
-  if (tz) 
+  if (tz)
     {
       tz->tz_minuteswest = tb.timezone;        /* minutes west of Greenwich  */
       tz->tz_dsttime = tb.dstflag;     /* type of dst correction  */
@@ -1250,7 +1250,7 @@ gettimeofday (struct timeval *tv, struct timezone *tz)
 /* ------------------------------------------------------------------------- */
 
 /* Place a wrapper around the MSVC version of ctime.  It returns NULL
-   on network directories, so we handle that case here.  
+   on network directories, so we handle that case here.
    (Ulrich Leodolter, 1/11/95).  */
 char *
 sys_ctime (const time_t *t)
@@ -1356,7 +1356,7 @@ GetCachedVolumeInformation (char * root_dir)
      tell whether they are or not.  Also, the UNC association of drive
      letters mapped to remote volumes can be changed at any time (even
      by other processes) without notice.
-   
+
      As a compromise, so we can benefit from caching info for remote
      volumes, we use a simple expiry mechanism to invalidate cache
      entries that are more than ten seconds old.  */
@@ -1462,7 +1462,7 @@ get_volume_info (const char * name, const char ** pPath)
 
   if (pPath)
     *pPath = name;
-    
+
   info = GetCachedVolumeInformation (rootname);
   if (info != NULL)
     {
@@ -1600,7 +1600,7 @@ is_exec (const char * name)
         stricmp (p, ".cmd") == 0));
 }
 
-/* Emulate the Unix directory procedures opendir, closedir, 
+/* Emulate the Unix directory procedures opendir, closedir,
    and readdir.  We can't use the procedures supplied in sysdep.c,
    so we provide them here.  */
 
@@ -1673,8 +1673,8 @@ readdir (DIR *dirp)
 {
   if (wnet_enum_handle != INVALID_HANDLE_VALUE)
     {
-      if (!read_unc_volume (wnet_enum_handle, 
-                             dir_find_data.cFileName, 
+      if (!read_unc_volume (wnet_enum_handle,
+                             dir_find_data.cFileName,
                              MAX_PATH))
        return NULL;
     }
@@ -1700,14 +1700,14 @@ readdir (DIR *dirp)
       if (!FindNextFile (dir_find_handle, &dir_find_data))
        return NULL;
     }
-  
+
   /* Emacs never uses this value, so don't bother making it match
      value returned by stat().  */
   dir_static.d_ino = 1;
-  
+
   dir_static.d_reclen = sizeof (struct direct) - MAXNAMLEN + 3 +
     dir_static.d_namlen - dir_static.d_namlen % 4;
-  
+
   dir_static.d_namlen = strlen (dir_find_data.cFileName);
   strcpy (dir_static.d_name, dir_find_data.cFileName);
   if (dir_is_fat)
@@ -1721,27 +1721,27 @@ readdir (DIR *dirp)
       if (!*p)
        _strlwr (dir_static.d_name);
     }
-  
+
   return &dir_static;
 }
 
 HANDLE
 open_unc_volume (char *path)
 {
-  NETRESOURCE nr; 
+  NETRESOURCE nr;
   HANDLE henum;
   int result;
 
-  nr.dwScope = RESOURCE_GLOBALNET; 
-  nr.dwType = RESOURCETYPE_DISK; 
-  nr.dwDisplayType = RESOURCEDISPLAYTYPE_SERVER; 
-  nr.dwUsage = RESOURCEUSAGE_CONTAINER; 
-  nr.lpLocalName = NULL; 
+  nr.dwScope = RESOURCE_GLOBALNET;
+  nr.dwType = RESOURCETYPE_DISK;
+  nr.dwDisplayType = RESOURCEDISPLAYTYPE_SERVER;
+  nr.dwUsage = RESOURCEUSAGE_CONTAINER;
+  nr.lpLocalName = NULL;
   nr.lpRemoteName = map_w32_filename (path, NULL);
-  nr.lpComment = NULL; 
-  nr.lpProvider = NULL;   
+  nr.lpComment = NULL;
+  nr.lpProvider = NULL;
 
-  result = WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_DISK,  
+  result = WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_DISK,
                        RESOURCEUSAGE_CONNECTABLE, &nr, &henum);
 
   if (result == NO_ERROR)
@@ -1802,7 +1802,7 @@ unc_volume_file_attributes (char *path)
 
 /* Shadow some MSVC runtime functions to map requests for long filenames
    to reasonable short names if necessary.  This was originally added to
-   permit running Emacs on NT 3.1 on a FAT partition, which doesn't support 
+   permit running Emacs on NT 3.1 on a FAT partition, which doesn't support
    long file names.  */
 
 int
@@ -2452,7 +2452,7 @@ stat (const char * path, struct stat * buf)
     permission = _S_IREAD;
   else
     permission = _S_IREAD | _S_IWRITE;
-  
+
   if (wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
     permission |= _S_IEXEC;
   else if (is_exec (name))
@@ -2536,7 +2536,7 @@ fstat (int desc, struct stat * buf)
     permission = _S_IREAD;
   else
     permission = _S_IREAD | _S_IWRITE;
-  
+
   if (info.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
     permission |= _S_IEXEC;
   else
@@ -2788,7 +2788,7 @@ struct {
   WSAEFAULT               , "Bad address",
   WSAEINVAL               , "Invalid argument",
   WSAEMFILE               , "Too many open files",
-                       
+
   WSAEWOULDBLOCK          , "Resource temporarily unavailable",
   WSAEINPROGRESS          , "Operation now in progress",
   WSAEALREADY             , "Operation already in progress",
@@ -2826,7 +2826,7 @@ struct {
   WSAEDQUOT               , "Double quote in host name",    /* really not sure */
   WSAESTALE               , "Data is stale",               /* not sure */
   WSAEREMOTE              , "Remote error",                /* not sure */
-                       
+
   WSASYSNOTREADY          , "Network subsystem is unavailable",
   WSAVERNOTSUPPORTED      , "WINSOCK.DLL version out of range",
   WSANOTINITIALISED       , "Winsock not initialized successfully",
@@ -2844,7 +2844,7 @@ struct {
   WSA_E_CANCELLED         , "Operation already cancelled",  /* really not sure */
   WSAEREFUSED             , "Operation refused",           /* not sure */
 #endif
-                       
+
   WSAHOST_NOT_FOUND       , "Host not found",
   WSATRY_AGAIN            , "Authoritative host not found during name lookup",
   WSANO_RECOVERY          , "Non-recoverable error during name lookup",
@@ -2899,7 +2899,7 @@ sys_socket(int af, int type, int protocol)
 
   /* call the real socket function */
   s = pfn_socket (af, type, protocol);
-  
+
   if (s != INVALID_SOCKET)
     return socket_to_fd (s);
 
@@ -2972,7 +2972,7 @@ socket_to_fd (SOCKET s)
                  {
                    CloseHandle (new_s);
                  }
-             } 
+             }
          }
       }
       fd_info[fd].hnd = (HANDLE) s;
@@ -3185,7 +3185,7 @@ sys_setsockopt (int s, int level, int optname, const char * optval, int optlen)
       return rc;
     }
   h_errno = ENOTSOCK;
-  return SOCKET_ERROR;      
+  return SOCKET_ERROR;
 }
 
 int
@@ -3206,7 +3206,7 @@ sys_listen (int s, int backlog)
       return rc;
     }
   h_errno = ENOTSOCK;
-  return SOCKET_ERROR;      
+  return SOCKET_ERROR;
 }
 
 int
@@ -3227,7 +3227,7 @@ sys_getsockname (int s, struct sockaddr * name, int * namelen)
       return rc;
     }
   h_errno = ENOTSOCK;
-  return SOCKET_ERROR;      
+  return SOCKET_ERROR;
 }
 
 int
@@ -3425,7 +3425,7 @@ sys_dup2 (int src, int dst)
   /* make sure we close the destination first if it's a pipe or socket */
   if (src != dst && fd_info[dst].flags != 0)
     sys_close (dst);
-  
+
   rc = _dup2 (src, dst);
   if (rc == 0)
     {
@@ -3485,9 +3485,9 @@ _sys_read_ahead (int fd)
       DebPrint (("_sys_read_ahead: internal error: fd %d is not a pipe or socket!\n", fd));
       abort ();
     }
-  
+
   cp->status = STATUS_READ_IN_PROGRESS;
-  
+
   if (fd_info[fd].flags & FILE_PIPE)
     {
       rc = _read (fd, &cp->chr, sizeof (char));
@@ -3529,7 +3529,7 @@ _sys_read_ahead (int fd)
        }
     }
 #endif
-  
+
   if (rc == sizeof (char))
     cp->status = STATUS_READ_SUCCEEDED;
   else
@@ -3728,7 +3728,7 @@ sys_write (int fd, const void * buffer, unsigned int count)
                  next[0] = '\n';
                  dst = next + 1;
                  count++;
-               }           
+               }
              else
                /* copied remaining partial line -> now finished */
                break;
@@ -3781,7 +3781,7 @@ check_windows_init_file ()
      it cannot find the Windows installation file.  If this file does
      not exist in the expected place, tell the user.  */
 
-  if (!noninteractive && !inhibit_window_system) 
+  if (!noninteractive && !inhibit_window_system)
     {
       extern Lisp_Object Vwindow_system, Vload_path, Qfile_exists_p;
       Lisp_Object objs[2];
@@ -3794,14 +3794,14 @@ check_windows_init_file ()
       full_load_path = Fappend (2, objs);
       init_file = build_string ("term/w32-win");
       fd = openp (full_load_path, init_file, Vload_suffixes, NULL, Qnil);
-      if (fd < 0) 
+      if (fd < 0)
        {
          Lisp_Object load_path_print = Fprin1_to_string (full_load_path, Qnil);
          char *init_file_name = SDATA (init_file);
          char *load_path = SDATA (load_path_print);
          char *buffer = alloca (1024);
 
-         sprintf (buffer, 
+         sprintf (buffer,
                   "The Emacs Windows initialization file \"%s.el\" "
                   "could not be found in your Emacs installation.  "
                   "Emacs checked the following directories for this file:\n"
@@ -3866,14 +3866,14 @@ init_ntproc ()
 
     /* ignore errors when duplicating and closing; typically the
        handles will be invalid when running as a gui program. */
-    DuplicateHandle (parent, 
-                    GetStdHandle (STD_INPUT_HANDLE), 
+    DuplicateHandle (parent,
+                    GetStdHandle (STD_INPUT_HANDLE),
                     parent,
-                    &stdin_save, 
-                    0, 
-                    FALSE, 
+                    &stdin_save,
+                    0,
+                    FALSE,
                     DUPLICATE_SAME_ACCESS);
-    
+
     DuplicateHandle (parent,
                     GetStdHandle (STD_OUTPUT_HANDLE),
                     parent,
@@ -3881,7 +3881,7 @@ init_ntproc ()
                     0,
                     FALSE,
                     DUPLICATE_SAME_ACCESS);
-    
+
     DuplicateHandle (parent,
                     GetStdHandle (STD_ERROR_HANDLE),
                     parent,
@@ -3889,7 +3889,7 @@ init_ntproc ()
                     0,
                     FALSE,
                     DUPLICATE_SAME_ACCESS);
-    
+
     fclose (stdin);
     fclose (stdout);
     fclose (stderr);
@@ -3926,7 +3926,7 @@ init_ntproc ()
     while (*drive <= 'Z')
     {
       /* Record if this drive letter refers to a fixed drive. */
-      fixed_drives[DRIVE_INDEX (*drive)] = 
+      fixed_drives[DRIVE_INDEX (*drive)] =
        (GetDriveType (drive) == DRIVE_FIXED);
 
       (*drive)++;
@@ -3935,7 +3935,7 @@ init_ntproc ()
     /* Reset the volume info cache.  */
     volume_cache = NULL;
   }
-  
+
   /* Check to see if Emacs has been installed correctly.  */
   check_windows_init_file ();
 }
index c8733c41a26d503dd07e222a46e84cc152caaebb..845aca26e308cb595c4cd5d7e91e6b28c70d135c 100644 (file)
--- a/src/w32.h
+++ b/src/w32.h
@@ -112,11 +112,11 @@ extern char * w32_strerror (int error_no);
 extern BOOL w32_get_long_filename (char * name, char * buf, int size);
 
 /* Prepare our standard handles for proper inheritance by child processes.  */
-extern void prepare_standard_handles (int in, int out, 
+extern void prepare_standard_handles (int in, int out,
                                      int err, HANDLE handles[4]);
 
 /* Reset our standard handles to their original state.  */
-extern void reset_standard_handles (int in, int out, 
+extern void reset_standard_handles (int in, int out,
                                    int err, HANDLE handles[4]);
 
 /* Return the string resource associated with KEY of type TYPE.  */
index 5bb5ba72bba2b9750d553225693989a65360a720..73f40a22df604ff597f5888841d2889d9f81c53e 100644 (file)
@@ -54,7 +54,7 @@ cache_bitmap *pcached_bitmap_latest = cached_bitmap_slots;
 
 #define FONT_CACHE_SLOT_OVER_P(p) ((p) >= cached_bitmap_slots + BDF_FONT_CACHE_SIZE)
 
-static int 
+static int
 search_file_line(char *key, char *start, int len, char **val, char **next)
 {
   unsigned int linelen;
@@ -73,7 +73,7 @@ search_file_line(char *key, char *start, int len, char **val, char **next)
       *val = start + strlen(key);
       return 1;
     }
-  
+
   return 0;
 }
 
@@ -276,7 +276,7 @@ w32_init_bdf_font(char *filename)
     }
 
   bdffontp = (bdffont *) xmalloc(sizeof(bdffont));
-  
+
   for(i = 0;i < BDF_FIRST_OFFSET_TABLE;i++)
     bdffontp->chtbl[i] = NULL;
   bdffontp->size = fileinfo.nFileSizeLow;
@@ -285,7 +285,7 @@ w32_init_bdf_font(char *filename)
   bdffontp->hfilemap = hfilemap;
   bdffontp->filename = (char*) xmalloc(strlen(filename) + 1);
   strcpy(bdffontp->filename, filename);
-  
+
   if (!set_bdf_font_info(bdffontp))
     {
       w32_free_bdf_font(bdffontp);
@@ -364,7 +364,7 @@ cache_char_offset(bdffont *fontp, int index, unsigned char *offset)
     {
       pch = fontp->chtbl[BDF_FIRST_OFFSET(index)] =
        (font_char*) HeapAlloc(hbdf_cp_heap,
-                              HEAP_ZERO_MEMORY, 
+                              HEAP_ZERO_MEMORY,
                               sizeof(font_char) *
                                BDF_SECOND_OFFSET_TABLE);
       if (!pch) return NULL;
@@ -578,7 +578,7 @@ get_bitmap_with_cache(bdffont *fontp, int index)
   pcb->row_byte_size = glyph.row_byte_size;
 
   pch->pcbmp = pcb;
-  
+
   pcached_bitmap_latest++;
   if (FONT_CACHE_SLOT_OVER_P(pcached_bitmap_latest))
     pcached_bitmap_latest = cached_bitmap_slots;
@@ -649,7 +649,7 @@ w32_BDF_TextOut(bdffont *fontp, HDC hdc, int left,
     return 0;
 
   textalign = GetTextAlign(hdc);
-  
+
   hFgBrush = CreateSolidBrush(GetTextColor(hdc));
   hOrgBrush = SelectObject(hdc, hFgBrush);
 
@@ -679,7 +679,7 @@ w32_BDF_TextOut(bdffont *fontp, HDC hdc, int left,
        {
          width = pcb->metric.bbw;
          height = pcb->metric.bbh;
-         
+
          if (!(hBMP
                && (DIBsection_hdc == hdc)
                && (DIBsection_width == width)
index df0976bb1fa79ea48754dc740aedd13856de5a2c..1786786b90b85596c4d5261c9d58462b005715f4 100644 (file)
@@ -34,7 +34,7 @@ Boston, MA 02111-1307, USA.  */
 #define BDF_FONT_CACHE_SIZE 3000
 #define BDF_FONT_CLEAR_SIZE 600
 
-/* 
+/*
    GLYPH METRIC (# ... character's reference point)
    ^
  y |              (urx, ury)
index 490c1e10373a24f7440d5f094d49dfdd17520ac1..775630b8b0e846ada648d8007dd19811c5aaa067 100644 (file)
@@ -108,7 +108,7 @@ move_cursor (int row, int col)
 {
   cursor_coords.X = col;
   cursor_coords.Y = row;
-  
+
   if (updating_frame == (struct frame *) NULL)
     {
       SetConsoleCursorPosition (cur_screen, cursor_coords);
@@ -120,7 +120,7 @@ void
 clear_to_end (void)
 {
   struct frame * f = PICK_FRAME ();
-  
+
   clear_end_of_line (FRAME_WIDTH (f) - 1);
   ins_del_lines (cursor_coords.Y, FRAME_HEIGHT (f) - cursor_coords.Y - 1);
 }
@@ -191,12 +191,12 @@ ins_del_lines (int vpos, int n)
     }
   scroll.Left = 0;
   scroll.Right = FRAME_WIDTH (f);
-  
+
   dest.X = 0;
-  
+
   fill.Char.AsciiChar = 0x20;
   fill.Attributes = char_attr_normal;
-  
+
   ScrollConsoleScreenBuffer (cur_screen, &scroll, NULL, dest, &fill);
 
   /* Here we have to deal with a w32 console flake: If the scroll
@@ -222,7 +222,7 @@ ins_del_lines (int vpos, int n)
       nb = dest.Y + (scroll.Bottom - scroll.Top) + 1;
 
       if (nb < scroll.Top)
-        { 
+        {
          for (i = nb; i < scroll.Top; i++)
             {
              move_cursor (i, 0);
@@ -230,7 +230,7 @@ ins_del_lines (int vpos, int n)
             }
         }
     }
-  
+
   cursor_coords.X = 0;
   cursor_coords.Y = vpos;
 }
@@ -249,10 +249,10 @@ scroll_line (int dist, int direction)
   COORD             dest;
   CHAR_INFO  fill;
   struct frame *  f = PICK_FRAME ();
-  
+
   scroll.Top = cursor_coords.Y;
   scroll.Bottom = cursor_coords.Y;
-  
+
   if (direction == LEFT)
     {
       scroll.Left = cursor_coords.X + dist;
@@ -263,10 +263,10 @@ scroll_line (int dist, int direction)
       scroll.Left = cursor_coords.X;
       scroll.Right = FRAME_WIDTH (f) - dist - 1;
     }
-  
+
   dest.X = cursor_coords.X;
   dest.Y = cursor_coords.Y;
-  
+
   fill.Char.AsciiChar = 0x20;
   fill.Attributes = char_attr_normal;
 
@@ -285,7 +285,7 @@ insert_glyphs (register struct glyph *start, register int len)
     {
       /* Print the first len characters of start, cursor_coords.X adjusted
         by write_glyphs.  */
-       
+
       write_glyphs (start, len);
     }
   else
@@ -316,7 +316,7 @@ write_glyphs (register struct glyph *string, register int len)
       /* Identify a run of glyphs with the same face.  */
       int face_id = string->face_id;
       int n;
-      
+
       for (n = 1; n < len; ++n)
        if (string[n].face_id != face_id)
          break;
@@ -336,7 +336,7 @@ write_glyphs (register struct glyph *string, register int len)
            {
               /* Set the attribute for these characters.  */
               if (!FillConsoleOutputAttribute (cur_screen, char_attr,
-                                               produced, cursor_coords, &r)) 
+                                               produced, cursor_coords, &r))
                 {
                   printf ("Failed writing console attributes: %d\n",
                           GetLastError ());
@@ -354,7 +354,7 @@ write_glyphs (register struct glyph *string, register int len)
 
               cursor_coords.X += produced;
               move_cursor (cursor_coords.Y, cursor_coords.X);
-            }    
+            }
           len -= consumed;
           n -= consumed;
           string += consumed;
@@ -371,7 +371,7 @@ write_glyphs (register struct glyph *string, register int len)
         {
           if (!FillConsoleOutputAttribute (cur_screen, char_attr_normal,
                                            terminal_coding.produced,
-                                           cursor_coords, &r)) 
+                                           cursor_coords, &r))
             {
               printf ("Failed writing console attributes: %d\n",
                       GetLastError ());
@@ -394,8 +394,8 @@ write_glyphs (register struct glyph *string, register int len)
 void
 delete_glyphs (int n)
 {
-  /* delete chars means scroll chars from cursor_coords.X + n to 
-     cursor_coords.X, anything beyond the edge of the screen should 
+  /* delete chars means scroll chars from cursor_coords.X + n to
+     cursor_coords.X, anything beyond the edge of the screen should
      come out empty...  */
 
   scroll_line (n, LEFT);
@@ -407,7 +407,7 @@ static unsigned int sound_type = 0xFFFFFFFF;
 void
 w32_sys_ring_bell (void)
 {
-  if (sound_type == 0xFFFFFFFF) 
+  if (sound_type == 0xFFFFFFFF)
     {
       Beep (666, 100);
     }
@@ -430,17 +430,17 @@ SOUND is nil to use the normal beep.  */)
 {
   CHECK_SYMBOL (sound);
 
-  if (NILP (sound)) 
+  if (NILP (sound))
       sound_type = 0xFFFFFFFF;
   else if (EQ (sound, intern ("asterisk")))
       sound_type = MB_ICONASTERISK;
-  else if (EQ (sound, intern ("exclamation"))) 
+  else if (EQ (sound, intern ("exclamation")))
       sound_type = MB_ICONEXCLAMATION;
-  else if (EQ (sound, intern ("hand"))) 
+  else if (EQ (sound, intern ("hand")))
       sound_type = MB_ICONHAND;
-  else if (EQ (sound, intern ("question"))) 
+  else if (EQ (sound, intern ("question")))
       sound_type = MB_ICONQUESTION;
-  else if (EQ (sound, intern ("ok"))) 
+  else if (EQ (sound, intern ("ok")))
       sound_type = MB_OK;
   else if (EQ (sound, intern ("silent")))
       sound_type = MB_EMACS_SILENT;
@@ -449,7 +449,7 @@ SOUND is nil to use the normal beep.  */)
 
   return sound;
 }
-   
+
 void
 reset_terminal_modes (void)
 {
@@ -482,7 +482,7 @@ set_terminal_modes (void)
 
 /* hmmm... perhaps these let us bracket screen changes so that we can flush
    clumps rather than one-character-at-a-time...
-   
+
    we'll start with not moving the cursor while an update is in progress.  */
 void
 update_begin (struct frame * f)
@@ -525,7 +525,7 @@ w32_face_attributes (f, face_id)
 
   if (face->background != FACE_TTY_DEFAULT_BG_COLOR
       && face->background != FACE_TTY_DEFAULT_COLOR)
-    char_attr = (char_attr & 0xff0f) + ((face->background % 16) << 4); 
+    char_attr = (char_attr & 0xff0f) + ((face->background % 16) << 4);
 
 
   /* NTEMACS_TODO: Faces defined during startup get both foreground
@@ -573,7 +573,7 @@ void
 initialize_w32_display (void)
 {
   CONSOLE_SCREEN_BUFFER_INFO   info;
-  
+
   cursor_to_hook               = move_cursor;
   raw_cursor_to_hook           = move_cursor;
   clear_to_end_hook            = clear_to_end;
@@ -589,7 +589,7 @@ initialize_w32_display (void)
   set_terminal_window_hook     = set_terminal_window;
   update_begin_hook            = update_begin;
   update_end_hook              = update_end;
-  
+
   read_socket_hook = w32_console_read_socket;
   mouse_position_hook = w32_console_mouse_position;
   estimate_mode_line_height_hook = 0;
@@ -602,7 +602,7 @@ initialize_w32_display (void)
   GetConsoleMode (keyboard_handle, &prev_console_mode);
 
   prev_screen = GetStdHandle (STD_OUTPUT_HANDLE);
-  
+
 #ifdef USE_SEPARATE_SCREEN
   cur_screen = CreateConsoleScreenBuffer (GENERIC_READ | GENERIC_WRITE,
                                          0, NULL,
@@ -656,7 +656,7 @@ initialize_w32_display (void)
   }
 
   GetConsoleScreenBufferInfo (cur_screen, &info);
-  
+
   meta_key = 1;
   char_attr_normal = info.wAttributes;
 
@@ -668,10 +668,10 @@ initialize_w32_display (void)
   else
     {
       /* Lines per page.  Use buffer coords instead of buffer size.  */
-      FRAME_HEIGHT (SELECTED_FRAME ()) = 1 + info.srWindow.Bottom - 
-       info.srWindow.Top; 
+      FRAME_HEIGHT (SELECTED_FRAME ()) = 1 + info.srWindow.Bottom -
+       info.srWindow.Top;
       /* Characters per line.  Use buffer coords instead of buffer size.  */
-      SET_FRAME_WIDTH (SELECTED_FRAME (), 1 + info.srWindow.Right - 
+      SET_FRAME_WIDTH (SELECTED_FRAME (), 1 + info.srWindow.Right -
                       info.srWindow.Left);
     }
 
@@ -702,7 +702,7 @@ DEFUN ("set-cursor-size", Fset_cursor_size, Sset_cursor_size, 1, 1, 0,
   cci.dwSize = XFASTINT (size);
   cci.bVisible = TRUE;
   (void) SetConsoleCursorInfo (cur_screen, &cci);
-  
+
   return Qt;
 }
 
index feed88096f7349ac7910c4da146d8ecff395126b..658a256ed63b7d5c425fdc58cb0de24f99b4bf36 100644 (file)
@@ -10489,7 +10489,7 @@ xpm_load (f, img)
      string buffer containing data in the same format as an XPM file.  */
 
   specified_file = image_spec_value (img->spec, QCfile, NULL);
-  
+
   {
     HDC frame_dc = get_frame_dc (f);
     hdc = CreateCompatibleDC (frame_dc);
@@ -10535,7 +10535,7 @@ xpm_load (f, img)
          fn_XImageFree (xpm_image);
        }
       if (xpm_mask && xpm_mask->bitmap)
-       {         
+       {
          /* The mask appears to be inverted compared with what we expect.
             TODO: invert our expectations.  See other places where we
             have to invert bits because our idea of masks is backwards.  */
@@ -10546,7 +10546,7 @@ xpm_load (f, img)
          SelectObject (hdc, old_obj);
 
          img->mask = xpm_mask->bitmap;
-         fn_XImageFree (xpm_mask);       
+         fn_XImageFree (xpm_mask);
          DeleteDC (hdc);
        }
 
index 6a0b5e5f1a2f9d15c3d58f910afd6f30753a3d87..f602f8b820beccd2d20074bfefdac8f9a6d89023 100644 (file)
@@ -82,15 +82,15 @@ extern unsigned int w32_key_to_modifier (int key);
 static INPUT_RECORD event_queue[EVENT_QUEUE_SIZE];
 static INPUT_RECORD *queue_ptr = event_queue, *queue_end = event_queue;
 
-static int 
+static int
 fill_queue (BOOL block)
 {
   BOOL rc;
   DWORD events_waiting;
-  
+
   if (queue_ptr < queue_end)
     return queue_end-queue_ptr;
-  
+
   if (!block)
     {
       /* Check to see if there are some events to read before we try
@@ -100,7 +100,7 @@ fill_queue (BOOL block)
       if (events_waiting == 0)
        return 0;
     }
-  
+
   rc = ReadConsoleInput (keyboard_handle, event_queue, EVENT_QUEUE_SIZE,
                         &events_waiting);
   if (!rc)
@@ -114,13 +114,13 @@ fill_queue (BOOL block)
    and return the frame for it
 
    Right now, there's only one frame so return it.  */
-static FRAME_PTR 
+static FRAME_PTR
 get_frame (void)
 {
   return SELECTED_FRAME ();
 }
 
-/* Translate console modifiers to emacs modifiers.  
+/* Translate console modifiers to emacs modifiers.
    German keyboard support (Kai Morgan Zeise 2/18/95).  */
 int
 w32_kbd_mods_to_emacs (DWORD mods, WORD key)
@@ -129,18 +129,18 @@ w32_kbd_mods_to_emacs (DWORD mods, WORD key)
 
   /* If we recognize right-alt and left-ctrl as AltGr, and it has been
      pressed, first remove those modifiers.  */
-  if (!NILP (Vw32_recognize_altgr) 
-      && (mods & (RIGHT_ALT_PRESSED | LEFT_CTRL_PRESSED)) 
+  if (!NILP (Vw32_recognize_altgr)
+      && (mods & (RIGHT_ALT_PRESSED | LEFT_CTRL_PRESSED))
       == (RIGHT_ALT_PRESSED | LEFT_CTRL_PRESSED))
     mods &= ~ (RIGHT_ALT_PRESSED | LEFT_CTRL_PRESSED);
 
   if (mods & (RIGHT_ALT_PRESSED | LEFT_ALT_PRESSED))
     retval = ((NILP (Vw32_alt_is_meta)) ? alt_modifier : meta_modifier);
-  
+
   if (mods & (RIGHT_CTRL_PRESSED | LEFT_CTRL_PRESSED))
     {
       retval |= ctrl_modifier;
-      if ((mods & (RIGHT_CTRL_PRESSED | LEFT_CTRL_PRESSED)) 
+      if ((mods & (RIGHT_CTRL_PRESSED | LEFT_CTRL_PRESSED))
          == (RIGHT_CTRL_PRESSED | LEFT_CTRL_PRESSED))
        retval |= meta_modifier;
     }
@@ -212,14 +212,14 @@ w32_kbd_patch_key (KEY_EVENT_RECORD *event)
       isdead = 0;
       return 1;
     }
-  if (event->uChar.AsciiChar != 0) 
+  if (event->uChar.AsciiChar != 0)
     return 1;
 
   memset (keystate, 0, sizeof (keystate));
   keystate[key_code] = 0x80;
-  if (mods & SHIFT_PRESSED) 
+  if (mods & SHIFT_PRESSED)
     keystate[VK_SHIFT] = 0x80;
-  if (mods & CAPSLOCK_ON) 
+  if (mods & CAPSLOCK_ON)
     keystate[VK_CAPITAL] = 1;
   /* If we recognize right-alt and left-ctrl as AltGr, set the key
      states accordingly before invoking ToAscii.  */
@@ -272,7 +272,7 @@ w32_kbd_patch_key (KEY_EVENT_RECORD *event)
                         keystate, (LPWORD) ansi_code, 0);
     }
 
-  if (isdead == 0) 
+  if (isdead == 0)
     return 0;
   event->uChar.AsciiChar = ansi_code[0];
   return isdead;
@@ -283,9 +283,9 @@ extern char *lispy_function_keys[];
 
 static int faked_key = 0;
 
-/* return code -1 means that event_queue_ptr won't be incremented. 
+/* return code -1 means that event_queue_ptr won't be incremented.
    In other word, this event makes two key codes.   (by himi)       */
-int 
+int
 key_event (KEY_EVENT_RECORD *event, struct input_event *emacs_ev, int *isdead)
 {
   static int mod_key_state = 0;
@@ -506,7 +506,7 @@ w32_console_toggle_lock_key (int vk_code, Lisp_Object new_state)
 }
 
 /* Mouse position hook.  */
-void 
+void
 w32_console_mouse_position (FRAME_PTR *f,
                            int insist,
                            Lisp_Object *bar_window,
@@ -523,16 +523,16 @@ w32_console_mouse_position (FRAME_PTR *f,
   *bar_window = Qnil;
   *part = 0;
   SELECTED_FRAME ()->mouse_moved = 0;
-  
+
   *x = movement_pos.X;
   *y = movement_pos.Y;
   *time = movement_time;
-  
+
   UNBLOCK_INPUT;
 }
 
 /* Remember mouse motion and notify emacs.  */
-static void 
+static void
 mouse_moved_to (int x, int y)
 {
   /* If we're in the same place, ignore it */
@@ -563,14 +563,14 @@ static int emacs_button_translation[NUM_TRANSLATED_MOUSE_BUTTONS] =
   0, 2, 1
 };
 
-static int 
+static int
 do_mouse_event (MOUSE_EVENT_RECORD *event,
                struct input_event *emacs_ev)
 {
   static DWORD button_state = 0;
   DWORD but_change, mask;
   int i;
-  
+
   if (event->dwEventFlags == MOUSE_MOVED)
     {
       /* For movement events we just note that the mouse has moved
@@ -578,14 +578,14 @@ do_mouse_event (MOUSE_EVENT_RECORD *event,
       mouse_moved_to (event->dwMousePosition.X, event->dwMousePosition.Y);
       return 0;
     }
-  
+
   /* It looks like the console code sends us a mouse event with
      dwButtonState == 0 when a window is activated.  Ignore this case.  */
   if (event->dwButtonState == button_state)
     return 0;
-  
+
   emacs_ev->kind = MOUSE_CLICK_EVENT;
-  
+
   /* Find out what button has changed state since the last button event.  */
   but_change = button_state ^ event->dwButtonState;
   mask = 1;
@@ -603,7 +603,7 @@ do_mouse_event (MOUSE_EVENT_RECORD *event,
   emacs_ev->timestamp = GetTickCount ();
   emacs_ev->modifiers = w32_kbd_mods_to_emacs (event->dwControlKeyState, 0) |
     ((event->dwButtonState & mask) ? down_modifier : up_modifier);
-  
+
   XSETFASTINT (emacs_ev->x, event->dwMousePosition.X);
   XSETFASTINT (emacs_ev->y, event->dwMousePosition.Y);
 /* for Mule 2.2 (Based on Emacs 19.28 */
@@ -612,15 +612,15 @@ do_mouse_event (MOUSE_EVENT_RECORD *event,
 #else
   XSETFRAME (emacs_ev->frame_or_window, get_frame ());
 #endif
-  
+
   return 1;
 }
 
-static void 
+static void
 resize_event (WINDOW_BUFFER_SIZE_RECORD *event)
 {
   FRAME_PTR f = get_frame ();
-  
+
   change_frame_size (f, event->dwSize.Y, event->dwSize.X, 0, 1);
   SET_FRAME_GARBAGED (f);
 }
@@ -641,7 +641,7 @@ maybe_generate_resize_event ()
                     0, 0);
 }
 
-int 
+int
 w32_console_read_socket (int sd, struct input_event *bufp, int numchars,
                         int expected)
 {
@@ -654,10 +654,10 @@ w32_console_read_socket (int sd, struct input_event *bufp, int numchars,
       interrupt_input_pending = 1;
       return -1;
     }
-  
+
   interrupt_input_pending = 0;
   BLOCK_INPUT;
-  
+
   for (;;)
     {
       nev = fill_queue (0);
@@ -677,7 +677,7 @@ w32_console_read_socket (int sd, struct input_event *bufp, int numchars,
             case KEY_EVENT:
              add = key_event (&queue_ptr->Event.KeyEvent, bufp, &isdead);
              if (add == -1) /* 95.7.25 by himi */
-               { 
+               {
                  queue_ptr--;
                  add = 1;
                }
@@ -697,13 +697,13 @@ w32_console_read_socket (int sd, struct input_event *bufp, int numchars,
              if (w32_use_full_screen_buffer)
                resize_event (&queue_ptr->Event.WindowBufferSizeEvent);
              break;
-            
+
             case MENU_EVENT:
             case FOCUS_EVENT:
              /* Internal event types, ignored. */
              break;
             }
-            
+
          queue_ptr++;
          nev--;
         }
index 6ac5ea303e5eb32428527e646d4d9c14b02884e4..7df989bffdc0c6381470f0499af0c3161ddf63dd 100644 (file)
@@ -21,12 +21,12 @@ Boston, MA 02111-1307, USA.  */
 #ifndef EMACS_W32INEVT_H
 #define EMACS_W32INEVT_H
 
-extern int w32_console_read_socket (int sd, struct input_event *bufp, 
+extern int w32_console_read_socket (int sd, struct input_event *bufp,
                                    int numchars, int expected);
-extern void w32_console_mouse_position (FRAME_PTR *f, int insist, 
-                                       Lisp_Object *bar_window, 
-                                       enum scroll_bar_part *part, 
-                                       Lisp_Object *x, Lisp_Object *y, 
+extern void w32_console_mouse_position (FRAME_PTR *f, int insist,
+                                       Lisp_Object *bar_window,
+                                       enum scroll_bar_part *part,
+                                       Lisp_Object *x, Lisp_Object *y,
                                        unsigned long *time);
 
 #endif /* EMACS_W32INEVT_H */
index 632685c337d05d8896e8685e1a33151591a13efe..dbf14aaeeb8a1b9203ab07342cd02143cad7ac34 100644 (file)
@@ -69,7 +69,7 @@ typedef struct _widget_value
   char*                name;
   /* value (meaning depend on widget type) */
   char*                value;
-  /* keyboard equivalent. no implications for XtTranslations */ 
+  /* keyboard equivalent. no implications for XtTranslations */
   char*                key;
   /* Help string or nil if none.
      GC finds this string through the frame's menu_bar_vector
@@ -500,7 +500,7 @@ single_keymap_panes (keymap, pane_name, prefix, notreal, maxdepth)
 \f
 /* This is a subroutine of single_keymap_panes that handles one
    keymap entry.
-   KEY is a key in a keymap and ITEM is its binding. 
+   KEY is a key in a keymap and ITEM is its binding.
    PENDING_MAPS_PTR points to a list of keymaps waiting to be made into
    separate panes.
    If NOTREAL is nonzero, only check for equivalent key bindings, don't
@@ -516,7 +516,7 @@ single_menu_item (key, item, pending_maps_ptr, notreal, maxdepth)
   Lisp_Object map, item_string, enabled;
   struct gcpro gcpro1, gcpro2;
   int res;
-  
+
   /* Parse the menu item and leave the result in item_properties.  */
   GCPRO2 (key, item);
   res = parse_menu_item (item, notreal, 0);
@@ -525,7 +525,7 @@ single_menu_item (key, item, pending_maps_ptr, notreal, maxdepth)
     return;                    /* Not a menu item.  */
 
   map = AREF (item_properties, ITEM_PROPERTY_MAP);
-  
+
   if (notreal)
     {
       /* We don't want to make a menu, just traverse the keymaps to
@@ -536,7 +536,7 @@ single_menu_item (key, item, pending_maps_ptr, notreal, maxdepth)
     }
 
   enabled = AREF (item_properties, ITEM_PROPERTY_ENABLE);
-  item_string = AREF (item_properties, ITEM_PROPERTY_NAME); 
+  item_string = AREF (item_properties, ITEM_PROPERTY_NAME);
 
   if (!NILP (map) && SREF (item_string, 0) == '@')
     {
@@ -811,7 +811,7 @@ cached information about equivalent key sequences.  */)
 
       keymaps = 0;
     }
-  
+
   if (NILP (position))
     {
       discard_menu_items ();
@@ -828,8 +828,8 @@ cached information about equivalent key sequences.  */)
       discard_menu_items ();
       UNGCPRO;
       return Qnil;
-    }    
-  
+    }
+
   /* Display them in a menu.  */
   BLOCK_INPUT;
 
@@ -974,7 +974,7 @@ on the left of the dialog box and all following items on the right.
    But first we recompute the menu bar contents (the whole tree).
 
    This way we can safely execute Lisp code.  */
-   
+
 void
 x_activate_menubar (f)
      FRAME_PTR f;
@@ -1105,7 +1105,7 @@ free_menubar_widget_value_tree (wv)
      widget_value *wv;
 {
   if (! wv) return;
-  
+
   wv->name = wv->value = wv->key = (char *) 0xDEADBEEF;
 
   if (wv->contents && (wv->contents != (widget_value*)1))
@@ -1171,7 +1171,7 @@ parse_single_submenu (item_key, item_name, maps)
                               item_key, 0, 10);
        }
     }
-  
+
   return top_level_items;
 }
 
@@ -1200,7 +1200,7 @@ digest_single_submenu (start, end, top_level_items)
   first_wv = wv;
   save_wv = 0;
   prev_wv = 0;
+
   /* Loop over all panes and items made by the preceding call
      to parse_single_submenu and construct a tree of widget_value objects.
      Ignore the panes and items used by previous calls to
@@ -1304,7 +1304,7 @@ digest_single_submenu (start, end, top_level_items)
 #endif /* not HAVE_MULTILINGUAL_MENU */
 
          wv = xmalloc_widget_value ();
-         if (prev_wv) 
+         if (prev_wv)
            prev_wv->next = wv;
          else
            save_wv->contents = wv;
@@ -1477,7 +1477,7 @@ set_frame_menubar (f, first_time, deep_p)
          menu_items_n_panes = submenu_n_panes[i];
          wv = digest_single_submenu (submenu_start[i], submenu_end[i],
                                      submenu_top_level_items[i]);
-         if (prev_wv) 
+         if (prev_wv)
            prev_wv->next = wv;
          else
            first_wv->contents = wv;
@@ -1559,7 +1559,7 @@ set_frame_menubar (f, first_time, deep_p)
             This value just has to be different from small integers.  */
          wv->call_data = (void *) (EMACS_INT) (-1);
 
-         if (prev_wv) 
+         if (prev_wv)
            prev_wv->next = wv;
          else
            first_wv->contents = wv;
@@ -1595,7 +1595,7 @@ set_frame_menubar (f, first_time, deep_p)
 
     f->output_data.w32->menubar_widget = menubar_widget;
     SetMenu (FRAME_W32_WINDOW (f), f->output_data.w32->menubar_widget);
-    /* Causes flicker when menu bar is updated 
+    /* Causes flicker when menu bar is updated
     DrawMenuBar (FRAME_W32_WINDOW (f)); */
 
     /* Force the window size to be recomputed so that the frame's text
@@ -1697,7 +1697,7 @@ w32_menu_show (f, x, y, for_click, keymaps, title, error)
   wv->help = Qnil;
   first_wv = wv;
   first_pane = 1;
+
   /* Loop over all panes and items, filling in the tree.  */
   i = 0;
   while (i < menu_items_used)
@@ -1800,9 +1800,9 @@ w32_menu_show (f, x, y, for_click, keymaps, title, error)
 #endif /* not HAVE_MULTILINGUAL_MENU */
 
          wv = xmalloc_widget_value ();
-         if (prev_wv) 
+         if (prev_wv)
            prev_wv->next = wv;
-         else 
+         else
            save_wv->contents = wv;
          wv->name = (char *) SDATA (item_name);
          if (!NILP (descrip))
@@ -1872,7 +1872,7 @@ w32_menu_show (f, x, y, for_click, keymaps, title, error)
   menu_item_selection = 0;
 
   /* Display the menu.  */
-  menu_item_selection = SendMessage (FRAME_W32_WINDOW (f), 
+  menu_item_selection = SendMessage (FRAME_W32_WINDOW (f),
                                     WM_EMACS_TRACKPOPUPMENU,
                                     (WPARAM)menu, (LPARAM)&pos);
 
@@ -1981,7 +1981,7 @@ w32_dialog_show (f, keymaps, title, error)
     pane_name = AREF (menu_items, MENU_ITEMS_PANE_NAME);
     prefix = AREF (menu_items, MENU_ITEMS_PANE_PREFIX);
     pane_string = (NILP (pane_name)
-                  ? "" : (char *) SDATA (pane_name));  
+                  ? "" : (char *) SDATA (pane_name));
     prev_wv = xmalloc_widget_value ();
     prev_wv->value = pane_string;
     if (keymaps && !NILP (prefix))
@@ -1990,12 +1990,12 @@ w32_dialog_show (f, keymaps, title, error)
     prev_wv->name = "message";
     prev_wv->help = Qnil;
     first_wv = prev_wv;
+
     /* Loop over all panes and items, filling in the tree.  */
     i = MENU_ITEMS_PANE_LENGTH;
     while (i < menu_items_used)
       {
-       
+
        /* Create a new item within current pane.  */
        Lisp_Object item_name, enable, descrip, help;
 
@@ -2003,7 +2003,7 @@ w32_dialog_show (f, keymaps, title, error)
        enable = AREF (menu_items, i + MENU_ITEMS_ITEM_ENABLE);
        descrip = AREF (menu_items, i + MENU_ITEMS_ITEM_EQUIV_KEY);
         help = AREF (menu_items, i + MENU_ITEMS_ITEM_HELP);
-       
+
        if (NILP (item_name))
          {
            free_menubar_widget_value_tree (first_wv);
@@ -2087,7 +2087,7 @@ w32_dialog_show (f, keymaps, title, error)
   /* Process events that apply to the menu.  */
   popup_get_selection ((XEvent *) 0, FRAME_X_DISPLAY_INFO (f), dialog_id);
 
-  lw_destroy_all_widgets (dialog_id); 
+  lw_destroy_all_widgets (dialog_id);
 
   /* Find the selected item, and its pane, to return
      the proper value.  */
@@ -2164,7 +2164,7 @@ add_menu_item (HMENU menu, widget_value *wv, HMENU item)
       fuFlags = MF_SEPARATOR;
       out_string = NULL;
     }
-  else 
+  else
     {
       if (wv->enabled)
        fuFlags = MF_STRING;
index c009582b1c7b4a732bbb9db8b5123fd528228d9f..7241784925c5b531b701970331064953c8100672 100644 (file)
@@ -120,11 +120,11 @@ typedef void (_CALLBACK_ *signal_handler)(int);
 static signal_handler sig_handlers[NSIG];
 
 /* Fake signal implementation to record the SIGCHLD handler.  */
-signal_handler 
+signal_handler
 sys_signal (int sig, signal_handler handler)
 {
   signal_handler old;
-  
+
   if (sig != SIGCHLD)
     {
       errno = EINVAL;
@@ -151,7 +151,7 @@ new_child (void)
 {
   child_process *cp;
   DWORD id;
-  
+
   for (cp = child_procs+(child_proc_count-1); cp >= child_procs; cp--)
     if (!CHILD_ACTIVE (cp))
       goto Initialise;
@@ -182,7 +182,7 @@ new_child (void)
   return NULL;
 }
 
-void 
+void
 delete_child (child_process *cp)
 {
   int i;
@@ -257,14 +257,14 @@ find_child_pid (DWORD pid)
    is normally blocked until woken by select() to check for input by
    reading one char.  When the read completes, char_avail is signalled
    to wake up the select emulator and the thread blocks itself again. */
-DWORD WINAPI 
+DWORD WINAPI
 reader_thread (void *arg)
 {
   child_process *cp;
-  
+
   /* Our identity */
   cp = (child_process *)arg;
-  
+
   /* We have to wait for the go-ahead before we can start */
   if (cp == NULL
       || WaitForSingleObject (cp->char_consumed, INFINITE) != WAIT_OBJECT_0)
@@ -287,11 +287,11 @@ reader_thread (void *arg)
 
       if (rc == STATUS_READ_ERROR)
        return 1;
-        
+
       /* If the read died, the child has died so let the thread die */
       if (rc == STATUS_READ_FAILED)
        break;
-        
+
       /* Wait until our input is acknowledged before reading again */
       if (WaitForSingleObject (cp->char_consumed, INFINITE) != WAIT_OBJECT_0)
         {
@@ -308,7 +308,7 @@ reader_thread (void *arg)
    sys_spawnve, and is not generally valid at any other time.  */
 static char * process_dir;
 
-static BOOL 
+static BOOL
 create_child (char *exe, char *cmdline, char *env, int is_gui_app,
              int * pPid, child_process *cp)
 {
@@ -319,12 +319,12 @@ create_child (char *exe, char *cmdline, char *env, int is_gui_app,
 #endif
   DWORD flags;
   char dir[ MAXPATHLEN ];
-  
+
   if (cp == NULL) abort ();
-  
+
   memset (&start, 0, sizeof (start));
   start.cb = sizeof (start);
-  
+
 #ifdef HAVE_NTGUI
   if (NILP (Vw32_start_process_show_window) && !is_gui_app)
     start.dwFlags = STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW;
@@ -347,7 +347,7 @@ create_child (char *exe, char *cmdline, char *env, int is_gui_app,
   sec_attrs.nLength = sizeof (sec_attrs);
   sec_attrs.lpSecurityDescriptor = NULL /* &sec_desc */;
   sec_attrs.bInheritHandle = FALSE;
-  
+
   strcpy (dir, process_dir);
   unixtodos_filename (dir);
 
@@ -383,22 +383,22 @@ create_child (char *exe, char *cmdline, char *env, int is_gui_app,
    to register the handle with the process
    This way the select emulator knows how to match file handles with
    entries in child_procs.  */
-void 
+void
 register_child (int pid, int fd)
 {
   child_process *cp;
-  
+
   cp = find_child_pid (pid);
   if (cp == NULL)
     {
       DebPrint (("register_child unable to find pid %lu\n", pid));
       return;
     }
-  
+
 #ifdef FULL_DEBUG
   DebPrint (("register_child registered fd %d with pid %lu\n", fd, pid));
 #endif
-  
+
   cp->fd = fd;
 
   /* thread is initially blocked until select is called; set status so
@@ -419,7 +419,7 @@ register_child (int pid, int fd)
    signal failure to the select emulator.
    The select emulator then calls this routine to clean up.
    Since the thread signaled failure we can assume it is exiting.  */
-static void 
+static void
 reap_subprocess (child_process *cp)
 {
   if (cp->procinfo.hProcess)
@@ -448,7 +448,7 @@ reap_subprocess (child_process *cp)
    When it does, close its handle
    Return the pid and fill in the status if non-NULL.  */
 
-int 
+int
 sys_wait (int *status)
 {
   DWORD active, retval;
@@ -456,7 +456,7 @@ sys_wait (int *status)
   int pid;
   child_process *cp, *cps[MAX_CHILDREN];
   HANDLE wait_hnd[MAX_CHILDREN];
-  
+
   nh = 0;
   if (dead_child != NULL)
     {
@@ -479,7 +479,7 @@ sys_wait (int *status)
            nh++;
          }
     }
-  
+
   if (nh == 0)
     {
       /* Nothing to wait on, so fail */
@@ -535,7 +535,7 @@ get_result:
     retval = SIGINT;
   else
     retval <<= 8;
-  
+
   cp = cps[active];
   pid = cp->pid;
 #ifdef FULL_DEBUG
@@ -571,7 +571,7 @@ get_result:
     }
 
   reap_subprocess (cp);
-  
+
   return pid;
 }
 
@@ -580,7 +580,7 @@ w32_executable_type (char * filename, int * is_dos_app, int * is_cygnus_app, int
 {
   file_data executable;
   char * p;
-  
+
   /* Default values in case we can't tell for sure.  */
   *is_dos_app = FALSE;
   *is_cygnus_app = FALSE;
@@ -590,7 +590,7 @@ w32_executable_type (char * filename, int * is_dos_app, int * is_cygnus_app, int
     return;
 
   p = strrchr (filename, '.');
-  
+
   /* We can only identify DOS .com programs from the extension. */
   if (p && stricmp (p, ".com") == 0)
     *is_dos_app = TRUE;
@@ -623,11 +623,11 @@ w32_executable_type (char * filename, int * is_dos_app, int * is_cygnus_app, int
 
       nt_header = (PIMAGE_NT_HEADERS) ((char *) dos_header + dos_header->e_lfanew);
 
-      if ((char *) nt_header > (char *) dos_header + executable.size) 
+      if ((char *) nt_header > (char *) dos_header + executable.size)
        {
          /* Some dos headers (pkunzip) have bogus e_lfanew fields.  */
          *is_dos_app = TRUE;
-       } 
+       }
       else if (nt_header->Signature != IMAGE_NT_SIGNATURE
               && LOWORD (nt_header->Signature) != IMAGE_OS2_SIGNATURE)
        {
@@ -664,7 +664,7 @@ w32_executable_type (char * filename, int * is_dos_app, int * is_cygnus_app, int
          *is_gui_app = (nt_header->OptionalHeader.Subsystem == IMAGE_SUBSYSTEM_WINDOWS_GUI);
        }
     }
-  
+
 unwind:
   close_file_data (&executable);
 }
@@ -717,7 +717,7 @@ merge_and_sort_env (char **envp1, char **envp2, char **new_envp)
 
 /* When a new child process is created we need to register it in our list,
    so intercept spawn requests.  */
-int 
+int
 sys_spawnve (int mode, char *cmdname, char **argv, char **envp)
 {
   Lisp_Object program, full;
@@ -746,7 +746,7 @@ sys_spawnve (int mode, char *cmdname, char **argv, char **envp)
   if (NILP (Ffile_executable_p (program)))
     {
       struct gcpro gcpro1;
-      
+
       full = Qnil;
       GCPRO1 (program);
       openp (Vexec_path, program, Vexec_suffixes, &full, make_number (X_OK));
@@ -789,7 +789,7 @@ sys_spawnve (int mode, char *cmdname, char **argv, char **envp)
        }
       unixtodos_filename (cmdname);
     }
-  
+
   /* we have to do some conjuring here to put argv and envp into the
      form CreateProcess wants...  argv needs to be a space separated/null
      terminated list of parameters, and envp is a null
@@ -830,8 +830,8 @@ sys_spawnve (int mode, char *cmdname, char **argv, char **envp)
       else
        escape_char = is_cygnus_app ? '"' : '\\';
     }
-  
-  /* Cygwin apps needs quoting a bit more often */ 
+
+  /* Cygwin apps needs quoting a bit more often */
   if (escape_char == '"')
     sepchars = "\r\n\t\f '";
 
@@ -966,7 +966,7 @@ sys_spawnve (int mode, char *cmdname, char **argv, char **envp)
       targ++;
     }
   *--parg = '\0';
-  
+
   /* and envp...  */
   arglen = 1;
   targ = envp;
@@ -977,7 +977,7 @@ sys_spawnve (int mode, char *cmdname, char **argv, char **envp)
       numenv++;
     }
   /* extra env vars... */
-  sprintf (ppid_env_var_buffer, "EM_PARENT_PROCESS_ID=%d", 
+  sprintf (ppid_env_var_buffer, "EM_PARENT_PROCESS_ID=%d",
           GetCurrentProcessId ());
   arglen += strlen (ppid_env_var_buffer) + 1;
   numenv++;
@@ -1004,7 +1004,7 @@ sys_spawnve (int mode, char *cmdname, char **argv, char **envp)
       errno = EAGAIN;
       return -1;
     }
-  
+
   /* Now create the process.  */
   if (!create_child (cmdname, cmdline, env, is_gui_app, &pid, cp))
     {
@@ -1012,7 +1012,7 @@ sys_spawnve (int mode, char *cmdname, char **argv, char **envp)
       errno = ENOEXEC;
       return -1;
     }
-  
+
   return pid;
 }
 
@@ -1043,7 +1043,7 @@ extern HANDLE interrupt_handle;
 /* From process.c */
 extern int proc_buffered_char[];
 
-int 
+int
 sys_select (int nfds, SELECT_TYPE *rfds, SELECT_TYPE *wfds, SELECT_TYPE *efds,
            EMACS_TIME *timeout)
 {
@@ -1054,11 +1054,11 @@ sys_select (int nfds, SELECT_TYPE *rfds, SELECT_TYPE *wfds, SELECT_TYPE *efds,
   child_process *cp, *cps[MAX_CHILDREN];
   HANDLE wait_hnd[MAXDESC + MAX_CHILDREN];
   int fdindex[MAXDESC];   /* mapping from wait handles back to descriptors */
-  
+
   timeout_ms = timeout ? (timeout->tv_sec * 1000 + timeout->tv_usec / 1000) : INFINITE;
 
   /* If the descriptor sets are NULL but timeout isn't, then just Sleep.  */
-  if (rfds == NULL && wfds == NULL && efds == NULL && timeout != NULL) 
+  if (rfds == NULL && wfds == NULL && efds == NULL && timeout != NULL)
     {
       Sleep (timeout_ms);
       return 0;
@@ -1070,7 +1070,7 @@ sys_select (int nfds, SELECT_TYPE *rfds, SELECT_TYPE *wfds, SELECT_TYPE *efds,
       errno = EINVAL;
       return -1;
     }
-  
+
   orfds = *rfds;
   FD_ZERO (rfds);
   nr = 0;
@@ -1078,7 +1078,7 @@ sys_select (int nfds, SELECT_TYPE *rfds, SELECT_TYPE *wfds, SELECT_TYPE *efds,
   /* Always wait on interrupt_handle, to detect C-g (quit).  */
   wait_hnd[0] = interrupt_handle;
   fdindex[0] = -1;
-  
+
   /* Build a list of pipe handles to wait on.  */
   nh = 1;
   for (i = 0; i < nfds; i++)
@@ -1195,15 +1195,15 @@ count_children:
        cps[nc] = cp;
        nc++;
       }
-  
+
   /* Nothing to look for, so we didn't find anything */
-  if (nh + nc == 0) 
+  if (nh + nc == 0)
     {
       if (timeout)
        Sleep (timeout_ms);
       return 0;
     }
-  
+
   start_time = GetTickCount ();
 
   /* Wait for input or child death to be signalled.  If user input is
@@ -1362,14 +1362,14 @@ find_child_console (HWND hwnd, LPARAM arg)
   return TRUE;
 }
 
-int 
+int
 sys_kill (int pid, int sig)
 {
   child_process *cp;
   HANDLE proc_hand;
   int need_to_free = 0;
   int rc = 0;
-  
+
   /* Only handle signals that will result in the process dying */
   if (sig != SIGINT && sig != SIGKILL && sig != SIGQUIT && sig != SIGHUP)
     {
@@ -1396,7 +1396,7 @@ sys_kill (int pid, int sig)
       /* Try to locate console window for process. */
       EnumWindows (find_child_console, (LPARAM) cp);
     }
-  
+
   if (sig == SIGINT || sig == SIGQUIT)
     {
       if (NILP (Vw32_start_process_share_console) && cp && cp->hwnd)
@@ -1572,15 +1572,15 @@ prepare_standard_handles (int in, int out, int err, HANDLE handles[3])
   handles[2] = GetStdHandle (STD_ERROR_HANDLE);
 
   /* make inheritable copies of the new handles */
-  if (!DuplicateHandle (parent, 
+  if (!DuplicateHandle (parent,
                       (HANDLE) _get_osfhandle (in),
                       parent,
-                      &newstdin, 
-                      0, 
-                      TRUE, 
+                      &newstdin,
+                      0,
+                      TRUE,
                       DUPLICATE_SAME_ACCESS))
     report_file_error ("Duplicating input handle for child", Qnil);
-  
+
   if (!DuplicateHandle (parent,
                       (HANDLE) _get_osfhandle (out),
                       parent,
@@ -1589,7 +1589,7 @@ prepare_standard_handles (int in, int out, int err, HANDLE handles[3])
                       TRUE,
                       DUPLICATE_SAME_ACCESS))
     report_file_error ("Duplicating output handle for child", Qnil);
-  
+
   if (!DuplicateHandle (parent,
                       (HANDLE) _get_osfhandle (err),
                       parent,
@@ -1602,7 +1602,7 @@ prepare_standard_handles (int in, int out, int err, HANDLE handles[3])
   /* and store them as our std handles */
   if (!SetStdHandle (STD_INPUT_HANDLE, newstdin))
     report_file_error ("Changing stdin handle", Qnil);
-  
+
   if (!SetStdHandle (STD_OUTPUT_HANDLE, newstdout))
     report_file_error ("Changing stdout handle", Qnil);
 
@@ -1933,7 +1933,7 @@ human-readable form.  */)
   return make_number (GetUserDefaultLCID ());
 }
 
-  
+
 DEFUN ("w32-set-current-locale", Fw32_set_current_locale, Sw32_set_current_locale, 1, 1, 0,
        doc: /* Make Windows locale LCID be the current locale setting for Emacs.
 If successful, the new locale id is returned, otherwise nil.  */)
@@ -1990,7 +1990,7 @@ DEFUN ("w32-get-console-codepage", Fw32_get_console_codepage,
   return make_number (GetConsoleCP ());
 }
 
-  
+
 DEFUN ("w32-set-console-codepage", Fw32_set_console_codepage,
        Sw32_set_console_codepage, 1, 1, 0,
        doc: /* Make Windows codepage CP be the current codepage setting for Emacs.
@@ -2019,7 +2019,7 @@ DEFUN ("w32-get-console-output-codepage", Fw32_get_console_output_codepage,
   return make_number (GetConsoleOutputCP ());
 }
 
-  
+
 DEFUN ("w32-set-console-output-codepage", Fw32_set_console_output_codepage,
        Sw32_set_console_output_codepage, 1, 1, 0,
        doc: /* Make Windows codepage CP be the current codepage setting for Emacs.
@@ -2099,7 +2099,7 @@ The return value is the cons of the language id and the layout id.  */)
                make_number ((kl >> 16) & 0xffff));
 }
 
-  
+
 DEFUN ("w32-set-keyboard-layout", Fw32_set_keyboard_layout,
        Sw32_set_keyboard_layout, 1, 1, 0,
        doc: /* Make LAYOUT be the current keyboard layout for Emacs.
@@ -2218,7 +2218,7 @@ process temporarily).  A value of zero disables waiting entirely.  */);
 This applies when performing completions and file name expansion.
 Note that the value of this setting also affects remote file names,
 so you probably don't want to set to non-nil if you use case-sensitive
-filesystems via ange-ftp.  */); 
+filesystems via ange-ftp.  */);
   Vw32_downcase_file_names = Qnil;
 
 #if 0
index 6a8413fdc08457c843d98f71a55a30804c2d66b8..3a2bd1b68d94f0341565ea376ee70d8d75736bc3 100644 (file)
@@ -30,7 +30,7 @@ Boston, MA 02111-1307, USA.  */
 
 #define REG_ROOT "SOFTWARE\\GNU\\Emacs"
 
-LPBYTE 
+LPBYTE
 w32_get_string_resource (name, class, dwexptype)
      char *name, *class;
      DWORD dwexptype;
@@ -41,23 +41,23 @@ w32_get_string_resource (name, class, dwexptype)
   DWORD cbData;
   BOOL ok = FALSE;
   HKEY hive = HKEY_CURRENT_USER;
-  
+
  trykey:
 
   BLOCK_INPUT;
-  
+
   /* Check both the current user and the local machine to see if we have
      any resources */
 
   if (RegOpenKeyEx (hive, REG_ROOT, 0, KEY_READ, &hrootkey) == ERROR_SUCCESS)
     {
       char *keyname;
-      
+
       if (RegQueryValueEx (hrootkey, name, NULL, &dwType, NULL, &cbData) == ERROR_SUCCESS
          && dwType == dwexptype)
        {
          keyname = name;
-       } 
+       }
       else if (RegQueryValueEx (hrootkey, class, NULL, &dwType, NULL, &cbData) == ERROR_SUCCESS
               && dwType == dwexptype)
        {
@@ -67,17 +67,17 @@ w32_get_string_resource (name, class, dwexptype)
        {
          keyname = NULL;
        }
-      
+
       ok = (keyname
            && (lpvalue = (LPBYTE) xmalloc (cbData)) != NULL
            && RegQueryValueEx (hrootkey, keyname, NULL, NULL, lpvalue, &cbData) == ERROR_SUCCESS);
-      
+
       RegCloseKey (hrootkey);
     }
-  
+
   UNBLOCK_INPUT;
-  
-  if (!ok) 
+
+  if (!ok)
     {
       if (lpvalue)
        {
@@ -90,7 +90,7 @@ w32_get_string_resource (name, class, dwexptype)
          goto trykey;
        }
       return (NULL);
-    } 
+    }
   return (lpvalue);
 }
 
index bc99e0f36f2bdc64b14aa6bd30de07049fa22641..667bf9a5b453dc8d3b5f300a222ffa5e4eb83176 100644 (file)
@@ -66,7 +66,7 @@ extern struct frame *x_window_to_frame ();
 /* Structure recording bitmaps and reference count.
    If REFCOUNT is 0 then this record is free to be reused.  */
 
-struct w32_bitmap_record 
+struct w32_bitmap_record
 {
   Pixmap pixmap;
   char *file;
@@ -337,7 +337,7 @@ struct w32_output
   /* Foreground color for scroll bars.  A value of -1 means use the
      default (black for non-toolkit scroll bars).  */
   COLORREF scroll_bar_foreground_pixel;
-  
+
   /* Background color for scroll bars.  A value of -1 means use the
      default (background color of the frame for non-toolkit scroll
      bars).  */
@@ -355,7 +355,7 @@ struct w32_output
   /* Window whose cursor is hourglass_cursor.  This window is
      temporarily mapped to display an hourglass cursor.  */
   Window hourglass_window;
-  
+
   /* Non-zero means hourglass cursor is currently displayed.  */
   unsigned hourglass_p : 1;
 
@@ -595,7 +595,7 @@ struct scroll_bar {
 
 /* Return the length of the rectangle within which the top of the
    handle must stay.  This isn't equivalent to the inside height,
-   because the scroll bar handle has a minimum height.  
+   because the scroll bar handle has a minimum height.
 
    This is the real range of motion for the scroll bar, so when we're
    scaling buffer positions to scroll bar positions, we use this, not
@@ -658,7 +658,7 @@ struct scroll_bar {
    + (f)->output_data.w32->internal_border_width)
 
 
-/* Return the row/column (zero-based) of the character cell containing 
+/* Return the row/column (zero-based) of the character cell containing
    the pixel on FRAME at ROW/COL.  */
 #define PIXEL_TO_CHAR_ROW(f, row) \
   (((row) - (f)->output_data.w32->internal_border_width) \
@@ -739,11 +739,11 @@ extern void x_fullscreen_adjust P_ ((struct frame *f, int *, int *,
 #define WM_EMACS_SETCURSOR             (WM_EMACS_START + 19)
 #define WM_EMACS_END                   (WM_EMACS_START + 20)
 
-#define WND_FONTWIDTH_INDEX    (0) 
-#define WND_LINEHEIGHT_INDEX   (4) 
-#define WND_BORDER_INDEX       (8) 
-#define WND_SCROLLBAR_INDEX    (12) 
-#define WND_BACKGROUND_INDEX   (16) 
+#define WND_FONTWIDTH_INDEX    (0)
+#define WND_LINEHEIGHT_INDEX   (4)
+#define WND_BORDER_INDEX       (8)
+#define WND_SCROLLBAR_INDEX    (12)
+#define WND_BACKGROUND_INDEX   (16)
 #define WND_LAST_INDEX         (20)
 
 #define WND_EXTRA_BYTES     (WND_LAST_INDEX)
@@ -831,7 +831,7 @@ extern BOOL parse_button ();
 #define WM_MOUSELEAVE 0x02A3
 #define TME_LEAVE 0x00000002;
 
-typedef struct tagTRACKMOUSEEVENT 
+typedef struct tagTRACKMOUSEEVENT
 {
   DWORD cbSize;
   DWORD dwFlags;
index 689a2829eb37e251621ae1a5b17ff2f435fcd6c0..887320aa746e6e1fff855226d646ec4fbf0093b0 100644 (file)
@@ -38,7 +38,7 @@ extern HANDLE keyboard_handle;
 HANDLE input_available = NULL;
 HANDLE interrupt_handle = NULL;
 
-void 
+void
 init_crit ()
 {
   InitializeCriticalSection (&critsect);
@@ -56,7 +56,7 @@ init_crit ()
   interrupt_handle = CreateEvent (NULL, TRUE, FALSE, NULL);
 }
 
-void 
+void
 delete_crit ()
 {
   DeleteCriticalSection (&critsect);
@@ -160,33 +160,33 @@ int_msg *lpHead = NULL;
 int_msg *lpTail = NULL;
 int nQueue = 0;
 
-BOOL 
+BOOL
 get_next_msg (lpmsg, bWait)
      W32Msg * lpmsg;
      BOOL bWait;
 {
   BOOL bRet = FALSE;
-  
+
   enter_crit ();
-  
+
   /* The while loop takes care of multiple sets */
-  
+
   while (!nQueue && bWait)
     {
       leave_crit ();
       WaitForSingleObject (input_available, INFINITE);
       enter_crit ();
     }
-  
+
   if (nQueue)
     {
       bcopy (&(lpHead->w32msg), lpmsg, sizeof (W32Msg));
 
       {
        int_msg * lpCur = lpHead;
-           
+
        lpHead = lpHead->lpNext;
-           
+
        myfree (lpCur);
       }
 
@@ -197,13 +197,13 @@ get_next_msg (lpmsg, bWait)
 
   if (nQueue == 0)
     ResetEvent (input_available);
-  
+
   leave_crit ();
-  
+
   return (bRet);
 }
 
-BOOL 
+BOOL
 post_msg (lpmsg)
      W32Msg * lpmsg;
 {
@@ -221,14 +221,14 @@ post_msg (lpmsg)
     {
       lpTail->lpNext = lpNew;
     }
-  else 
+  else
     {
       lpHead = lpNew;
     }
 
   lpTail = lpNew;
   SetEvent (input_available);
-    
+
   leave_crit ();
 
   return (TRUE);
@@ -277,7 +277,7 @@ drain_message_queue ()
  *   It returns a bitmask that indicates which of the four values
  *   were actually found in the string.  For each value found,
  *   the corresponding argument is updated;  for each value
- *   not found, the corresponding argument is left unchanged. 
+ *   not found, the corresponding argument is left unchanged.
  */
 
 static int
@@ -287,7 +287,7 @@ read_integer (string, NextString)
 {
   register int Result = 0;
   int Sign = 1;
-  
+
   if (*string == '+')
     string++;
   else if (*string == '-')
@@ -306,7 +306,7 @@ read_integer (string, NextString)
     return (-Result);
 }
 
-int 
+int
 XParseGeometry (string, x, y, width, height)
      char *string;
      int *x, *y;
@@ -317,23 +317,23 @@ XParseGeometry (string, x, y, width, height)
   unsigned int tempWidth, tempHeight;
   int tempX, tempY;
   char *nextCharacter;
-  
+
   if ((string == NULL) || (*string == '\0')) return (mask);
   if (*string == '=')
     string++;  /* ignore possible '=' at beg of geometry spec */
-  
+
   strind = (char *)string;
-  if (*strind != '+' && *strind != '-' && *strind != 'x') 
+  if (*strind != '+' && *strind != '-' && *strind != 'x')
     {
       tempWidth = read_integer (strind, &nextCharacter);
-      if (strind == nextCharacter) 
+      if (strind == nextCharacter)
        return (0);
       strind = nextCharacter;
       mask |= WidthValue;
     }
-  
-  if (*strind == 'x' || *strind == 'X') 
-    {  
+
+  if (*strind == 'x' || *strind == 'X')
+    {
       strind++;
       tempHeight = read_integer (strind, &nextCharacter);
       if (strind == nextCharacter)
@@ -341,10 +341,10 @@ XParseGeometry (string, x, y, width, height)
       strind = nextCharacter;
       mask |= HeightValue;
     }
-  
-  if ((*strind == '+') || (*strind == '-')) 
+
+  if ((*strind == '+') || (*strind == '-'))
     {
-      if (*strind == '-') 
+      if (*strind == '-')
        {
          strind++;
          tempX = -read_integer (strind, &nextCharacter);
@@ -355,7 +355,7 @@ XParseGeometry (string, x, y, width, height)
 
        }
       else
-       {       
+       {
          strind++;
          tempX = read_integer (strind, &nextCharacter);
          if (strind == nextCharacter)
@@ -363,9 +363,9 @@ XParseGeometry (string, x, y, width, height)
          strind = nextCharacter;
        }
       mask |= XValue;
-      if ((*strind == '+') || (*strind == '-')) 
+      if ((*strind == '+') || (*strind == '-'))
        {
-         if (*strind == '-') 
+         if (*strind == '-')
            {
              strind++;
              tempY = -read_integer (strind, &nextCharacter);
@@ -386,12 +386,12 @@ XParseGeometry (string, x, y, width, height)
          mask |= YValue;
        }
     }
-  
+
   /* If strind isn't at the end of the string the it's an invalid
      geometry specification. */
-  
+
   if (*strind != '\0') return (0);
-  
+
   if (mask & XValue)
     *x = tempX;
   if (mask & YValue)
index f71193585e695eb117e0182a2dd48b54842ba6ed..0bdac7b0bffdd1ffe50001dd56402fe357074bee 100644 (file)
@@ -296,7 +296,7 @@ set_frame_size (ew)
      (the menubar and the parent of the menubar and all that sort of thing
      are managed by lwlib.)
 
-     The EmacsShell widget is simply a replacement for the Shell widget 
+     The EmacsShell widget is simply a replacement for the Shell widget
      which is able to deal with using an externally-supplied window instead
      of always creating its own.  It is not actually emacs specific, and
      should possibly have class "Shell" instead of "EmacsShell" to simplify
@@ -307,13 +307,13 @@ set_frame_size (ew)
   /* Hairily merged geometry */
   unsigned int w = ew->emacs_frame.frame->width;
   unsigned int h = ew->emacs_frame.frame->height;
-  
+
   Widget wmshell = get_wm_shell ((Widget) ew);
   /* Each Emacs shell is now independent and top-level.  */
-  
+
   if (! XtIsSubclass (wmshell, shellWidgetClass)) abort ();
 
-  /* We don't need this for the moment. The geometry is computed in 
+  /* We don't need this for the moment. The geometry is computed in
      xfns.c.  */
 #if 0
   /* If the EmacsFrame doesn't have a geometry but the shell does,
@@ -326,20 +326,20 @@ set_frame_size (ew)
      this bogus? I'm not sure.) */
   if (!ew->emacs_frame.iconic)
     XtVaGetValues (wmshell, XtNiconic, &ew->emacs_frame.iconic, NULL);
-  
-  
+
+
   {
     char *geom = 0;
     XtVaGetValues (app_shell, XtNgeometry, &geom, NULL);
     if (geom)
       app_flags = XParseGeometry (geom, &app_x, &app_y, &app_w, &app_h);
   }
-  
+
   if (ew->emacs_frame.geometry)
     frame_flags = XParseGeometry (ew->emacs_frame.geometry,
                                   &frame_x, &frame_y,
                                   &frame_w, &frame_h);
-  
+
   if (first_frame_p)
     {
       /* If this is the first frame created:
@@ -516,7 +516,7 @@ update_wm_hints (ew)
                      &char_width, &char_height);
   char_to_pixel_size (ew, char_width, char_height,
                      &rounded_width, &rounded_height);
-  get_default_char_pixel_size (ew, &cw, &ch); 
+  get_default_char_pixel_size (ew, &cw, &ch);
 
   base_width = (wmshell->core.width - ew->core.width
                + (rounded_width - (char_width * cw)));
@@ -531,7 +531,7 @@ update_wm_hints (ew)
   XtVaSetValues (wmshell,
                 XtNbaseWidth, (XtArgVal) base_width,
                 XtNbaseHeight, (XtArgVal) base_height,
-                XtNwidthInc, (XtArgVal) cw, 
+                XtNwidthInc, (XtArgVal) cw,
                 XtNheightInc, (XtArgVal) ch,
                 XtNminWidth, (XtArgVal) (base_width + min_cols * cw),
                 XtNminHeight, (XtArgVal) (base_height + min_rows * ch),
@@ -667,7 +667,7 @@ update_from_various_frame_slots (ew)
   ew->core.border_pixel = x->border_pixel;
 }
 
-static void 
+static void
 EmacsFrameInitialize (request, new, dum1, dum2)
      Widget request;
      Widget new;
@@ -706,7 +706,7 @@ EmacsFrameInitialize (request, new, dum1, dum2)
     face_res.default_addr = 0;
     XtGetSubresources ((Widget) ew, (XtPointer) &f, "default", "Face",
                       &face_res, 1, NULL, 0);
-      
+
     if (f)
        ew->emacs_frame.font = f;
     else if (! ew->emacs_frame.font)
@@ -721,7 +721,7 @@ EmacsFrameInitialize (request, new, dum1, dum2)
 #endif
 
   update_from_various_frame_slots (ew);
-  set_frame_size (ew); 
+  set_frame_size (ew);
 /*create_frame_gcs (ew);
   setup_frame_gcs (ew);
   update_various_frame_slots (ew); */
@@ -745,7 +745,7 @@ EmacsFrameRealize (widget, mask, attrs)
   *mask |= CWEventMask;
   XtCreateWindow (widget, InputOutput, (Visual *)CopyFromParent, *mask,
                  attrs);
-  update_wm_hints (ew); 
+  update_wm_hints (ew);
 }
 
 extern void free_frame_faces (/* struct frame * */);
@@ -781,7 +781,7 @@ EmacsFrameResize (widget)
 
   pixel_to_char_size (ew, ew->core.width, ew->core.height, &columns, &rows);
   change_frame_size (f, rows, columns, 0, 1, 0);
-  update_wm_hints (ew); 
+  update_wm_hints (ew);
   update_various_frame_slots (ew);
 
   cancel_mouse_face (f);
@@ -806,14 +806,14 @@ EmacsFrameSetValues (cur_widget, req_widget, new_widget, dum1, dum2)
   int char_width, char_height;
   Dimension pixel_width;
   Dimension pixel_height;
-  
+
   has_to_recompute_gcs = (cur->emacs_frame.font != new->emacs_frame.font
                          || (cur->emacs_frame.foreground_pixel
                              != new->emacs_frame.foreground_pixel)
                          || (cur->core.background_pixel
                              != new->core.background_pixel)
                          );
-  
+
   has_to_recompute_size = (cur->emacs_frame.font != new->emacs_frame.font
                           && cur->core.width == new->core.width
                           && cur->core.height == new->core.height);
@@ -825,7 +825,7 @@ EmacsFrameSetValues (cur_widget, req_widget, new_widget, dum1, dum2)
       setup_frame_gcs (new);
       needs_a_refresh = True;
     }
-                         
+
   if (has_to_recompute_size)
     {
       pixel_width = new->core.width;
@@ -906,7 +906,7 @@ EmacsFrameSetCharSize (widget, columns, rows)
   EmacsFrame ew = (EmacsFrame) widget;
   Dimension pixel_width, pixel_height;
   struct frame *f = ew->emacs_frame.frame;
-  
+
   if (columns < 3) columns = 3;  /* no way buddy */
 
   check_frame_size (f, &rows, &columns);
@@ -968,7 +968,7 @@ EmacsFrameSetCharSize (widget, columns, rows)
 #ifdef SIGIO
       sigblock (sigmask (SIGIO));
 #endif
-      
+
       /* Do parents first, otherwise LessTif's geometry management
         enters an infinite loop (as of 2000-01-15).  This is fixed in
         later versions of LessTif (as of 2001-03-13); I'll leave it
@@ -991,7 +991,7 @@ EmacsFrameSetCharSize (widget, columns, rows)
       sigunblock (sigmask (SIGIO));
 #endif
       turn_on_atimers (1);
-      
+
       lw_refigure_widget (f->output_data.x->column_widget, True);
 
       update_hints_inhibit = 0;
index 91a64c160250436712ede5788d9240c8875cd748..d7bec41289c60f28526fd0dc874f266de1d8571d 100644 (file)
@@ -38,7 +38,7 @@ typedef struct {
   /* The rest of this is crap and should be deleted.
    */
   int          minibuffer;     /* 0: normal frames with minibuffers.
-                                * 1: frames without minibuffers 
+                                * 1: frames without minibuffers
                                 * 2: minibuffer only. */
   Boolean      unsplittable;   /* frame can only have one window */
 
index 83440f440cc52f44e7e43ee0340926ec5926b797..302eef2414dbb36b9492631d546843d762e9df93 100644 (file)
@@ -451,11 +451,11 @@ window so that the location of point becomes invisible.  */)
 
   CHECK_NUMBER (ncol);
   hscroll = max (0, XINT (ncol));
-  
+
   /* Prevent redisplay shortcuts when changing the hscroll.  */
   if (XINT (w->hscroll) != hscroll)
     XBUFFER (w->buffer)->prevent_redisplay_optimizations_p = 1;
-  
+
   w->hscroll = make_number (hscroll);
   return ncol;
 }
@@ -543,7 +543,7 @@ coordinates_in_window (w, x, y)
 
   if (*x < x0 || *x >= x1)
     return ON_NOTHING;
-  
+
   /* In what's below, we subtract 1 when computing right_x because we
      want the rightmost pixel, which is given by left_pixel+width-1.  */
   if (w->pseudo_window_p)
@@ -578,7 +578,7 @@ coordinates_in_window (w, x, y)
         as the vertical border.    If scroll bars on the left,
         return the right window.  */
       part = ON_MODE_LINE;
-      
+
       if (FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT (f))
        {
          if (abs (*x - x0) < grabbable_width)
@@ -592,7 +592,7 @@ coordinates_in_window (w, x, y)
           && *y >= top_y)
     {
       part = ON_HEADER_LINE;
-      
+
       if (FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT (f))
        {
          if (abs (*x - x0) < grabbable_width)
@@ -626,7 +626,7 @@ coordinates_in_window (w, x, y)
        {
          /* Other lines than the mode line don't include fringes and
             scroll bars on the left.  */
-      
+
          /* Convert X and Y to window-relative pixel coordinates.  */
          *x -= left_x;
          *y -= top_y;
@@ -659,7 +659,7 @@ coordinates_in_window (w, x, y)
        {
          /* Other lines than the mode line don't include fringes and
             scroll bars on the left.  */
-      
+
          /* Convert X and Y to window-relative pixel coordinates.  */
          *x -= left_x;
          *y -= top_y;
@@ -744,7 +744,7 @@ If they are in the windows's left or right marginal areas, `left-margin'\n\
     case ON_TEXT:
       /* X and Y are now window relative pixel coordinates.  Convert
         them to canonical char units before returning them.  */
-      return Fcons (CANON_X_FROM_PIXEL_X (f, x), 
+      return Fcons (CANON_X_FROM_PIXEL_X (f, x),
                    CANON_Y_FROM_PIXEL_Y (f, y));
 
     case ON_MODE_LINE:
@@ -758,13 +758,13 @@ If they are in the windows's left or right marginal areas, `left-margin'\n\
 
     case ON_LEFT_FRINGE:
       return Qleft_fringe;
-      
+
     case ON_RIGHT_FRINGE:
       return Qright_fringe;
 
     case ON_LEFT_MARGIN:
       return Qleft_margin;
-      
+
     case ON_RIGHT_MARGIN:
       return Qright_margin;
 
@@ -805,7 +805,7 @@ check_window_containing (w, user_data)
       XSETWINDOW (*cw->window, w);
       continue_p = 0;
     }
-  
+
   return continue_p;
 }
 
@@ -839,7 +839,7 @@ window_from_coordinates (f, x, y, part, tool_bar_p)
   window = Qnil;
   cw.window = &window, cw.x = &x, cw.y = &y; cw.part = part;
   foreach_window (f, check_window_containing, &cw);
-  
+
   /* If not found above, see if it's in the tool bar window, if a tool
      bar exists.  */
   if (NILP (window)
@@ -876,7 +876,7 @@ column 0.  */)
   CHECK_NUMBER_OR_FLOAT (x);
   CHECK_NUMBER_OR_FLOAT (y);
 
-  return window_from_coordinates (f, 
+  return window_from_coordinates (f,
                                  PIXEL_X_FROM_CANON_X (f, x),
                                  PIXEL_Y_FROM_CANON_Y (f, y),
                                  &part, 0);
@@ -976,13 +976,13 @@ if it isn't already recorded.  */)
          old_buffer = current_buffer;
          set_buffer_internal (b);
        }
-      
+
       start_display (&it, w, startp);
       move_it_vertically (&it, window_box_height (w));
       if (it.current_y < it.last_visible_y)
        move_it_past_eol (&it);
       value = make_number (IT_CHARPOS (it));
-      
+
       if (old_buffer)
        set_buffer_internal (old_buffer);
     }
@@ -1010,7 +1010,7 @@ DEFUN ("set-window-point", Fset_window_point, Sset_window_point, 2, 2, 0,
      the new value of point.  */
   if (!EQ (window, selected_window))
     ++windows_or_buffers_changed;
-  
+
   return pos;
 }
 
@@ -1093,7 +1093,7 @@ window_display_table (w)
   else if (BUFFERP (w->buffer))
     {
       struct buffer *b = XBUFFER (w->buffer);
-      
+
       if (DISP_TABLE_P (b->display_table))
        dp = XCHAR_TABLE (b->display_table);
       else if (DISP_TABLE_P (Vstandard_display_table))
@@ -1159,7 +1159,7 @@ unshow_buffer (w)
                         clip_to_bounds (BUF_BEGV_BYTE (b),
                                         marker_byte_position (w->pointm),
                                         BUF_ZV_BYTE (b)));
-  
+
   if (WINDOWP (b->last_selected_window)
       && w == XWINDOW (b->last_selected_window))
     b->last_selected_window = Qnil;
@@ -1441,7 +1441,7 @@ window_list ()
          Vwindow_list = Fnconc (2, args);
        }
     }
-  
+
   return Vwindow_list;
 }
 
@@ -1518,14 +1518,14 @@ decode_next_window_args (window, minibuf, all_frames)
     *window = selected_window;
   else
     CHECK_LIVE_WINDOW (*window);
-  
+
   /* MINIBUF nil may or may not include minibuffers.  Decide if it
      does.  */
   if (NILP (*minibuf))
     *minibuf = minibuf_level ? minibuf_window : Qlambda;
   else if (!EQ (*minibuf, Qt))
     *minibuf = Qlambda;
-  
+
   /* Now *MINIBUF can be t => count all minibuffer windows, `lambda'
      => count none of them, or a specific minibuffer window (the
      active one) to count.  */
@@ -1543,7 +1543,7 @@ decode_next_window_args (window, minibuf, all_frames)
     ;
   else if (!EQ (*all_frames, Qt))
     *all_frames = Qnil;
-  
+
   /* Now *ALL_FRAMES is t meaning search all frames, nil meaning
      search just current frame, `visible' meaning search just visible
      frames, 0 meaning search visible and iconified frames, or a
@@ -1563,17 +1563,17 @@ next_window (window, minibuf, all_frames, next_p)
      int next_p;
 {
   decode_next_window_args (&window, &minibuf, &all_frames);
-  
+
   /* If ALL_FRAMES is a frame, and WINDOW isn't on that frame, just
      return the first window on the frame.  */
   if (FRAMEP (all_frames)
       && !EQ (all_frames, XWINDOW (window)->frame))
     return Fframe_first_window (all_frames);
-  
+
   if (next_p)
     {
       Lisp_Object list;
-      
+
       /* Find WINDOW in the list of all windows.  */
       list = Fmemq (window, window_list ());
 
@@ -1597,7 +1597,7 @@ next_window (window, minibuf, all_frames, next_p)
   else
     {
       Lisp_Object candidate, list;
-      
+
       /* Scan through the list of windows for candidates.  If there are
         candidate windows in front of WINDOW, the last one of these
         is the one we want.  If there are candidates following WINDOW
@@ -1703,7 +1703,7 @@ argument ALL_FRAMES is non-nil, cycle through all frames.  */)
 
   CHECK_NUMBER (arg);
   window = selected_window;
-  
+
   for (i = XINT (arg); i > 0; --i)
     window = Fnext_window (window, Qnil, all_frames);
   for (; i < 0; ++i)
@@ -1748,11 +1748,11 @@ window_list_1 (window, minibuf, all_frames)
 
   decode_next_window_args (&window, &minibuf, &all_frames);
   list = Qnil;
-  
+
   for (tail = window_list (); CONSP (tail); tail = XCDR (tail))
     if (candidate_window_p (XCAR (tail), window, minibuf, all_frames))
       list = Fcons (XCAR (tail), list);
-  
+
   return Fnreverse (list);
 }
 
@@ -1787,7 +1787,7 @@ window_loop (type, obj, mini, frames)
   Lisp_Object window, windows, best_window, frame_arg;
   struct frame *f;
   struct gcpro gcpro1;
-  
+
   /* If we're only looping through windows on a particular frame,
      frame points to that frame.  If we're looping through windows
      on all frames, frame is 0.  */
@@ -1797,7 +1797,7 @@ window_loop (type, obj, mini, frames)
     f = SELECTED_FRAME ();
   else
     f = NULL;
-  
+
   if (f)
     frame_arg = Qlambda;
   else if (XFASTINT (frames) == 0)
@@ -1826,10 +1826,10 @@ window_loop (type, obj, mini, frames)
   for (; CONSP (windows); windows = CDR (windows))
     {
       struct window *w;
-      
+
       window = XCAR (windows);
       w = XWINDOW (window);
-      
+
       /* Note that we do not pay attention here to whether the frame
         is visible, since Fwindow_list skips non-visible frames if
         that is desired, under the control of frame_arg.  */
@@ -1891,7 +1891,7 @@ window_loop (type, obj, mini, frames)
                           && EQ (XWINDOW (XCAR (windows))->frame,
                                  XWINDOW (XCAR (XCDR (windows)))->frame))
                      windows = XCDR (windows);
-                   
+
                    /* Now we can safely delete the frame.  */
                    Fdelete_frame (w->frame, Qnil);
                  }
@@ -1916,7 +1916,7 @@ window_loop (type, obj, mini, frames)
              /* Ignore dedicated windows and minibuffers.  */
              if (MINI_WINDOW_P (w) || EQ (w->dedicated, Qt))
                break;
-             
+
              if (NILP (best_window))
                best_window = window;
              else
@@ -1934,10 +1934,10 @@ window_loop (type, obj, mini, frames)
              {
                Lisp_Object buffer;
                struct frame *f = XFRAME (w->frame);
-               
+
                /* Find another buffer to show in this window.  */
                buffer = Fother_buffer (obj, Qnil, w->frame);
-               
+
                /* If this window is dedicated, and in a frame of its own,
                   kill the frame.  */
                if (EQ (window, FRAME_ROOT_WINDOW (f))
@@ -1950,7 +1950,7 @@ window_loop (type, obj, mini, frames)
                           && EQ (XWINDOW (XCAR (windows))->frame,
                                  XWINDOW (XCAR (XCDR (windows)))->frame))
                      windows = XCDR (windows);
-                   
+
                    /* Now we can safely delete the frame.  */
                    Fdelete_frame (w->frame, Qnil);
                  }
@@ -2136,7 +2136,7 @@ If FRAME is a frame, search only that frame.  */)
       CHECK_BUFFER (buffer);
       window_loop (DELETE_BUFFER_WINDOWS, buffer, 0, frame);
     }
-  
+
   return Qnil;
 }
 
@@ -2212,7 +2212,7 @@ check_frame_size (frame, rows, cols)
     = ((FRAME_MINIBUF_ONLY_P (frame) || ! FRAME_HAS_MINIBUF_P (frame))
        ? MIN_SAFE_WINDOW_HEIGHT
        : 2 * MIN_SAFE_WINDOW_HEIGHT);
-  
+
   if (FRAME_TOP_MARGIN (frame) > 0)
     min_height += FRAME_TOP_MARGIN (frame);
 
@@ -2236,11 +2236,11 @@ window_fixed_size_p (w, width_p, check_siblings_p)
 {
   int fixed_p;
   struct window *c;
-  
+
   if (!NILP (w->hchild))
     {
       c = XWINDOW (w->hchild);
-      
+
       if (width_p)
        {
          /* A horiz. combination is fixed-width if all of if its
@@ -2261,7 +2261,7 @@ window_fixed_size_p (w, width_p, check_siblings_p)
   else if (!NILP (w->vchild))
     {
       c = XWINDOW (w->vchild);
-      
+
       if (width_p)
        {
          /* A vert. combination is fixed-width if one of if its
@@ -2287,7 +2287,7 @@ window_fixed_size_p (w, width_p, check_siblings_p)
        {
          struct buffer *old = current_buffer;
          Lisp_Object val;
-      
+
          current_buffer = XBUFFER (w->buffer);
          val = find_symbol_value (Qwindow_size_fixed);
          current_buffer = old;
@@ -2296,7 +2296,7 @@ window_fixed_size_p (w, width_p, check_siblings_p)
          if (!EQ (val, Qunbound))
            {
              fixed_p = !NILP (val);
-             
+
              if (fixed_p
                  && ((EQ (val, Qheight) && width_p)
                      || (EQ (val, Qwidth) && !width_p)))
@@ -2309,7 +2309,7 @@ window_fixed_size_p (w, width_p, check_siblings_p)
       if (!fixed_p && check_siblings_p && WINDOWP (w->parent))
        {
          Lisp_Object child;
-         
+
          for (child = w->prev; !NILP (child); child = XWINDOW (child)->prev)
            if (!window_fixed_size_p (XWINDOW (child), width_p, 0))
              break;
@@ -2328,7 +2328,7 @@ window_fixed_size_p (w, width_p, check_siblings_p)
 
   return fixed_p;
 }
-  
+
 
 /* Return the minimum size of window W, not taking fixed-width windows
    into account.  WIDTH_P non-zero means return the minimum width,
@@ -2342,12 +2342,12 @@ window_min_size_1 (w, width_p)
 {
   struct window *c;
   int size;
-  
+
   if (!NILP (w->hchild))
     {
       c = XWINDOW (w->hchild);
       size = 0;
-      
+
       if (width_p)
        {
          /* The min width of a horizontal combination is
@@ -2374,7 +2374,7 @@ window_min_size_1 (w, width_p)
     {
       c = XWINDOW (w->vchild);
       size = 0;
-      
+
       if (width_p)
        {
          /* The min width of a vertical combination is
@@ -2433,15 +2433,15 @@ window_min_size (w, width_p, ignore_fixed_p, fixed)
     fixed_p = 0;
   else
     fixed_p = window_fixed_size_p (w, width_p, 1);
-  
+
   if (fixed)
     *fixed = fixed_p;
-  
+
   if (fixed_p)
     size = width_p ? XFASTINT (w->width) : XFASTINT (w->height);
   else
     size = window_min_size_1 (w, width_p);
-      
+
   return size;
 }
 
@@ -2470,7 +2470,7 @@ size_window (window, size, width_p, nodelete_p)
 
   check_min_window_sizes ();
   size = max (0, size);
-  
+
   /* If the window has been "too small" at one point,
      don't delete it for being "too small" in the future.
      Preserve it as long as that is at all possible.  */
@@ -2495,7 +2495,7 @@ size_window (window, size, width_p, nodelete_p)
        min_size = width_p ? MIN_SAFE_WINDOW_WIDTH : MIN_SAFE_WINDOW_HEIGHT;
       else
        min_size = width_p ? window_min_width : window_min_height;
-      
+
       if (size < min_size)
        {
          delete_window (window);
@@ -2547,11 +2547,11 @@ size_window (window, size, width_p, nodelete_p)
       for (child = *forward; !NILP (child); child = c->next, ++nchildren)
        {
          int child_size;
-         
+
          c = XWINDOW (child);
          child_size = width_p ? XINT (c->width) : XINT (c->height);
          total += child_size;
-         
+
          if (window_fixed_size_p (c, width_p, 0))
            {
              fixed_size += child_size;
@@ -2576,7 +2576,7 @@ size_window (window, size, width_p, nodelete_p)
       for (child = *forward; !NILP (child); child = c->next)
        {
          int new_size, old_size;
-         
+
          c = XWINDOW (child);
          old_size = width_p ? XFASTINT (c->width) : XFASTINT (c->height);
          new_size = old_size;
@@ -2594,7 +2594,7 @@ size_window (window, size, width_p, nodelete_p)
              new_size = old_size + each + extra;
              extra = 0;
            }
-         
+
          /* Set new height.  Note that size_window also propagates
             edge positions to children, so it's not a no-op if we
             didn't change the child's size.  */
@@ -2607,7 +2607,7 @@ size_window (window, size, width_p, nodelete_p)
 
       /* We should have covered the parent exactly with child windows.  */
       xassert (size == last_pos - first_pos);
-      
+
       /* Now delete any children that became too small.  */
       if (!nodelete_p)
        for (child = *forward; !NILP (child); child = c->next)
@@ -2779,7 +2779,7 @@ selects the buffer of the selected window before each command.  */)
 \f
 /* Note that selected_window can be nil
    when this is called from Fset_window_configuration.  */
+
 static Lisp_Object
 select_window_1 (window, recordflag)
      register Lisp_Object window;
@@ -2862,9 +2862,9 @@ display_buffer_1 (window)
 {
   Lisp_Object frame = XWINDOW (window)->frame;
   FRAME_PTR f = XFRAME (frame);
-  
+
   FRAME_SAMPLE_VISIBILITY (f);
-  
+
   if (!EQ (frame, selected_frame))
     {
       if (FRAME_ICONIFIED_P (f))
@@ -2872,7 +2872,7 @@ display_buffer_1 (window)
       else if (FRAME_VISIBLE_P (f))
        Fraise_frame (frame);
     }
-  
+
   return window;
 }
 
@@ -2908,7 +2908,7 @@ See `special-display-buffer-names', and `special-display-regexps'.  */)
        return XCDR (car);
     }
   return Qnil;
-}  
+}
 
 DEFUN ("same-window-p", Fsame_window_p, Ssame_window_p, 1, 1, 0,
        doc: /* Returns non-nil if a new buffer named BUFFER-NAME would use the same window.
@@ -3011,7 +3011,7 @@ displayed.  */)
     XSETFASTINT (tem, 0);
   else
     XSETFRAME (tem, last_nonminibuf_frame);
-  
+
   window = Fget_buffer_window (buffer, tem);
   if (!NILP (window)
       && (NILP (not_this_window) || !EQ (window, selected_window)))
@@ -3418,7 +3418,7 @@ window_width (window)
   return XFASTINT (p->width);
 }
 
-       
+
 #define CURBEG(w) \
   *(widthflag ? &(XWINDOW (w)->left) : &(XWINDOW (w)->top))
 
@@ -3461,19 +3461,19 @@ enlarge_window (window, delta, widthflag, preserve_before)
     {
       p = XWINDOW (window);
       parent = p->parent;
-      
+
       if (NILP (parent))
        {
          if (widthflag)
            error ("No other window to side of this one");
          break;
        }
-      
+
       if (widthflag
          ? !NILP (XWINDOW (parent)->hchild)
          : !NILP (XWINDOW (parent)->vchild))
        break;
-      
+
       window = parent;
     }
 
@@ -3563,19 +3563,19 @@ enlarge_window (window, delta, widthflag, preserve_before)
                {
                  if (this_one > delta)
                    this_one = delta;
-                 
+
                  (*setsizefun) (next, (*sizefun) (next) - this_one, 0);
                  (*setsizefun) (window, XINT (*sizep) + this_one, 0);
 
                  delta -= this_one;
                }
-             
+
              next = XWINDOW (next)->next;
            }
-         
+
          if (delta == 0)
            break;
-         
+
          if (!preserve_before && ! NILP (prev))
            {
              int this_one = ((*sizefun) (prev)
@@ -3585,15 +3585,15 @@ enlarge_window (window, delta, widthflag, preserve_before)
                {
                  if (this_one > delta)
                    this_one = delta;
-                 
+
                  first_affected = prev;
-                 
+
                  (*setsizefun) (prev, (*sizefun) (prev) - this_one, 0);
                  (*setsizefun) (window, XINT (*sizep) + this_one, 0);
 
                  delta -= this_one;
                }
-             
+
              prev = XWINDOW (prev)->prev;
            }
        }
@@ -3657,7 +3657,7 @@ enlarge_window (window, delta, widthflag, preserve_before)
 
             The function size_window will compute the new height h'
             of the window from delta1 as:
-            
+
             e = delta1/n
             x = delta1 - delta1/n * n for the 1st resizable child
             h' = h + e + x
@@ -3665,11 +3665,11 @@ enlarge_window (window, delta, widthflag, preserve_before)
             where n is the number of children that can be resized.
             We can ignore x by choosing a delta1 that is a multiple of
             n.  We want the height of this window to come out as
-            
+
             h' = h + delta
 
             So, delta1 must be
-            
+
             h + e = h + delta
             delta1/n = delta
             delta1 = n * delta.
@@ -3731,7 +3731,7 @@ enum save_restore_action
     RESTORE_ORIG_SIZES
 };
 
-static int save_restore_orig_size P_ ((struct window *, 
+static int save_restore_orig_size P_ ((struct window *,
                                        enum save_restore_action));
 
 /* Shrink windows rooted in window W to HEIGHT.  Take the space needed
@@ -3773,7 +3773,7 @@ shrink_window_lowest_first (w, height)
       int last_top;
 
       last_child = Qnil;
-      
+
       /* Find the last child.  We are taking space from lowest windows
         first, so we iterate over children from the last child
         backwards.  */
@@ -3784,7 +3784,7 @@ shrink_window_lowest_first (w, height)
       for (child = last_child; delta && !NILP (child); child = c->prev)
        {
          int this_one;
-         
+
          c = XWINDOW (child);
          this_one = XFASTINT (c->height) - MIN_SAFE_WINDOW_HEIGHT;
 
@@ -3814,7 +3814,7 @@ shrink_window_lowest_first (w, height)
    If ACTION is CHECK_ORIG_SIZES, check if orig_top and orig_height
    members are valid for all windows in the window tree.  Value is
    non-zero if they are valid.
-   
+
    If ACTION is SAVE_ORIG_SIZES, save members top and height in
    orig_top and orig_height for all windows in the tree.
 
@@ -3840,7 +3840,7 @@ save_restore_orig_size (w, action)
          if (!save_restore_orig_size (XWINDOW (w->vchild), action))
            success_p = 0;
        }
-      
+
       switch (action)
        {
        case CHECK_ORIG_SIZES:
@@ -3885,10 +3885,10 @@ grow_mini_window (w, delta)
 {
   struct frame *f = XFRAME (w->frame);
   struct window *root;
-  
+
   xassert (MINI_WINDOW_P (w));
   xassert (delta >= 0);
-          
+
   /* Check values of window_min_width and window_min_height for
      validity.  */
   check_min_window_sizes ();
@@ -3904,7 +3904,7 @@ grow_mini_window (w, delta)
           min_height.  */
        delta = max (0, XFASTINT (root->height) - min_height);
     }
-    
+
   if (delta)
     {
       /* Save original window sizes and positions, if not already done.  */
@@ -3919,7 +3919,7 @@ grow_mini_window (w, delta)
       w->height = make_number (XFASTINT (w->height) + delta);
       XSETFASTINT (w->last_modified, 0);
       XSETFASTINT (w->last_overlay_modified, 0);
-      
+
       adjust_glyphs (f);
     }
 }
@@ -4085,7 +4085,7 @@ window_scroll_pixel_based (window, n, whole, noerror)
   int vscrolled = 0;
 
   SET_TEXT_POS_FROM_MARKER (start, w->start);
-  
+
   /* If PT is not visible in WINDOW, move back one half of
      the screen.  Allow PT to be partially visible, otherwise
      something like (scroll-down 1) with PT in the line before
@@ -4099,7 +4099,7 @@ window_scroll_pixel_based (window, n, whole, noerror)
       init_iterator (&it, w, PT, PT_BYTE, NULL, DEFAULT_FACE_ID);
       it.current_y = it.last_visible_y;
       move_it_vertically (&it, - window_box_height (w) / 2);
-      
+
       /* The function move_iterator_vertically may move over more than
         the specified y-distance.  If it->w is small, e.g. a
         mini-buffer window, we may end up in front of the window's
@@ -4207,9 +4207,9 @@ window_scroll_pixel_based (window, n, whole, noerror)
         window-scroll-functions.  */
       w->force_start = Qt;
     }
-  
+
   it.current_y = it.vpos = 0;
-  
+
   /* Preserve the screen position if we must.  */
   if (preserve_y >= 0)
     {
@@ -4250,7 +4250,7 @@ window_scroll_pixel_based (window, n, whole, noerror)
          /* Save our position, in case it's correct.  */
          charpos = IT_CHARPOS (it);
          bytepos = IT_BYTEPOS (it);
-      
+
          /* See if point is on a partially visible line at the end.  */
          move_it_by_lines (&it, 1, 1);
          if (it.current_y > it.last_visible_y)
@@ -4584,7 +4584,7 @@ by this function.  */)
   Lisp_Object result;
   int hscroll;
   struct window *w = XWINDOW (selected_window);
-  
+
   if (NILP (arg))
     XSETFASTINT (arg, window_internal_width (w) - 2);
   else
@@ -4614,7 +4614,7 @@ by this function.  */)
   Lisp_Object result;
   int hscroll;
   struct window *w = XWINDOW (selected_window);
-  
+
   if (NILP (arg))
     XSETFASTINT (arg, window_internal_width (w) - 2);
   else
@@ -4622,7 +4622,7 @@ by this function.  */)
 
   hscroll = XINT (w->hscroll) - XINT (arg);
   result = Fset_window_hscroll (selected_window, make_number (hscroll));
-  
+
   if (interactive_p (0))
     w->min_hscroll = w->hscroll;
 
@@ -4754,7 +4754,7 @@ and redisplay normally--don't erase and redraw the frame.  */)
        {
          struct it it;
          struct text_pos pt;
-         
+
          SET_TEXT_POS (pt, PT, PT_BYTE);
          start_display (&it, w, pt);
          move_it_vertically (&it, - window_box_height (w) / 2);
@@ -4766,7 +4766,7 @@ and redisplay normally--don't erase and redraw the frame.  */)
          struct it it;
          struct text_pos pt;
          int y0, y1, h, nlines;
-         
+
          SET_TEXT_POS (pt, PT, PT_BYTE);
          start_display (&it, w, pt);
          y0 = it.current_y;
@@ -4783,7 +4783,7 @@ and redisplay normally--don't erase and redraw the frame.  */)
             the end of the buffer, count in some empty lines.  */
          if (it.vpos < nlines)
            y1 += (nlines - it.vpos) * CANON_Y_UNIT (it.f);
-         
+
          h = window_box_height (w) - (y1 - y0);
 
          start_display (&it, w, pt);
@@ -4808,7 +4808,7 @@ and redisplay normally--don't erase and redraw the frame.  */)
        arg = make_number (ht / 2);
       else if (XINT (arg) < 0)
        arg = make_number (XINT (arg) + ht);
-      
+
       pos = *vmotion (PT, - XINT (arg), w);
       charpos = pos.bufpos;
       bytepos = pos.bytepos;
@@ -4817,14 +4817,14 @@ and redisplay normally--don't erase and redraw the frame.  */)
   /* Set the new window start.  */
   set_marker_both (w->start, w->buffer, charpos, bytepos);
   w->window_end_valid = Qnil;
-  
+
   w->optional_new_start = Qt;
 
   if (bytepos == BEGV_BYTE || FETCH_BYTE (bytepos - 1) == '\n')
     w->start_at_line_beg = Qt;
   else
     w->start_at_line_beg = Qnil;
-  
+
   set_buffer_internal (obuf);
   return Qnil;
 }
@@ -5000,7 +5000,7 @@ the return value is nil.  Otherwise the value is t.  */)
 
   frame = XWINDOW (SAVED_WINDOW_N (saved_windows, 0)->window)->frame;
   f = XFRAME (frame);
-  
+
   /* If f is a dead frame, don't bother rebuilding its window tree.
      However, there is other stuff we should still try to do below.  */
   if (FRAME_LIVE_P (f))
@@ -5057,7 +5057,7 @@ the return value is nil.  Otherwise the value is t.  */)
       FRAME_WINDOW_SIZES_CHANGED (f) = 1;
 
       /* Problem: Freeing all matrices and later allocating them again
-        is a serious redisplay flickering problem.  What we would 
+        is a serious redisplay flickering problem.  What we would
         really like to do is to free only those matrices not reused
         below.   */
       root_window = XWINDOW (FRAME_ROOT_WINDOW (f));
@@ -5192,7 +5192,7 @@ the return value is nil.  Otherwise the value is t.  */)
        set_marker_restricted (XWINDOW (data->current_window)->pointm,
                               make_number (old_point),
                               XWINDOW (data->current_window)->buffer);
-                 
+
       Fselect_window (data->current_window);
       XBUFFER (XWINDOW (selected_window)->buffer)->last_selected_window
        = selected_window;
@@ -5231,14 +5231,14 @@ the return value is nil.  Otherwise the value is t.  */)
          if (NILP (leaf_windows[i]->buffer))
            {
              /* Assert it's not reused as a combination.  */
-             xassert (NILP (leaf_windows[i]->hchild) 
+             xassert (NILP (leaf_windows[i]->hchild)
                       && NILP (leaf_windows[i]->vchild));
              free_window_matrices (leaf_windows[i]);
            }
          else if (EQ (leaf_windows[i]->buffer, new_current_buffer))
            ++n;
        }
-      
+
       adjust_glyphs (f);
 
       UNBLOCK_INPUT;
@@ -5314,7 +5314,7 @@ count_windows (window)
 }
 
 
-/* Fill vector FLAT with leaf windows under W, starting at index I.  
+/* Fill vector FLAT with leaf windows under W, starting at index I.
    Value is last index + 1.  */
 
 static int
@@ -5329,7 +5329,7 @@ get_leaf_windows (w, flat, i)
        i = get_leaf_windows (XWINDOW (w->hchild), flat, i);
       else if (!NILP (w->vchild))
        i = get_leaf_windows (XWINDOW (w->vchild), flat, i);
-      else 
+      else
        flat[i++] = w;
 
       w = NILP (w->next) ? 0 : XWINDOW (w->next);
@@ -5541,7 +5541,7 @@ A nil width parameter means no margin.  */)
      XSETFASTINT (left, 0);
   if (INTEGERP (left) && XFASTINT (left) == 0)
     left = Qnil;
-  
+
   if ((INTEGERP (right) && XINT (right) < 0)
       || (FLOATP (right) && XFLOAT_DATA (right) <= 0))
     XSETFASTINT (right, 0);
@@ -5587,14 +5587,14 @@ Value is a multiple of the canonical character height of WINDOW.  */)
   Lisp_Object result;
   struct frame *f;
   struct window *w;
-  
+
   if (NILP (window))
     window = selected_window;
   else
     CHECK_WINDOW (window);
   w = XWINDOW (window);
   f = XFRAME (w->frame);
-  
+
   if (FRAME_WINDOW_P (f))
     result = CANON_Y_FROM_PIXEL_Y (f, -w->vscroll);
   else
@@ -5613,20 +5613,20 @@ multiple of the canonical character height of WINDOW.  */)
 {
   struct window *w;
   struct frame *f;
-  
+
   if (NILP (window))
     window = selected_window;
   else
     CHECK_WINDOW (window);
   CHECK_NUMBER_OR_FLOAT (vscroll);
-  
+
   w = XWINDOW (window);
   f = XFRAME (w->frame);
 
   if (FRAME_WINDOW_P (f))
     {
       int old_dy = w->vscroll;
-      
+
       w->vscroll = - CANON_Y_UNIT (f) * XFLOATINT (vscroll);
       w->vscroll = min (w->vscroll, 0);
 
@@ -5634,14 +5634,14 @@ multiple of the canonical character height of WINDOW.  */)
         area becomes larger than before.  */
       if (w->vscroll < 0 && w->vscroll < old_dy)
        adjust_glyphs (f);
-      
+
       /* Prevent redisplay shortcuts.  */
       XBUFFER (w->buffer)->prevent_redisplay_optimizations_p = 1;
     }
-  
+
   return Fwindow_vscroll (window);
 }
-       
+
 \f
 /* Call FN for all leaf windows on frame F.  FN is called with the
    first argument being a pointer to the leaf window, and with
@@ -5669,16 +5669,16 @@ foreach_window_1 (w, fn, user_data)
      void *user_data;
 {
   int cont;
-  
+
   for (cont = 1; w && cont;)
     {
       if (!NILP (w->hchild))
        cont = foreach_window_1 (XWINDOW (w->hchild), fn, user_data);
       else if (!NILP (w->vchild))
        cont = foreach_window_1 (XWINDOW (w->vchild), fn, user_data);
-      else 
+      else
        cont = fn (w, user_data);
-      
+
       w = NILP (w->next) ? 0 : XWINDOW (w->next);
     }
 
@@ -5701,7 +5701,7 @@ freeze_window_start (w, freeze_p)
          && ! NILP (Vminibuf_scroll_window)
          && w == XWINDOW (Vminibuf_scroll_window)))
     freeze_p = NULL;
-  
+
   w->frozen_window_start_p = freeze_p != NULL;
   return 1;
 }
@@ -5740,7 +5740,7 @@ compare_window_configurations (c1, c2, ignore_positions)
     wrong_type_argument (Qwindow_configuration_p, c1);
   if (!WINDOW_CONFIGURATIONP (c2))
     wrong_type_argument (Qwindow_configuration_p, c2);
-  
+
   d1 = (struct save_window_data *) XVECTOR (c1);
   d2 = (struct save_window_data *) XVECTOR (c2);
   sw1 = XVECTOR (d1->saved_windows);
@@ -5871,7 +5871,7 @@ syms_of_window ()
 {
   Qwindow_size_fixed = intern ("window-size-fixed");
   staticpro (&Qwindow_size_fixed);
-  
+
   staticpro (&Qwindow_configuration_change_hook);
   Qwindow_configuration_change_hook
     = intern ("window-configuration-change-hook");
index 141d482bb6091e0b10ed18f16db5f7faeed19845..5f76163231a4ed33431590d543ef8466b3d9bb4d 100644 (file)
@@ -212,7 +212,7 @@ struct window
     /* Original window height and top before mini-window was
        enlarged. */
     Lisp_Object orig_height, orig_top;
-    
+
     /* No Lisp data may follow below this point without changing
        mark_object in alloc.c.  The member current_matrix must be the
        first non-Lisp member.  */
@@ -228,17 +228,17 @@ struct window
     /* Intended cursor position.   This is a position within the
        glyph matrix.  */
     struct cursor_pos cursor;
-    
+
     /* Where the cursor actually is.  */
     struct cursor_pos phys_cursor;
-    
-    /* Cursor type and width of last cursor drawn on the window.  
+
+    /* Cursor type and width of last cursor drawn on the window.
        Used for X and w32 frames; -1 initially.  */
     int phys_cursor_type, phys_cursor_width;
 
     /* This is handy for undrawing the cursor.  */
     int phys_cursor_ascent, phys_cursor_height;
-    
+
     /* Non-zero means the cursor is currently displayed.  This can be
        set to zero by functions overpainting the cursor image.  */
     unsigned phys_cursor_on_p : 1;
@@ -261,7 +261,7 @@ struct window
     /* Amount by which lines of this window are scrolled in
        y-direction (smooth scrolling).  */
     int vscroll;
-    
+
     /* Z_BYTE - the buffer position of the last glyph in the current matrix
        of W.  Only valid if WINDOW_END_VALID is not nil.  */
     int window_end_bytepos;
@@ -284,7 +284,7 @@ struct window
 /* Return the window column at which the text in window W starts.
    This is different from the `left' field because it does not include
    a left-hand scroll bar if any.  */
-   
+
 #define WINDOW_LEFT_MARGIN(W) \
      (XFASTINT ((W)->left) \
       + FRAME_LEFT_SCROLL_BAR_WIDTH (XFRAME (WINDOW_FRAME (W))))
@@ -305,16 +305,16 @@ struct window
          ? FRAME_SCROLL_BAR_COLS (XFRAME (WINDOW_FRAME (W))) \
          : 0))
 
-/* 1 if window W takes up the full width of its frame.  */ 
+/* 1 if window W takes up the full width of its frame.  */
 
 #define WINDOW_FULL_WIDTH_P(W) \
      (XFASTINT ((W)->width) == FRAME_WINDOW_WIDTH (XFRAME (WINDOW_FRAME (W))))
 
-/* 1 if window W's has no other windows to its right in its frame.  */ 
+/* 1 if window W's has no other windows to its right in its frame.  */
 
 #define WINDOW_RIGHTMOST_P(W) \
      (WINDOW_RIGHT_EDGE (W) == FRAME_WINDOW_WIDTH (XFRAME (WINDOW_FRAME (W))))
-     
+
 
 /* This is the window in which the terminal's cursor should
    be left when nothing is being done with it.  This must
index edbf69dfe78e0e44bd6a9887fcfb82443ec1a17b..5d3602366daf36a8d31f891744c1a75a592e5d49 100644 (file)
@@ -8001,7 +8001,7 @@ redisplay_tool_bar (f)
   struct it it;
   struct glyph_row *row;
   int change_height_p = 0;
-  
+
 #ifdef USE_GTK
   if (FRAME_EXTERNAL_TOOL_BAR(f))
     update_frame_tool_bar (f);
@@ -10908,7 +10908,7 @@ redisplay_window (window, just_this_one_p)
       redisplay_tool_bar_p = WINDOWP (f->tool_bar_window)
         && (FRAME_TOOL_BAR_LINES (f) > 0
             || auto_resize_tool_bars_p);
-      
+
 #endif
 
       if (redisplay_tool_bar_p)
index 4dd0d76155f02081cf761fe2cc8994385f831b0a..bf942be245f3efcff98df9d8717dd18d49185310 100644 (file)
@@ -494,7 +494,7 @@ static int font_list_1 P_ ((struct frame *, Lisp_Object, Lisp_Object,
                            Lisp_Object, struct font_name **));
 static int font_list P_ ((struct frame *, Lisp_Object, Lisp_Object,
                          Lisp_Object, struct font_name **));
-static int try_font_list P_ ((struct frame *, Lisp_Object *, 
+static int try_font_list P_ ((struct frame *, Lisp_Object *,
                              Lisp_Object, Lisp_Object, struct font_name **,
                              int));
 static int try_alternative_families P_ ((struct frame *f, Lisp_Object,
@@ -974,13 +974,13 @@ clear_face_cache (clear_fonts_p)
       || ++clear_font_table_count == CLEAR_FONT_TABLE_COUNT)
     {
       struct x_display_info *dpyinfo;
-      
+
       /* Fonts are common for frames on one display, i.e. on
         one X screen.  */
       for (dpyinfo = x_display_list; dpyinfo; dpyinfo = dpyinfo->next)
        if (dpyinfo->n_fonts > CLEAR_FONT_TABLE_NFONTS)
          clear_font_table (dpyinfo);
-      
+
       /* From time to time see if we can unload some fonts.  This also
         frees all realized faces on all frames.  Fonts needed by
         faces will be loaded again when faces are realized again.  */
@@ -1401,7 +1401,7 @@ tty_defined_color (f, color_name, color_def, alloc)
   int status = 1;
 
   /* Defaults.  */
-  color_def->pixel = FACE_TTY_DEFAULT_COLOR; 
+  color_def->pixel = FACE_TTY_DEFAULT_COLOR;
   color_def->red = 0;
   color_def->blue = 0;
   color_def->green = 0;
@@ -2238,7 +2238,7 @@ xlfd_point_size (f, font)
     }
   else
     pixel = atoi (pixel_field);
-  
+
   if (pixel == 0)
     real_pt = 0;
   else
@@ -2306,7 +2306,7 @@ split_font_name (f, font, numeric_p)
            {
              char *start, *end;
              int j;
-             
+
              for (++p; *p && *p != ']'; ++p)
                if (*p == '~')
                  *p = '-';
@@ -2689,7 +2689,7 @@ concat_font_list (fonts1, nfonts1, fonts2, nfonts2)
 
    If REGISTRY is non-nil, return fonts with that registry and the
    alternative registries from Vface_alternative_font_registry_alist.
-   
+
    If REGISTRY is nil return fonts of any registry.
 
    Set *FONTS to a vector of font_name structures allocated from the
@@ -2703,7 +2703,7 @@ font_list (f, pattern, family, registry, fonts)
      struct font_name **fonts;
 {
   int nfonts = font_list_1 (f, pattern, family, registry, fonts);
-  
+
   if (!NILP (registry)
       && CONSP (Vface_alternative_font_registry_alist))
     {
@@ -3167,7 +3167,7 @@ lface_fully_specified_p (attrs)
   for (i = 1; i < LFACE_VECTOR_SIZE; ++i)
     if (i != LFACE_FONT_INDEX && i != LFACE_INHERIT_INDEX
        && i != LFACE_AVGWIDTH_INDEX)
-      if (UNSPECIFIEDP (attrs[i])) 
+      if (UNSPECIFIEDP (attrs[i]))
         break;
 
   return i == LFACE_VECTOR_SIZE;
@@ -4308,7 +4308,7 @@ set_font_frame_param (frame, lface)
     {
       Lisp_Object font_name;
       char *font;
-      
+
       if (STRINGP (LFACE_FONT (lface)))
        font_name = LFACE_FONT (lface);
       else
@@ -4322,7 +4322,7 @@ set_font_frame_param (frame, lface)
          font_name = build_string (font);
          xfree (font);
        }
-  
+
       Fmodify_frame_parameters (frame, Fcons (Fcons (Qfont, font_name), Qnil));
     }
 }
@@ -4524,7 +4524,7 @@ x_update_menu_appearance (f)
 #else
       const char *popup_path = "menu.popup";
 #endif
-      
+
       if (STRINGP (LFACE_FOREGROUND (lface)))
        {
          sprintf (line, "%s.%s*foreground: %s",
@@ -4548,7 +4548,7 @@ x_update_menu_appearance (f)
          XrmPutLineResource (&rdb, line);
          changed_p = 1;
        }
-         
+
       if (face->font_name
          && (!UNSPECIFIEDP (LFACE_FAMILY (lface))
              || !UNSPECIFIEDP (LFACE_SWIDTH (lface))
@@ -4579,7 +4579,7 @@ x_update_menu_appearance (f)
 #endif /* HAVE_X_WINDOWS && USE_X_TOOLKIT */
 
 
-DEFUN ("face-attribute-relative-p", Fface_attribute_relative_p, 
+DEFUN ("face-attribute-relative-p", Fface_attribute_relative_p,
        Sface_attribute_relative_p,
        2, 2, 0,
        doc: /* Return non-nil if face ATTRIBUTE VALUE is relative.  */)
@@ -5252,7 +5252,7 @@ substitution of a `dim' face for italic.  */)
       else if (weight < XLFD_WEIGHT_MEDIUM)
        test_caps = TTY_CAP_DIM;
     }
-      
+
   /* underlining */
   val = attrs[LFACE_UNDERLINE_INDEX];
   if (!UNSPECIFIEDP (val) && !NILP (val))
@@ -6286,7 +6286,7 @@ best_matching_font (f, attrs, fonts, nfonts, width_ratio, needs_overstrike)
    REGISTRY, if a string, specifies a font registry and encoding to
    match.  A value of nil means include fonts of any registry and
    encoding.
-   
+
    Return in *FONTS a pointer to a vector of font_name structures for
    the fonts matched.  Value is the number of fonts found.  */
 
@@ -6314,7 +6314,7 @@ try_alternative_families (f, family, registry, fonts)
                nfonts = font_list (f, Qnil, XCAR (alter), registry, fonts);
            }
        }
-      
+
       /* Try scalable fonts before giving up.  */
       if (nfonts == 0 && NILP (Vscalable_fonts_allowed))
        {
@@ -6337,7 +6337,7 @@ try_alternative_families (f, family, registry, fonts)
    REGISTRY, if a string, specifies a font registry and encoding to
    match.  A value of nil means include fonts of any registry and
    encoding.
-   
+
    If PREFER_FACE_FAMILY is nonzero, perfer face's family to FAMILY.
    Otherwise, prefer FAMILY.
 
@@ -6388,7 +6388,7 @@ try_font_list (f, attrs, family, registry, fonts, prefer_face_family)
        family = build_string ("fixed");
       nfonts = font_list (f, Qnil, family, registry, fonts);
     }
-      
+
   /* Try any family with the given registry.  */
   if (nfonts == 0)
     nfonts = font_list (f, Qnil, Qnil, registry, fonts);
@@ -6447,7 +6447,7 @@ choose_face_font (f, attrs, fontset, c, needs_overstrike)
       xassert (!SINGLE_BYTE_CHAR_P (c));
       return NULL;
     }
-  
+
   /* If what we got is a name pattern, return it.  */
   if (STRINGP (pattern))
     return xstrdup (SDATA (pattern));
@@ -6510,7 +6510,7 @@ realize_basic_faces (f)
          x_update_menu_appearance (f);
 #endif
        }
-      
+
       success_p = 1;
     }
 
@@ -6954,10 +6954,10 @@ map_tty_color (f, face, idx, defaulted)
       pixel = default_pixel = FACE_TTY_DEFAULT_BG_COLOR;
       default_other_pixel = FACE_TTY_DEFAULT_FG_COLOR;
     }
-  
+
   XSETFRAME (frame, f);
   color = face->lface[idx];
-  
+
   if (STRINGP (color)
       && SCHARS (color)
       && CONSP (Vtty_defined_color_alist)
@@ -7052,7 +7052,7 @@ realize_tty_face (cache, attrs, c)
   /* Map color names to color indices.  */
   map_tty_color (f, face, LFACE_FOREGROUND_INDEX, &face_colors_defaulted);
   map_tty_color (f, face, LFACE_BACKGROUND_INDEX, &face_colors_defaulted);
-  
+
   /* Swap colors if face is inverse-video.  If the colors are taken
      from the frame colors, they are already inverted, since the
      frame-creation function calls x-handle-reverse-video.  */
index 9612d1c80ce9c58c1311b9bf0e0c8edcb2ac4fb2..44a54dafe2c74e5d47f6a25730afcb7bbd2adbd0 100644 (file)
@@ -288,11 +288,11 @@ check_x_display_info (frame)
      Lisp_Object frame;
 {
   struct x_display_info *dpyinfo = NULL;
-  
+
   if (NILP (frame))
     {
       struct frame *sf = XFRAME (selected_frame);
-      
+
       if (FRAME_X_P (sf) && FRAME_LIVE_P (sf))
        dpyinfo = FRAME_X_DISPLAY_INFO (sf);
       else if (x_display_list != 0)
@@ -336,7 +336,7 @@ x_window_to_frame (dpyinfo, wdesc)
       if (f->output_data.x->hourglass_window == wdesc)
        return f;
 #ifdef USE_X_TOOLKIT
-      if ((f->output_data.x->edit_widget 
+      if ((f->output_data.x->edit_widget
           && XtWindow (f->output_data.x->edit_widget) == wdesc)
          /* A tooltip frame?  */
          || (!f->output_data.x->edit_widget
@@ -380,7 +380,7 @@ x_any_window_to_frame (dpyinfo, wdesc)
       frame = XCAR (tail);
       if (!GC_FRAMEP (frame))
         continue;
-      
+
       f = XFRAME (frame);
       if (FRAME_X_P (f) && FRAME_X_DISPLAY_INFO (f) == dpyinfo)
        {
@@ -399,8 +399,8 @@ x_any_window_to_frame (dpyinfo, wdesc)
                       || gwdesc == x->menubar_widget))
                 found = f;
 #else
-             if (wdesc == XtWindow (x->widget) 
-                 || wdesc == XtWindow (x->column_widget) 
+             if (wdesc == XtWindow (x->widget)
+                 || wdesc == XtWindow (x->column_widget)
                  || wdesc == XtWindow (x->edit_widget))
                found = f;
              /* Match if the window is this frame's menubar.  */
@@ -413,7 +413,7 @@ x_any_window_to_frame (dpyinfo, wdesc)
            found = f;
        }
     }
-  
+
   return found;
 }
 
@@ -450,8 +450,8 @@ x_non_menubar_window_to_frame (dpyinfo, wdesc)
                   || gwdesc == x->vbox_widget))
             return f;
 #else
-         if (wdesc == XtWindow (x->widget) 
-             || wdesc == XtWindow (x->column_widget) 
+         if (wdesc == XtWindow (x->widget)
+             || wdesc == XtWindow (x->column_widget)
              || wdesc == XtWindow (x->edit_widget))
            return f;
 #endif
@@ -489,7 +489,7 @@ x_menubar_window_to_frame (dpyinfo, wdesc)
         {
           GtkWidget *gwdesc = xg_win_to_widget (wdesc);
           int found = 0;
-          
+
           BLOCK_INPUT;
           if (gwdesc != 0
               && (gwdesc == x->menubar_widget
@@ -543,7 +543,7 @@ x_top_window_to_frame (dpyinfo, wdesc)
         but it seems logically wrong,
         and it causes trouble for MapNotify events.  */
          /* Match if the window is this frame's menubar.  */
-         if (x->menubar_widget 
+         if (x->menubar_widget
              && wdesc == XtWindow (x->menubar_widget))
            return f;
 #endif
@@ -860,7 +860,7 @@ static struct x_frame_parm_table x_frame_parms[] =
   {"right-fringe",             x_set_fringe_width},
   {"wait-for-wm",              x_set_wait_for_wm},
   {"fullscreen",                x_set_fullscreen},
-  
+
 };
 
 /* Attach the `x-frame-parameter' properties to
@@ -979,7 +979,7 @@ x_set_frame_parameters (f, alist)
      cursor_color) are dependent upon them.  */
   /* Process default font as well, since fringe widths depends on it.  */
   /* Also, process fullscreen, width and height depend upon that */
-  for (p = 0; p < i; p++) 
+  for (p = 0; p < i; p++)
     {
       Lisp_Object prop, val;
 
@@ -994,7 +994,7 @@ x_set_frame_parameters (f, alist)
 
          old_value = get_frame_param (f, prop);
          fullscreen_is_being_set |= EQ (prop, Qfullscreen);
-         
+
          if (NILP (Fequal (val, old_value)))
            {
              store_frame_param (f, prop, val);
@@ -1094,11 +1094,11 @@ x_set_frame_parameters (f, alist)
          position.  Resize of the frame is taken care of in the code after
          this if-statement. */
       int new_left, new_top;
-      
+
       x_fullscreen_adjust (f, &width, &height, &new_top, &new_left);
       x_fullscreen_move (f, new_top, new_left);
     }
-  
+
   /* Don't set these parameters unless they've been explicitly
      specified.  The window might be mapped or resized while we're in
      this function, and we don't want to override that unless the lisp
@@ -1242,12 +1242,12 @@ x_real_positions (f, xptr, yptr)
 
       win = wm_window;
     }
-    
+
   if (! had_errors)
     {
       int ign;
       Window child, rootw;
-          
+
       /* Get the real coordinates for the WM window upper left corner */
       XGetGeometry (FRAME_X_DISPLAY (f), win,
                     &rootw, &real_x, &real_y, &ign, &ign, &ign, &ign);
@@ -1286,23 +1286,23 @@ x_real_positions (f, xptr, yptr)
                                  /* From-window, to-window.  */
                                  FRAME_X_DISPLAY_INFO (f)->root_window,
                                  FRAME_OUTER_WINDOW (f),
-                                     
+
                                  /* From-position, to-position.  */
                                  real_x, real_y, &outer_x, &outer_y,
-                         
+
                                  /* Child of win.  */
                                  &child);
     }
 
       had_errors = x_had_errors_p (FRAME_X_DISPLAY (f));
     }
-      
+
   x_uncatch_errors (FRAME_X_DISPLAY (f), count);
-      
+
   UNBLOCK_INPUT;
 
   if (had_errors) return;
-      
+
   f->output_data.x->x_pixels_diff = -win_x;
   f->output_data.x->y_pixels_diff = -win_y;
   f->output_data.x->x_pixels_outer_diff = -outer_x;
@@ -1562,7 +1562,7 @@ x_set_foreground_color (f, arg, oldval)
   if (FRAME_X_WINDOW (f) != 0)
     {
       Display *dpy = FRAME_X_DISPLAY (f);
-      
+
       BLOCK_INPUT;
       XSetForeground (dpy, x->normal_gc, fg);
       XSetBackground (dpy, x->reverse_gc, fg);
@@ -1573,15 +1573,15 @@ x_set_foreground_color (f, arg, oldval)
          x->cursor_pixel = x_copy_color (f, fg);
          XSetBackground (dpy, x->cursor_gc, x->cursor_pixel);
        }
-      
+
       UNBLOCK_INPUT;
-      
+
       update_face_from_frame_parameter (f, Qforeground_color, arg);
-      
+
       if (FRAME_VISIBLE_P (f))
         redraw_frame (f);
     }
-      
+
   unload_color (f, old_fg);
 }
 
@@ -1600,7 +1600,7 @@ x_set_background_color (f, arg, oldval)
   if (FRAME_X_WINDOW (f) != 0)
     {
       Display *dpy = FRAME_X_DISPLAY (f);
-      
+
       BLOCK_INPUT;
       XSetBackground (dpy, x->normal_gc, bg);
       XSetForeground (dpy, x->reverse_gc, bg);
@@ -1689,7 +1689,7 @@ x_set_mouse_color (f, arg, oldval)
   else
     hourglass_cursor = XCreateFontCursor (dpy, XC_watch);
   x_check_errors (dpy, "bad hourglass pointer cursor: %s");
-  
+
   x_check_errors (dpy, "bad nontext pointer cursor: %s");
   if (!NILP (Vx_mode_pointer_shape))
     {
@@ -1730,7 +1730,7 @@ x_set_mouse_color (f, arg, oldval)
     x_query_color (f, &fore_color);
     back_color.pixel = mask_color;
     x_query_color (f, &back_color);
-    
+
     XRecolorCursor (dpy, cursor, &fore_color, &back_color);
     XRecolorCursor (dpy, nontext_cursor, &fore_color, &back_color);
     XRecolorCursor (dpy, mode_cursor, &fore_color, &back_color);
@@ -1761,7 +1761,7 @@ x_set_mouse_color (f, arg, oldval)
       && x->modeline_cursor != 0)
     XFreeCursor (dpy, f->output_data.x->modeline_cursor);
   x->modeline_cursor = mode_cursor;
-  
+
   if (cross_cursor != x->cross_cursor
       && x->cross_cursor != 0)
     XFreeCursor (dpy, x->cross_cursor);
@@ -1795,7 +1795,7 @@ x_set_cursor_color (f, arg, oldval)
     }
   else
     fore_pixel = x->background_pixel;
-  
+
   pixel = x_decode_color (f, arg, BLACK_PIX_DEFAULT (f));
   pixel_allocated_p = 1;
 
@@ -1807,7 +1807,7 @@ x_set_cursor_color (f, arg, oldval)
          x_free_colors (f, &pixel, 1);
          pixel_allocated_p = 0;
        }
-      
+
       pixel = x->mouse_pixel;
       if (pixel == fore_pixel)
        {
@@ -2015,7 +2015,7 @@ x_set_font (f, arg, oldval)
            ? x_new_fontset (f, SDATA (fontset_name))
            : x_new_font (f, SDATA (arg)));
   UNBLOCK_INPUT;
-  
+
   if (EQ (result, Qnil))
     error ("Font `%s' is not defined", SDATA (arg));
   else if (EQ (result, Qt))
@@ -2031,7 +2031,7 @@ x_set_font (f, arg, oldval)
        }
       else if (!NILP (Fequal (result, oldval)))
        return;
-      
+
       store_frame_param (f, Qfont, result);
       recompute_basic_faces (f);
     }
@@ -2245,7 +2245,7 @@ x_set_tool_bar_lines (f, value, oldval)
 
   return;
 #endif
-  
+
      /* Make sure we redisplay all windows in this frame.  */
   ++windows_or_buffers_changed;
 
@@ -2263,7 +2263,7 @@ x_set_tool_bar_lines (f, value, oldval)
   FRAME_TOOL_BAR_LINES (f) = nlines;
   x_change_window_heights (root_window, delta);
   adjust_glyphs (f);
-  
+
   /* We also have to make sure that the internal border at the top of
      the frame, below the menu bar or tool bar, is redrawn when the
      tool bar disappears.  This is so because the internal border is
@@ -2309,7 +2309,7 @@ x_set_scroll_bar_foreground (f, value, oldval)
      Lisp_Object value, oldval;
 {
   unsigned long pixel;
-  
+
   if (STRINGP (value))
     pixel = x_decode_color (f, value, BLACK_PIX_DEFAULT (f));
   else
@@ -2317,7 +2317,7 @@ x_set_scroll_bar_foreground (f, value, oldval)
 
   if (f->output_data.x->scroll_bar_foreground_pixel != -1)
     unload_color (f, f->output_data.x->scroll_bar_foreground_pixel);
-  
+
   f->output_data.x->scroll_bar_foreground_pixel = pixel;
   if (FRAME_X_WINDOW (f) && FRAME_VISIBLE_P (f))
     {
@@ -2349,10 +2349,10 @@ x_set_scroll_bar_background (f, value, oldval)
     pixel = x_decode_color (f, value, WHITE_PIX_DEFAULT (f));
   else
     pixel = -1;
-  
+
   if (f->output_data.x->scroll_bar_background_pixel != -1)
     unload_color (f, f->output_data.x->scroll_bar_background_pixel);
-  
+
 #ifdef USE_TOOLKIT_SCROLL_BARS
   /* Scrollbar shadow colors.  */
   if (f->output_data.x->scroll_bar_top_shadow_pixel != -1)
@@ -2375,7 +2375,7 @@ x_set_scroll_bar_background (f, value, oldval)
        (*condemn_scroll_bars_hook) (f);
       if (judge_scroll_bars_hook)
        (*judge_scroll_bars_hook) (f);
-      
+
       update_face_from_frame_parameter (f, Qscroll_bar_background, value);
       redraw_frame (f);
     }
@@ -2470,7 +2470,7 @@ x_set_name (f, name, explicit)
      Lisp_Object name;
      int explicit;
 {
-  /* Make sure that requests from lisp code override requests from 
+  /* Make sure that requests from lisp code override requests from
      Emacs redisplay code.  */
   if (explicit)
     {
@@ -2736,7 +2736,7 @@ x_set_vertical_scroll_bars (f, arg, oldval)
        = (NILP (arg)
           ? vertical_scroll_bar_none
           : EQ (Qright, arg)
-          ? vertical_scroll_bar_right 
+          ? vertical_scroll_bar_right
           : vertical_scroll_bar_left);
 
       /* We set this parameter before creating the X window for the
@@ -2767,7 +2767,7 @@ x_set_scroll_bar_width (f, arg, oldval)
       /* Make the actual width at least 14 pixels and a multiple of a
         character width.  */
       FRAME_SCROLL_BAR_COLS (f) = (14 + wid - 1) / wid;
-      
+
       /* Use all of that space (aside from required margins) for the
         scroll bar.  */
       FRAME_SCROLL_BAR_PIXEL_WIDTH (f) = 0;
@@ -3096,7 +3096,7 @@ x_get_arg (dpyinfo, alist, param, attribute, class, type)
              if (!strcmp (SDATA (tem), "on")
                  || !strcmp (SDATA (tem), "true"))
                return Qt;
-             else 
+             else
                return Qnil;
 
            case RES_TYPE_STRING:
@@ -3215,11 +3215,11 @@ x_default_scroll_bar_color_parameter (f, alist, prop, xprop, xclass,
             specified.  */
          tem = Qnil;
        }
-      
+
 #else /* not USE_TOOLKIT_SCROLL_BARS */
-      
+
       tem = Qnil;
-      
+
 #endif /* not USE_TOOLKIT_SCROLL_BARS */
     }
 
@@ -3417,7 +3417,7 @@ x_figure_window_size (f, parms)
     {
       int left, top;
       int width, height;
-      
+
       /* It takes both for some WM:s to place it where we want */
       window_prompting = USPosition | PPosition;
       x_fullscreen_adjust (f, &width, &height, &top, &left);
@@ -3428,7 +3428,7 @@ x_figure_window_size (f, parms)
       f->output_data.x->left_pos = left;
       f->output_data.x->top_pos = top;
     }
-  
+
   return window_prompting;
 }
 
@@ -3551,13 +3551,13 @@ xic_create_xfontset (f, base_fontname)
   char **missing_list;
   int missing_count;
   char *def_string;
-  
+
   xfs = XCreateFontSet (FRAME_X_DISPLAY (f),
                        base_fontname, &missing_list,
                        &missing_count, &def_string);
   if (missing_list)
     XFreeStringList (missing_list);
-  
+
   /* No need to free def_string. */
   return xfs;
 }
@@ -3597,7 +3597,7 @@ create_frame_xic (f)
 
   if (FRAME_XIC (f))
     return;
-  
+
   xim = FRAME_X_XIM (f);
   if (xim)
     {
@@ -3695,7 +3695,7 @@ create_frame_xic (f)
       XFree (preedit_attr);
       XFree (status_attr);
     }
-  
+
   FRAME_XIC (f) = xic;
   FRAME_XIC_STYLE (f) = xic_style;
   FRAME_XIC_FONTSET (f) = xfs;
@@ -3710,7 +3710,7 @@ free_frame_xic (f)
 {
   if (FRAME_XIC (f) == NULL)
     return;
-  
+
   XDestroyIC (FRAME_XIC (f));
   if (FRAME_XIC_FONTSET (f))
     XFreeFontSet (FRAME_X_DISPLAY (f), FRAME_XIC_FONTSET (f));
@@ -3731,7 +3731,7 @@ xic_set_preeditarea (w, x, y)
   struct frame *f = XFRAME (w->frame);
   XVaNestedList attr;
   XPoint spot;
-      
+
   spot.x = WINDOW_TO_FRAME_PIXEL_X (w, x);
   spot.y = WINDOW_TO_FRAME_PIXEL_Y (w, y) + FONT_BASE (FRAME_FONT (f));
   attr = XVaCreateNestedList (0, XNSpotLocation, &spot, NULL);
@@ -3757,7 +3757,7 @@ xic_set_statusarea (f)
   attr = XVaCreateNestedList (0, XNAreaNeeded, &area, NULL);
   XSetICValues (xic, XNStatusAttributes, attr, NULL);
   XFree (attr);
-  
+
   attr = XVaCreateNestedList (0, XNAreaNeeded, &needed, NULL);
   XGetICValues (xic, XNStatusAttributes, attr, NULL);
   XFree (attr);
@@ -3803,7 +3803,7 @@ xic_set_xfontset (f, base_fontname)
   if (FRAME_XIC_STYLE (f) & XIMStatusArea)
     XSetICValues (FRAME_XIC (f), XNStatusAttributes, attr, NULL);
   XFree (attr);
-  
+
   if (FRAME_XIC_FONTSET (f))
     XFreeFontSet (FRAME_X_DISPLAY (f), FRAME_XIC_FONTSET (f));
   FRAME_XIC_FONTSET (f) = xfs;
@@ -3839,7 +3839,7 @@ x_window (f, window_prompting, minibuffer_only)
      for the window manager, so GC relocation won't bother it.
 
      Elsewhere we specify the window name for the window manager.  */
-     
+
   {
     char *str = (char *) SDATA (Vx_resource_name);
     f->namebuf = (char *) xmalloc (strlen (str) + 1);
@@ -3876,7 +3876,7 @@ x_window (f, window_prompting, minibuffer_only)
   XtSetValues (pane_widget, al, ac);
   f->output_data.x->column_widget = pane_widget;
 
-  /* mappedWhenManaged to false tells to the paned window to not map/unmap 
+  /* mappedWhenManaged to false tells to the paned window to not map/unmap
      the emacs screen when changing menubar.  This reduces flickering.  */
 
   ac = 0;
@@ -3890,10 +3890,10 @@ x_window (f, window_prompting, minibuffer_only)
   XtSetArg (al[ac], XtNcolormap, FRAME_X_COLORMAP (f)); ac++;
   frame_widget = XtCreateWidget (f->namebuf, emacsFrameClass, pane_widget,
                                 al, ac);
+
   f->output_data.x->edit_widget = frame_widget;
-  XtManageChild (frame_widget); 
+
+  XtManageChild (frame_widget);
 
   /* Do some needed geometry management.  */
   {
@@ -3902,7 +3902,7 @@ x_window (f, window_prompting, minibuffer_only)
     Arg al[2];
     int ac = 0;
     int extra_borders = 0;
-    int menubar_size 
+    int menubar_size
       = (f->output_data.x->menubar_widget
         ? (f->output_data.x->menubar_widget->core.height
            + f->output_data.x->menubar_widget->core.border_width)
@@ -3946,13 +3946,13 @@ x_window (f, window_prompting, minibuffer_only)
 
       if (window_prompting & USPosition)
        sprintf (shell_position, "=%dx%d%c%d%c%d",
-                PIXEL_WIDTH (f) + extra_borders, 
+                PIXEL_WIDTH (f) + extra_borders,
                 PIXEL_HEIGHT (f) + menubar_size + extra_borders,
                 (xneg ? '-' : '+'), left,
                 (yneg ? '-' : '+'), top);
       else
        sprintf (shell_position, "=%dx%d",
-                PIXEL_WIDTH (f) + extra_borders, 
+                PIXEL_WIDTH (f) + extra_borders,
                 PIXEL_HEIGHT (f) + menubar_size + extra_borders);
     }
 
@@ -3970,7 +3970,7 @@ x_window (f, window_prompting, minibuffer_only)
   XtManageChild (pane_widget);
   XtRealizeWidget (shell_widget);
 
-  FRAME_X_WINDOW (f) = XtWindow (frame_widget); 
+  FRAME_X_WINDOW (f) = XtWindow (frame_widget);
 
   validate_x_resource_name ();
 
@@ -4017,7 +4017,7 @@ x_window (f, window_prompting, minibuffer_only)
       attributes.event_mask |= fevent;
     }
 #endif /* HAVE_X_I18N */
-  
+
   attribute_mask = CWEventMask;
   XChangeWindowAttributes (XtDisplay (shell_widget), XtWindow (shell_widget),
                           attribute_mask, &attributes);
@@ -4137,7 +4137,7 @@ x_window (f)
     }
 #endif
 #endif /* HAVE_X_I18N */
-  
+
   validate_x_resource_name ();
 
   class_hints.res_name = (char *) SDATA (Vx_resource_name);
@@ -4302,7 +4302,7 @@ x_make_gc (f)
      this must be done on a per-frame basis.  */
   f->output_data.x->border_tile
     = (XCreatePixmapFromBitmapData
-       (FRAME_X_DISPLAY (f), FRAME_X_DISPLAY_INFO (f)->root_window, 
+       (FRAME_X_DISPLAY (f), FRAME_X_DISPLAY_INFO (f)->root_window,
        gray_bits, gray_width, gray_height,
        f->output_data.x->foreground_pixel,
        f->output_data.x->background_pixel,
@@ -4321,7 +4321,7 @@ x_free_gcs (f)
   Display *dpy = FRAME_X_DISPLAY (f);
 
   BLOCK_INPUT;
-  
+
   if (f->output_data.x->normal_gc)
     {
       XFreeGC (dpy, f->output_data.x->normal_gc);
@@ -4333,7 +4333,7 @@ x_free_gcs (f)
       XFreeGC (dpy, f->output_data.x->reverse_gc);
       f->output_data.x->reverse_gc = 0;
     }
-  
+
   if (f->output_data.x->cursor_gc)
     {
       XFreeGC (dpy, f->output_data.x->cursor_gc);
@@ -4366,7 +4366,7 @@ unwind_create_frame (frame)
 #if GLYPH_DEBUG
       struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f);
 #endif
-      
+
       x_free_frame_resources (f);
 
       /* Check that reference counts are indeed correct.  */
@@ -4374,7 +4374,7 @@ unwind_create_frame (frame)
       xassert (dpyinfo->image_cache->refcount == image_cache_refcount);
       return Qt;
     }
-  
+
   return Qnil;
 }
 
@@ -4505,7 +4505,7 @@ This function is an internal primitive--use `make-frame' instead.  */)
     f->output_data.x->cursor_foreground_pixel = -1;
     f->output_data.x->border_pixel = -1;
     f->output_data.x->mouse_pixel = -1;
-    
+
     black = build_string ("black");
     GCPRO1 (black);
     f->output_data.x->foreground_pixel
@@ -4568,7 +4568,7 @@ This function is an internal primitive--use `make-frame' instead.  */)
        else
          font = x_new_font (f, SDATA (font));
       }
-    
+
     /* Try out a font which we hope has bold and italic variations.  */
     if (!STRINGP (font))
       font = x_new_font (f, "-adobe-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-1");
@@ -4599,7 +4599,7 @@ This function is an internal primitive--use `make-frame' instead.  */)
 
   x_default_parameter (f, parms, Qborder_width, make_number (2),
                       "borderWidth", "BorderWidth", RES_TYPE_NUMBER);
-  
+
   /* This defaults to 1 in order to match xterm.  We recognize either
      internalBorderWidth or internalBorder (which is what xterm calls
      it).  */
@@ -4654,7 +4654,7 @@ This function is an internal primitive--use `make-frame' instead.  */)
      end up in init_iterator with a null face cache, which should not
      happen.  */
   init_frame_faces (f);
-  
+
   x_default_parameter (f, parms, Qmenu_bar_lines, make_number (1),
                       "menuBar", "MenuBar", RES_TYPE_NUMBER);
   x_default_parameter (f, parms, Qtool_bar_lines, make_number (1),
@@ -4680,7 +4680,7 @@ This function is an internal primitive--use `make-frame' instead.  */)
   if (FRAME_TOOL_BAR_LINES (f))
     {
       int margin, relief, bar_height;
-      
+
       relief = (tool_bar_button_relief >= 0
                ? tool_bar_button_relief
                : DEFAULT_TOOL_BAR_BUTTON_RELIEF);
@@ -4694,7 +4694,7 @@ This function is an internal primitive--use `make-frame' instead.  */)
        margin = XFASTINT (XCDR (Vtool_bar_button_margin));
       else
        margin = 0;
-         
+
       bar_height = DEFAULT_TOOL_BAR_IMAGE_HEIGHT + 2 * margin + 2 * relief;
       f->height += (bar_height + CANON_Y_UNIT (f) - 1) / CANON_Y_UNIT (f);
     }
@@ -4728,7 +4728,7 @@ This function is an internal primitive--use `make-frame' instead.  */)
 #else
   x_window (f);
 #endif
-  
+
   x_icon (f, parms);
   x_make_gc (f);
 
@@ -4756,7 +4756,7 @@ This function is an internal primitive--use `make-frame' instead.  */)
      f->height.  */
   width = f->width;
   height = f->height;
-  
+
   f->height = 0;
   SET_FRAME_WIDTH (f, 0);
   change_frame_size (f, height, width, 1, 0, 0);
@@ -4819,7 +4819,7 @@ This function is an internal primitive--use `make-frame' instead.  */)
   /* Make sure windows on this frame appear in calls to next-window
      and similar functions.  */
   Vwindow_list = Qnil;
-  
+
   return unbind_to (count, frame);
 }
 
@@ -4867,7 +4867,7 @@ FRAME nil means use the selected frame.  */)
                  RevertToParent, CurrentTime);
   x_uncatch_errors (dpy, count);
   UNBLOCK_INPUT;
-  
+
   return Qnil;
 }
 
@@ -5184,7 +5184,7 @@ If omitted or nil, that stands for the selected frame's display.  */)
       error ("Display has an unknown visual class");
       result = Qnil;
     }
-  
+
   return result;
 }
 
@@ -5339,14 +5339,14 @@ select_visual (dpyinfo)
          || !XMatchVisualInfo (dpy, XScreenNumberOfScreen (screen),
                                dpyinfo->n_planes, class, &vinfo))
        fatal ("Invalid visual specification `%s'", SDATA (value));
-      
+
       dpyinfo->visual = vinfo.visual;
     }
   else
     {
       int n_visuals;
       XVisualInfo *vinfo, vinfo_template;
-      
+
       dpyinfo->visual = DefaultVisualOfScreen (screen);
 
 #ifdef HAVE_X11R4
@@ -5640,7 +5640,7 @@ valid_image_p (object)
      Lisp_Object object;
 {
   int valid_p = 0;
-  
+
   if (CONSP (object) && EQ (XCAR (object), Qimage))
     {
       Lisp_Object tem;
@@ -5656,7 +5656,7 @@ valid_image_p (object)
                if (type)
                  valid_p = type->valid_p (object);
              }
-           
+
            break;
          }
     }
@@ -5775,7 +5775,7 @@ parse_image_spec (spec, keywords, nkeywords, type)
         was found more than once, it's an error.  */
       keywords[i].value = value;
       ++keywords[i].count;
-      
+
       if (keywords[i].count > 1)
        return 0;
 
@@ -5819,7 +5819,7 @@ parse_image_spec (spec, keywords, nkeywords, type)
                   && XINT (value) <= 100)
            break;
          return 0;
-             
+
        case IMAGE_NON_NEGATIVE_INTEGER_VALUE:
          if (!INTEGERP (value) || XINT (value) < 0)
            return 0;
@@ -5830,7 +5830,7 @@ parse_image_spec (spec, keywords, nkeywords, type)
 
        case IMAGE_FUNCTION_VALUE:
          value = indirect_function (value);
-         if (SUBRP (value) 
+         if (SUBRP (value)
              || COMPILEDP (value)
              || (CONSP (value) && EQ (XCAR (value), Qlambda)))
            break;
@@ -5879,7 +5879,7 @@ image_spec_value (spec, key, found)
      int *found;
 {
   Lisp_Object tail;
-  
+
   xassert (valid_image_p (spec));
 
   for (tail = XCDR (spec);
@@ -5893,12 +5893,12 @@ image_spec_value (spec, key, found)
          return XCAR (XCDR (tail));
        }
     }
-  
+
   if (found)
     *found = 0;
   return Qnil;
 }
-     
+
 
 DEFUN ("image-size", Fimage_size, Simage_size, 1, 3, 0,
        doc: /* Return the size of image SPEC as pair (WIDTH . HEIGHT).
@@ -5919,7 +5919,7 @@ or omitted means use the selected frame.  */)
       struct image *img = IMAGE_FROM_ID (f, id);
       int width = img->width + 2 * img->hmargin;
       int height = img->height + 2 * img->vmargin;
-  
+
       if (NILP (pixels))
        size = Fcons (make_float ((double) width / CANON_X_UNIT (f)),
                      make_float ((double) height / CANON_Y_UNIT (f)));
@@ -5976,7 +5976,7 @@ make_image (spec, hash)
      unsigned hash;
 {
   struct image *img = (struct image *) xmalloc (sizeof *img);
-  
+
   xassert (valid_image_p (spec));
   bzero (img, sizeof *img);
   img->type = lookup_image_type (image_spec_value (spec, QCtype, NULL));
@@ -6037,7 +6037,7 @@ prepare_image_for_display (f, img)
   if (img->pixmap == None && !img->load_failed_p)
     img->load_failed_p = img->type->load (f, img) == 0;
 }
-     
+
 
 /* Value is the number of pixels for the ascent of image IMG when
    drawn in face FACE.  */
@@ -6089,7 +6089,7 @@ four_corners_best (ximg, width, height)
   for (i = best_count = 0; i < 4; ++i)
     {
       int j, n;
-         
+
       for (j = n = 0; j < 4; ++j)
        if (corners[i] == corners[j])
          ++n;
@@ -6205,7 +6205,7 @@ x_clear_image_1 (f, img, pixmap_p, mask_p, colors_p)
       img->mask = None;
       img->background_transparent_valid = 0;
     }
-      
+
   if (colors_p && img->ncolors)
     {
       x_free_colors (f, img->colors, img->ncolors);
@@ -6280,7 +6280,7 @@ make_image_cache ()
 {
   struct image_cache *c = (struct image_cache *) xmalloc (sizeof *c);
   int size;
-  
+
   bzero (c, sizeof *c);
   c->size = 50;
   c->images = (struct image **) xmalloc (c->size * sizeof *c->images);
@@ -6305,7 +6305,7 @@ free_image_cache (f)
 
       /* Cache should not be referenced by any frame when freed.  */
       xassert (c->refcount == 0);
-      
+
       for (i = 0; i < c->used; ++i)
        free_image (f, c->images[i]);
       xfree (c->images);
@@ -6342,7 +6342,7 @@ clear_image_cache (f, force_p)
       /* Block input so that we won't be interrupted by a SIGIO
         while being in an inconsistent state.  */
       BLOCK_INPUT;
-      
+
       for (i = nfreed = 0; i < c->used; ++i)
        {
          struct image *img = c->images[i];
@@ -6361,7 +6361,7 @@ clear_image_cache (f, force_p)
       if (nfreed)
        {
          Lisp_Object tail, frame;
-         
+
          FOR_EACH_FRAME (tail, frame)
            {
              struct frame *f = XFRAME (frame);
@@ -6389,7 +6389,7 @@ FRAME t means clear the image caches of all frames.  */)
   if (EQ (frame, Qt))
     {
       Lisp_Object tail;
-      
+
       FOR_EACH_FRAME (tail, frame)
        if (FRAME_X_P (XFRAME (frame)))
          clear_image_cache (XFRAME (frame), 1);
@@ -6416,7 +6416,7 @@ postprocess_image (f, img)
       Lisp_Object mask;
 
       spec = img->spec;
-      
+
       /* `:heuristic-mask t'
         `:mask heuristic'
         means build a mask heuristically.
@@ -6426,16 +6426,16 @@ postprocess_image (f, img)
         image.
         `:mask nil'
         means remove a mask, if any.  */
-             
+
       mask = image_spec_value (spec, QCheuristic_mask, NULL);
       if (!NILP (mask))
        x_build_heuristic_mask (f, img, mask);
       else
        {
          int found_p;
-                   
+
          mask = image_spec_value (spec, QCmask, &found_p);
-                 
+
          if (EQ (mask, Qheuristic))
            x_build_heuristic_mask (f, img, Qt);
          else if (CONSP (mask)
@@ -6452,8 +6452,8 @@ postprocess_image (f, img)
              img->mask = None;
            }
        }
-         
+
+
       /* Should we apply an image transformation algorithm?  */
       conversion = image_spec_value (spec, QCconversion, NULL);
       if (EQ (conversion, Qdisabled))
@@ -6495,7 +6495,7 @@ lookup_image (f, spec)
      specification.  */
   xassert (FRAME_WINDOW_P (f));
   xassert (valid_image_p (spec));
-  
+
   GCPRO1 (spec);
 
   /* Look up SPEC in the hash table of the image cache.  */
@@ -6510,7 +6510,7 @@ lookup_image (f, spec)
   if (img == NULL)
     {
       extern Lisp_Object Qpostscript;
-      
+
       BLOCK_INPUT;
       img = make_image (spec, hash);
       cache_image (f, img);
@@ -6542,7 +6542,7 @@ lookup_image (f, spec)
            img->ascent = XFASTINT (ascent);
          else if (EQ (ascent, Qcenter))
            img->ascent = CENTERED_IMAGE_ASCENT;
-         
+
          margin = image_spec_value (spec, QCmargin, NULL);
          if (INTEGERP (margin) && XINT (margin) >= 0)
            img->vmargin = img->hmargin = XFASTINT (margin);
@@ -6554,7 +6554,7 @@ lookup_image (f, spec)
              if (XINT (XCDR (margin)) > 0)
                img->vmargin = XFASTINT (XCDR (margin));
            }
-         
+
          relief = image_spec_value (spec, QCrelief, NULL);
          if (INTEGERP (relief))
            {
@@ -6588,9 +6588,9 @@ lookup_image (f, spec)
   /* We're using IMG, so set its timestamp to `now'.  */
   EMACS_GET_TIME (now);
   img->timestamp = EMACS_SECS (now);
-  
+
   UNGCPRO;
-  
+
   /* Value is the image id.  */
   return img->id;
 }
@@ -6742,7 +6742,7 @@ x_put_x_image (f, ximg, pixmap, width, height)
      int width, height;
 {
   GC gc;
-  
+
   xassert (interrupt_input_blocked);
   gc = XCreateGC (FRAME_X_DISPLAY (f), pixmap, 0, NULL);
   XPutImage (FRAME_X_DISPLAY (f), pixmap, gc, ximg, 0, 0, 0, 0, width, height);
@@ -6777,7 +6777,7 @@ x_find_image_file (file)
 
   /* Try to find FILE in data-directory, then x-bitmap-file-path.  */
   fd = openp (search_path, file, Qnil, &file_found, Qnil);
-  
+
   if (fd == -1)
     file_found = Qnil;
   else
@@ -6819,7 +6819,7 @@ slurp_file (file, size)
          buf = NULL;
        }
     }
-  
+
   return buf;
 }
 
@@ -6898,7 +6898,7 @@ enum xbm_token
   XBM_TK_NUMBER
 };
 
-  
+
 /* Return non-zero if OBJECT is a valid XBM-type image specification.
    A valid specification is a list starting with the symbol `image'
    The rest of the list is a property list which must contain an
@@ -6933,7 +6933,7 @@ xbm_image_p (object)
      Lisp_Object object;
 {
   struct image_keyword kw[XBM_LAST];
-  
+
   bcopy (xbm_format, kw, sizeof kw);
   if (!parse_image_spec (object, kw, XBM_LAST, Qxbm))
     return 0;
@@ -6965,13 +6965,13 @@ xbm_image_p (object)
       data = kw[XBM_DATA].value;
       width = XFASTINT (kw[XBM_WIDTH].value);
       height = XFASTINT (kw[XBM_HEIGHT].value);
-      
+
       /* Check type of data, and width and height against contents of
         data.  */
       if (VECTORP (data))
        {
          int i;
-         
+
          /* Number of elements of the vector must be >= height.  */
          if (XVECTOR (data)->size < height)
            return 0;
@@ -7031,7 +7031,7 @@ xbm_scan (s, end, sval, ival)
   int c;
 
  loop:
-  
+
   /* Skip white space.  */
   while (*s < end && (c = *(*s)++, isspace (c)))
     ;
@@ -7041,7 +7041,7 @@ xbm_scan (s, end, sval, ival)
   else if (isdigit (c))
     {
       int value = 0, digit;
-      
+
       if (c == '0' && *s < end)
        {
          c = *(*s)++;
@@ -7139,7 +7139,7 @@ xbm_read_bitmap_data (contents, end, width, height, data)
      if (LA1 != (TOKEN))       \
        goto failure;           \
      else                      \
-       match ()        
+       match ()
 
 #define expect_ident(IDENT)                                    \
      if (LA1 == XBM_TK_IDENT && strcmp (buffer, (IDENT)) == 0) \
@@ -7182,7 +7182,7 @@ xbm_read_bitmap_data (contents, end, width, height, data)
     {
       if (strcmp (buffer, "unsigned") == 0)
        {
-         match (); 
+         match ();
          expect_ident ("char");
        }
       else if (strcmp (buffer, "short") == 0)
@@ -7197,7 +7197,7 @@ xbm_read_bitmap_data (contents, end, width, height, data)
       else
        goto failure;
     }
-  else 
+  else
     goto failure;
 
   expect (XBM_TK_IDENT);
@@ -7220,7 +7220,7 @@ xbm_read_bitmap_data (contents, end, width, height, data)
          *p++ = val;
          if (!padding_p || ((i + 2) % bytes_per_line))
            *p++ = value >> 8;
-         
+
          if (LA1 == ',' || LA1 == '}')
            match ();
          else
@@ -7233,9 +7233,9 @@ xbm_read_bitmap_data (contents, end, width, height, data)
        {
          int val = value;
          expect (XBM_TK_NUMBER);
-         
+
          *p++ = val;
-         
+
          if (LA1 == ',' || LA1 == '}')
            match ();
          else
@@ -7247,7 +7247,7 @@ xbm_read_bitmap_data (contents, end, width, height, data)
   return 1;
 
  failure:
-  
+
   if (data && *data)
     {
       xfree (*data);
@@ -7274,7 +7274,7 @@ xbm_load_image (f, img, contents, end)
   int rc;
   unsigned char *data;
   int success_p = 0;
-  
+
   rc = xbm_read_bitmap_data (contents, end, &img->width, &img->height, &data);
   if (rc)
     {
@@ -7282,7 +7282,7 @@ xbm_load_image (f, img, contents, end)
       unsigned long foreground = FRAME_FOREGROUND_PIXEL (f);
       unsigned long background = FRAME_BACKGROUND_PIXEL (f);
       Lisp_Object value;
-      
+
       xassert (img->width > 0 && img->height > 0);
 
       /* Get foreground and background colors, maybe allocate colors.  */
@@ -7335,7 +7335,7 @@ xbm_file_p (data)
                                   &w, &h, NULL));
 }
 
-    
+
 /* Fill image IMG which is used on frame F with pixmap data.  Value is
    non-zero if successful.  */
 
@@ -7357,7 +7357,7 @@ xbm_load (f, img)
       char *contents;
       int size;
       struct gcpro gcpro1;
-      
+
       file = x_find_image_file (file_name);
       GCPRO1 (file);
       if (!STRINGP (file))
@@ -7427,7 +7427,7 @@ xbm_load (f, img)
              int i;
              char *p;
              int nbytes = (img->width + BITS_PER_CHAR - 1) / BITS_PER_CHAR;
-         
+
              p = bits = (char *) alloca (nbytes * img->height);
              for (i = 0; i < img->height; ++i, p += nbytes)
                {
@@ -7465,14 +7465,14 @@ xbm_load (f, img)
 
   return success_p;
 }
-  
+
 
 \f
 /***********************************************************************
                              XPM images
  ***********************************************************************/
 
-#if HAVE_XPM 
+#if HAVE_XPM
 
 static int xpm_image_p P_ ((Lisp_Object object));
 static int xpm_load P_ ((struct frame *f, struct image *img));
@@ -7589,7 +7589,7 @@ xpm_init_color_cache (f, attrs)
     {
       int i;
       XColor color;
-      
+
       for (i = 0; i < attrs->numsymbols; ++i)
        if (XParseColor (FRAME_X_DISPLAY (f), FRAME_X_COLORMAP (f),
                         attrs->colorsymbols[i].value, &color))
@@ -7632,7 +7632,7 @@ xpm_color_bucket (color_name)
 {
   unsigned h = 0;
   char *s;
-  
+
   for (s = color_name; *s; ++s)
     h = (h << 2) ^ *s;
   return h %= XPM_COLOR_CACHE_BUCKETS;
@@ -7652,10 +7652,10 @@ xpm_cache_color (f, color_name, color, bucket)
 {
   size_t nbytes;
   struct xpm_cached_color *p;
-  
+
   if (bucket < 0)
     bucket = xpm_color_bucket (color_name);
-      
+
   nbytes = sizeof *p + strlen (color_name);
   p = (struct xpm_cached_color *) xmalloc (nbytes);
   strcpy (p->name, color_name);
@@ -7693,7 +7693,7 @@ xpm_lookup_color (f, color_name, color)
                                       color->blue);
       p = xpm_cache_color (f, color_name, color, h);
     }
-  
+
   return p != NULL;
 }
 
@@ -7820,7 +7820,7 @@ xpm_load (f, img)
       Lisp_Object tail;
       XpmColorSymbol *xpm_syms;
       int i, size;
-      
+
       attrs.valuemask |= XpmColorSymbols;
 
       /* Count number of symbols.  */
@@ -7853,7 +7853,7 @@ xpm_load (f, img)
 #ifdef ALLOC_XPM_COLORS
   xpm_init_color_cache (f, &attrs);
 #endif
-  
+
   specified_file = image_spec_value (img->spec, QCfile, NULL);
   if (STRINGP (specified_file))
     {
@@ -7863,7 +7863,7 @@ xpm_load (f, img)
          image_error ("Cannot find image file `%s'", specified_file, Qnil);
          return 0;
        }
-      
+
       rc = XpmReadFileToPixmap (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f),
                                SDATA (file), &img->pixmap, &img->mask,
                                &attrs);
@@ -7910,19 +7910,19 @@ xpm_load (f, img)
        case XpmOpenFailed:
          image_error ("Error opening XPM file (%s)", img->spec, Qnil);
          break;
-         
+
        case XpmFileInvalid:
          image_error ("Invalid XPM file (%s)", img->spec, Qnil);
          break;
-         
+
        case XpmNoMemory:
          image_error ("Out of memory (%s)", img->spec, Qnil);
          break;
-         
+
        case XpmColorFailed:
          image_error ("Color allocation error (%s)", img->spec, Qnil);
          break;
-         
+
        default:
          image_error ("Unknown error (%s)", img->spec, Qnil);
          break;
@@ -8028,14 +8028,14 @@ lookup_rgb_color (f, r, g, b)
       color.red = r;
       color.green = g;
       color.blue = b;
-      
+
       cmap = FRAME_X_COLORMAP (f);
       rc = x_alloc_nearest_color (f, cmap, &color);
 
       if (rc)
        {
          ++ct_colors_allocated;
-      
+
          p = (struct ct_color *) xmalloc (sizeof *p);
          p->r = r;
          p->g = g;
@@ -8081,7 +8081,7 @@ lookup_pixel_color (f, pixel)
       if (rc)
        {
          ++ct_colors_allocated;
-      
+
          p = (struct ct_color *) xmalloc (sizeof *p);
          p->r = color.red;
          p->g = color.green;
@@ -8093,7 +8093,7 @@ lookup_pixel_color (f, pixel)
       else
        return FRAME_FOREGROUND_PIXEL (f);
     }
-  
+
   return p->pixel;
 }
 
@@ -8119,7 +8119,7 @@ colors_in_color_table (n)
       colors = (unsigned long *) xmalloc (ct_colors_allocated
                                          * sizeof *colors);
       *n = ct_colors_allocated;
-      
+
       for (i = j = 0; i < CT_SIZE; ++i)
        for (p = ct_table[i]; p; p = p->next)
          colors[j++] = p->pixel;
@@ -8194,7 +8194,7 @@ x_to_xcolors (f, img, rgb_p)
   for (y = 0; y < img->height; ++y)
     {
       XColor *row = p;
-      
+
       for (x = 0; x < img->width; ++x, ++p)
        p->pixel = XGetPixel (ximg, x, y);
 
@@ -8221,9 +8221,9 @@ x_from_xcolors (f, img, colors)
   XImage *oimg;
   Pixmap pixmap;
   XColor *p;
-  
+
   init_color_table ();
-  
+
   x_create_x_image_and_pixmap (f, img->width, img->height, 0,
                               &oimg, &pixmap);
   p = colors;
@@ -8250,7 +8250,7 @@ x_from_xcolors (f, img, colors)
 
    MATRIX is a nine-element array specifying the transformation
    matrix.  See emboss_matrix for an example.
-   
+
    COLOR_ADJUST is a color adjustment added to each pixel of the
    outgoing image.  */
 
@@ -8278,7 +8278,7 @@ x_detect_edges (f, img, matrix, color_adjust)
       p = COLOR (new, img->width - 1, y);
       p->red = p->green = p->blue = 0xffff/2;
     }
-  
+
   for (x = 1; x < img->width - 1; ++x)
     {
       p = COLOR (new, x, 0);
@@ -8290,7 +8290,7 @@ x_detect_edges (f, img, matrix, color_adjust)
   for (y = 1; y < img->height - 1; ++y)
     {
       p = COLOR (new, 1, y);
-      
+
       for (x = 1; x < img->width - 1; ++x, ++p)
        {
          int r, g, b, y1, x1;
@@ -8363,7 +8363,7 @@ x_edge_detection (f, img, matrix, color_adjust)
 {
   int i = 0;
   int trans[9];
-  
+
   if (CONSP (matrix))
     {
       for (i = 0;
@@ -8483,7 +8483,7 @@ x_build_heuristic_mask (f, img, how)
   /* Determine the background color of ximg.  If HOW is `(R G B)'
      take that as color.  Otherwise, use the image's background color. */
   use_img_background = 1;
-  
+
   if (CONSP (how))
     {
       int rgb[3], i;
@@ -8502,7 +8502,7 @@ x_build_heuristic_mask (f, img, how)
          use_img_background = 0;
        }
     }
-  
+
   if (use_img_background)
     bg = four_corners_best (ximg, img->width, img->height);
 
@@ -8519,7 +8519,7 @@ x_build_heuristic_mask (f, img, how)
   x_put_x_image (f, mask_img, img->mask, img->width, img->height);
   x_destroy_x_image (mask_img);
   XDestroyImage (ximg);
-  
+
   return 1;
 }
 
@@ -8592,9 +8592,9 @@ pbm_image_p (object)
      Lisp_Object object;
 {
   struct image_keyword fmt[PBM_LAST];
-  
+
   bcopy (pbm_format, fmt, sizeof fmt);
-  
+
   if (!parse_image_spec (object, fmt, PBM_LAST, Qpbm))
     return 0;
 
@@ -8643,7 +8643,7 @@ pbm_scan_number (s, end)
 
 /* Load PBM image IMG for use on frame F.  */
 
-static int 
+static int
 pbm_load (f, img)
      struct frame *f;
      struct image *img;
@@ -8706,7 +8706,7 @@ pbm_load (f, img)
     case '1':
       raw_p = 0, type = PBM_MONO;
       break;
-      
+
     case '2':
       raw_p = 0, type = PBM_GRAY;
       break;
@@ -8718,11 +8718,11 @@ pbm_load (f, img)
     case '4':
       raw_p = 1, type = PBM_MONO;
       break;
-      
+
     case '5':
       raw_p = 1, type = PBM_GRAY;
       break;
-      
+
     case '6':
       raw_p = 1, type = PBM_COLOR;
       break;
@@ -8743,7 +8743,7 @@ pbm_load (f, img)
       if (raw_p && max_color_idx > 255)
        max_color_idx = 255;
     }
-  
+
   if (width < 0
       || height < 0
       || (type != PBM_MONO && max_color_idx < 0))
@@ -8752,7 +8752,7 @@ pbm_load (f, img)
   if (!x_create_x_image_and_pixmap (f, width, height, 0,
                                    &ximg, &img->pixmap))
     goto error;
-  
+
   /* Initialize the color hash table.  */
   init_color_table ();
 
@@ -8766,7 +8766,7 @@ pbm_load (f, img)
       /* Parse the image specification.  */
       bcopy (pbm_format, fmt, sizeof fmt);
       parse_image_spec (img->spec, fmt, PBM_LAST, Qpbm);
-      
+
       /* Get foreground and background colors, maybe allocate colors.  */
       if (fmt[PBM_FOREGROUND].count
          && STRINGP (fmt[PBM_FOREGROUND].value))
@@ -8778,7 +8778,7 @@ pbm_load (f, img)
          img->background = bg;
          img->background_valid = 1;
        }
-      
+
       for (y = 0; y < height; ++y)
        for (x = 0; x < width; ++x)
          {
@@ -8801,7 +8801,7 @@ pbm_load (f, img)
        for (x = 0; x < width; ++x)
          {
            int r, g, b;
-           
+
            if (type == PBM_GRAY)
              r = g = b = raw_p ? *p++ : pbm_scan_number (&p, end);
            else if (raw_p)
@@ -8816,7 +8816,7 @@ pbm_load (f, img)
                g = pbm_scan_number (&p, end);
                b = pbm_scan_number (&p, end);
              }
-           
+
            if (r < 0 || g < 0 || b < 0)
              {
                xfree (ximg->data);
@@ -8826,7 +8826,7 @@ pbm_load (f, img)
                             img->spec, Qnil);
                goto error;
              }
-           
+
            /* RGB values are now in the range 0..max_color_idx.
               Scale this to the range 0..0xffff supported by X.  */
            r = (double) r * 65535 / max_color_idx;
@@ -8835,7 +8835,7 @@ pbm_load (f, img)
            XPutPixel (ximg, x, y, lookup_rgb_color (f, r, g, b));
          }
     }
-  
+
   /* Store in IMG->colors the colors allocated for the image, and
      free the color table.  */
   img->colors = colors_in_color_table (&img->ncolors);
@@ -8844,11 +8844,11 @@ pbm_load (f, img)
   /* Maybe fill in the background field while we have ximg handy. */
   if (NILP (image_spec_value (img->spec, QCbackground, NULL)))
     IMAGE_BACKGROUND (img, f, ximg);
-  
+
   /* Put the image into a pixmap.  */
   x_put_x_image (f, ximg, img->pixmap, width, height);
   x_destroy_x_image (ximg);
-      
+
   img->width = width;
   img->height = height;
 
@@ -8930,7 +8930,7 @@ png_image_p (object)
 {
   struct image_keyword fmt[PNG_LAST];
   bcopy (png_format, fmt, sizeof fmt);
-  
+
   if (!parse_image_spec (object, fmt, PNG_LAST, Qpng))
     return 0;
 
@@ -8987,7 +8987,7 @@ png_read_from_memory (png_ptr, data, length)
 
   if (length > tbr->len - tbr->index)
     png_error (png_ptr, "Read error");
-  
+
   bcopy (tbr->bytes + tbr->index, data, length);
   tbr->index = tbr->index + length;
 }
@@ -9129,14 +9129,14 @@ png_load (f, img)
   png_get_IHDR (png_ptr, info_ptr, &width, &height, &bit_depth, &color_type,
                &interlace_type, NULL, NULL);
 
-  /* If image contains simply transparency data, we prefer to 
+  /* If image contains simply transparency data, we prefer to
      construct a clipping mask.  */
   if (png_get_valid (png_ptr, info_ptr, PNG_INFO_tRNS))
     transparent_p = 1;
   else
     transparent_p = 0;
 
-  /* This function is easier to write if we only have to handle 
+  /* This function is easier to write if we only have to handle
      one data format: RGB or RGBA with 8 bits per channel.  Let's
      transform other formats into that format.  */
 
@@ -9149,7 +9149,7 @@ png_load (f, img)
   png_set_expand (png_ptr);
 
   /* Convert grayscale images to RGB.  */
-  if (color_type == PNG_COLOR_TYPE_GRAY 
+  if (color_type == PNG_COLOR_TYPE_GRAY
       || color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
     png_set_gray_to_rgb (png_ptr);
 
@@ -9198,14 +9198,14 @@ png_load (f, img)
            }
        }
       else if (png_get_bKGD (png_ptr, info_ptr, &image_bg))
-       /* Image contains a background color with which to 
+       /* Image contains a background color with which to
           combine the image.  */
        png_set_background (png_ptr, image_bg,
                            PNG_BACKGROUND_GAMMA_FILE, 1, 1.0);
       else
        {
          /* Image does not contain a background color with which
-            to combine the image data via an alpha channel.  Use 
+            to combine the image data via an alpha channel.  Use
             the frame's background instead.  */
          XColor color;
          Colormap cmap;
@@ -9253,12 +9253,12 @@ png_load (f, img)
       fclose (fp);
       fp = NULL;
     }
-  
+
   /* Create the X image and pixmap.  */
   if (!x_create_x_image_and_pixmap (f, width, height, 0, &ximg,
                                    &img->pixmap))
     goto error;
-  
+
   /* Create an image and pixmap serving as mask if the PNG image
      contains an alpha channel.  */
   if (channels == 4
@@ -9289,16 +9289,16 @@ png_load (f, img)
          XPutPixel (ximg, x, y, lookup_rgb_color (f, r, g, b));
 
          /* An alpha channel, aka mask channel, associates variable
-            transparency with an image.  Where other image formats 
-            support binary transparency---fully transparent or fully 
+            transparency with an image.  Where other image formats
+            support binary transparency---fully transparent or fully
             opaque---PNG allows up to 254 levels of partial transparency.
             The PNG library implements partial transparency by combining
             the image with a specified background color.
 
             I'm not sure how to handle this here nicely: because the
             background on which the image is displayed may change, for
-            real alpha channel support, it would be necessary to create 
-            a new image for each possible background.  
+            real alpha channel support, it would be necessary to create
+            a new image for each possible background.
 
             What I'm doing now is that a mask is created if we have
             boolean transparency information.  Otherwise I'm using
@@ -9444,9 +9444,9 @@ jpeg_image_p (object)
      Lisp_Object object;
 {
   struct image_keyword fmt[JPEG_LAST];
-  
+
   bcopy (jpeg_format, fmt, sizeof fmt);
-  
+
   if (!parse_image_spec (object, fmt, JPEG_LAST, Qjpeg))
     return 0;
 
@@ -9517,7 +9517,7 @@ our_skip_input_data (cinfo, num_bytes)
     {
       if (num_bytes > src->bytes_in_buffer)
        ERREXIT (cinfo, JERR_INPUT_EOF);
-      
+
       src->bytes_in_buffer -= num_bytes;
       src->next_input_byte += num_bytes;
     }
@@ -9555,7 +9555,7 @@ jpeg_memory_src (cinfo, data, len)
       src = (struct jpeg_source_mgr *) cinfo->src;
       src->next_input_byte = data;
     }
-  
+
   src = (struct jpeg_source_mgr *) cinfo->src;
   src->init_source = our_init_source;
   src->fill_input_buffer = our_fill_input_buffer;
@@ -9570,7 +9570,7 @@ jpeg_memory_src (cinfo, data, len)
 /* Load image IMG for use on frame F.  Patterned after example.c
    from the JPEG lib.  */
 
-static int 
+static int
 jpeg_load (f, img)
      struct frame *f;
      struct image *img;
@@ -9603,7 +9603,7 @@ jpeg_load (f, img)
          UNGCPRO;
          return 0;
        }
-  
+
       fp = fopen (SDATA (file), "r");
       if (fp == NULL)
        {
@@ -9617,7 +9617,7 @@ jpeg_load (f, img)
      error is detected.  This function will perform a longjmp.  */
   cinfo.err = jpeg_std_error (&mgr.pub);
   mgr.pub.error_exit = my_error_exit;
-  
+
   if ((rc = setjmp (mgr.setjmp_buffer)) != 0)
     {
       if (rc == 1)
@@ -9628,7 +9628,7 @@ jpeg_load (f, img)
          image_error ("Error reading JPEG image `%s': %s", img->spec,
                       build_string (buffer));
        }
-         
+
       /* Close the input file and destroy the JPEG object.  */
       if (fp)
        fclose ((FILE *) fp);
@@ -9639,7 +9639,7 @@ jpeg_load (f, img)
 
       /* Free pixmap and colors.  */
       x_clear_image (f, img);
-      
+
       UNGCPRO;
       return 0;
     }
@@ -9689,7 +9689,7 @@ jpeg_load (f, img)
     init_color_table ();
     colors = (unsigned long *) alloca (cinfo.actual_number_of_colors
                                       * sizeof *colors);
-  
+
     for (i = 0; i < cinfo.actual_number_of_colors; ++i)
       {
        /* Multiply RGB values with 255 because X expects RGB values
@@ -9725,7 +9725,7 @@ jpeg_load (f, img)
   /* Maybe fill in the background field while we have ximg handy. */
   if (NILP (image_spec_value (img->spec, QCbackground, NULL)))
     IMAGE_BACKGROUND (img, f, ximg);
-  
+
   /* Put the image into the pixmap.  */
   x_put_x_image (f, ximg, img->pixmap, width, height);
   x_destroy_x_image (ximg);
@@ -9806,10 +9806,10 @@ tiff_image_p (object)
 {
   struct image_keyword fmt[TIFF_LAST];
   bcopy (tiff_format, fmt, sizeof fmt);
-  
+
   if (!parse_image_spec (object, fmt, TIFF_LAST, Qtiff))
     return 0;
-  
+
   /* Must specify either the :data or :file keyword.  */
   return fmt[TIFF_FILE].count + fmt[TIFF_DATA].count == 1;
 }
@@ -9873,22 +9873,22 @@ tiff_seek_in_memory (data, off, whence)
     case SEEK_SET:             /* Go from beginning of source.  */
       idx = off;
       break;
-      
+
     case SEEK_END:             /* Go from end of source.  */
       idx = src->len + off;
       break;
-      
+
     case SEEK_CUR:             /* Go from current position.  */
       idx = src->index + off;
       break;
-      
+
     default:                   /* Invalid `whence'.   */
       return -1;
     }
-  
+
   if (idx > src->len || idx < 0)
     return -1;
-  
+
   src->index = idx;
   return src->index;
 }
@@ -9939,7 +9939,7 @@ tiff_error_handler (title, format, ap)
 {
   char buf[512];
   int len;
-  
+
   len = sprintf (buf, "TIFF error: %s ", title);
   vsprintf (buf + len, format, ap);
   add_to_log (buf, Qnil, Qnil);
@@ -9953,7 +9953,7 @@ tiff_warning_handler (title, format, ap)
 {
   char buf[512];
   int len;
-  
+
   len = sprintf (buf, "TIFF warning: %s ", title);
   vsprintf (buf + len, format, ap);
   add_to_log (buf, Qnil, Qnil);
@@ -9996,7 +9996,7 @@ tiff_load (f, img)
          UNGCPRO;
          return 0;
        }
-         
+
       /* Try to open the image file.  */
       tiff = TIFFOpen (SDATA (file), "r");
       if (tiff == NULL)
@@ -10035,7 +10035,7 @@ tiff_load (f, img)
   TIFFGetField (tiff, TIFFTAG_IMAGEWIDTH, &width);
   TIFFGetField (tiff, TIFFTAG_IMAGELENGTH, &height);
   buf = (uint32 *) xmalloc (width * height * sizeof *buf);
-  
+
   rc = TIFFReadRGBAImage (tiff, width, height, buf, 0);
   TIFFClose (tiff);
   if (!rc)
@@ -10061,21 +10061,21 @@ tiff_load (f, img)
   for (y = 0; y < height; ++y)
     {
       uint32 *row = buf + y * width;
-      
+
       for (x = 0; x < width; ++x)
        {
          uint32 abgr = row[x];
          int r = TIFFGetR (abgr) << 8;
          int g = TIFFGetG (abgr) << 8;
          int b = TIFFGetB (abgr) << 8;
-         XPutPixel (ximg, x, height - 1 - y, lookup_rgb_color (f, r, g, b)); 
+         XPutPixel (ximg, x, height - 1 - y, lookup_rgb_color (f, r, g, b));
        }
     }
 
   /* Remember the colors allocated for the image.  Free the color table.  */
   img->colors = colors_in_color_table (&img->ncolors);
   free_color_table ();
-      
+
   img->width = width;
   img->height = height;
 
@@ -10167,10 +10167,10 @@ gif_image_p (object)
 {
   struct image_keyword fmt[GIF_LAST];
   bcopy (gif_format, fmt, sizeof fmt);
-  
+
   if (!parse_image_spec (object, fmt, GIF_LAST, Qgif))
     return 0;
-  
+
   /* Must specify either the :data or :file keyword.  */
   return fmt[GIF_FILE].count + fmt[GIF_DATA].count == 1;
 }
@@ -10245,7 +10245,7 @@ gif_load (f, img)
          UNGCPRO;
          return 0;
        }
-  
+
       /* Open the GIF file.  */
       gif = DGifOpenFileName (SDATA (file));
       if (gif == NULL)
@@ -10303,14 +10303,14 @@ gif_load (f, img)
       UNGCPRO;
       return 0;
     }
-  
+
   /* Allocate colors.  */
   gif_color_map = gif->SavedImages[ino].ImageDesc.ColorMap;
   if (!gif_color_map)
     gif_color_map = gif->SColorMap;
   init_color_table ();
   bzero (pixel_colors, sizeof pixel_colors);
-  
+
   for (i = 0; i < gif_color_map->ColorCount; ++i)
     {
       int r = gif_color_map->Colors[i].Red << 8;
@@ -10323,7 +10323,7 @@ gif_load (f, img)
   free_color_table ();
 
   /* Clear the part of the screen image that are not covered by
-     the image from the GIF file.  Full animated GIF support 
+     the image from the GIF file.  Full animated GIF support
      requires more than can be done here (see the gif89 spec,
      disposal methods).  Let's simply assume that the part
      not covered by a sub-image is in the frame's background color.  */
@@ -10352,7 +10352,7 @@ gif_load (f, img)
      `raster' here because RasterBits below is a char *, and invites
      problems with bytes >= 0x80.  */
   raster = (unsigned char *) gif->SavedImages[ino].RasterBits;
-  
+
   if (gif->SavedImages[ino].ImageDesc.Interlace)
     {
       static int interlace_start[] = {0, 4, 2, 1};
@@ -10370,14 +10370,14 @@ gif_load (f, img)
              while (row >= image_height)
                row = interlace_start[++pass];
            }
-         
+
          for (x = 0; x < image_width; x++)
            {
              int i = raster[(y * image_width) + x];
              XPutPixel (ximg, x + image_left, row + image_top,
                         pixel_colors[i]);
            }
-         
+
          row += interlace_increment[pass];
        }
     }
@@ -10390,17 +10390,17 @@ gif_load (f, img)
            XPutPixel (ximg, x + image_left, y + image_top, pixel_colors[i]);
          }
     }
-  
+
   DGifCloseFile (gif);
 
   /* Maybe fill in the background field while we have ximg handy. */
   if (NILP (image_spec_value (img->spec, QCbackground, NULL)))
     IMAGE_BACKGROUND (img, f, ximg);
-  
+
   /* Put the image into the pixmap, then free the X image and its buffer.  */
   x_put_x_image (f, ximg, img->pixmap, width, height);
   x_destroy_x_image (ximg);
-      
+
   UNGCPRO;
   return 1;
 }
@@ -10500,9 +10500,9 @@ gs_image_p (object)
   struct image_keyword fmt[GS_LAST];
   Lisp_Object tem;
   int i;
-  
+
   bcopy (gs_format, fmt, sizeof fmt);
-  
+
   if (!parse_image_spec (object, fmt, GS_LAST, Qpostscript))
     return 0;
 
@@ -10568,7 +10568,7 @@ gs_load (f, img)
       image_error ("Unable to create pixmap for `%s'", img->spec, Qnil);
       return 0;
     }
-    
+
   /* Call the loader to fill the pixmap.  It returns a process object
      if successful.  We do not record_unwind_protect here because
      other places in redisplay like calling window scroll functions
@@ -10579,12 +10579,12 @@ gs_load (f, img)
           (unsigned long) FRAME_X_WINDOW (f),
           (unsigned long) img->pixmap);
   window_and_pixmap_id = build_string (buffer);
-  
+
   sprintf (buffer, "%lu %lu",
           FRAME_FOREGROUND_PIXEL (f),
           FRAME_BACKGROUND_PIXEL (f));
   pixel_colors = build_string (buffer);
-  
+
   XSETFRAME (frame, f);
   loader = image_spec_value (img->spec, QCloader, NULL);
   if (NILP (loader))
@@ -10622,7 +10622,7 @@ x_kill_gs_process (pixmap, f)
      instance, give up.  */
   if (i == c->used)
     return;
-  
+
   /* Kill the GS process.  We should have found PIXMAP in the image
      cache and its image should contain a process object.  */
   img = c->images[i];
@@ -10646,10 +10646,10 @@ x_kill_gs_process (pixmap, f)
       if (ximg)
        {
          int x, y;
-         
+
          /* Initialize the color table.  */
          init_color_table ();
-      
+
          /* For each pixel of the image, look its color up in the
             color table.  After having done so, the color table will
             contain an entry for each color used by the image.  */
@@ -10678,7 +10678,7 @@ x_kill_gs_process (pixmap, f)
       else
        image_error ("Cannot get X image of `%s'; colors will not be freed",
                     img->spec, Qnil);
-      
+
       UNBLOCK_INPUT;
     }
 
@@ -10781,8 +10781,8 @@ value.  */)
       rc = XGetWindowProperty (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f),
                               prop_atom, 0, bytes_remaining,
                               False, XA_STRING,
-                              &actual_type, &actual_format, 
-                              &actual_size, &bytes_remaining, 
+                              &actual_type, &actual_format,
+                              &actual_size, &bytes_remaining,
                               (unsigned char **) &tmp_data);
       if (rc == Success && tmp_data)
        prop_value = make_string (tmp_data, size);
@@ -10831,7 +10831,7 @@ start_hourglass ()
 {
   EMACS_TIME delay;
   int secs, usecs = 0;
-  
+
   cancel_hourglass ();
 
   if (INTEGERP (Vhourglass_delay)
@@ -10847,7 +10847,7 @@ start_hourglass ()
     }
   else
     secs = DEFAULT_HOURGLASS_DELAY;
-  
+
   EMACS_SET_SECS_USECS (delay, secs, usecs);
   hourglass_atimer = start_atimer (ATIMER_RELATIVE, delay,
                                     show_hourglass, NULL);
@@ -10865,7 +10865,7 @@ cancel_hourglass ()
       cancel_atimer (hourglass_atimer);
       hourglass_atimer = NULL;
     }
-  
+
   if (hourglass_shown_p)
     hide_hourglass ();
 }
@@ -10891,17 +10891,17 @@ show_hourglass (timer)
   if (!hourglass_shown_p)
     {
       Lisp_Object rest, frame;
-  
+
       BLOCK_INPUT;
-  
+
       FOR_EACH_FRAME (rest, frame)
        {
          struct frame *f = XFRAME (frame);
-         
+
          if (FRAME_LIVE_P (f) && FRAME_X_P (f) && FRAME_X_DISPLAY (f))
            {
              Display *dpy = FRAME_X_DISPLAY (f);
-             
+
 #ifdef USE_X_TOOLKIT
              if (f->output_data.x->widget)
 #else
@@ -10909,14 +10909,14 @@ show_hourglass (timer)
 #endif
                {
                  f->output_data.x->hourglass_p = 1;
-       
+
                  if (!f->output_data.x->hourglass_window)
                    {
                      unsigned long mask = CWCursor;
                      XSetWindowAttributes attrs;
-           
+
                      attrs.cursor = f->output_data.x->hourglass_cursor;
-           
+
                      f->output_data.x->hourglass_window
                        = XCreateWindow (dpy, FRAME_OUTER_WINDOW (f),
                                         0, 0, 32000, 32000, 0, 0,
@@ -10924,7 +10924,7 @@ show_hourglass (timer)
                                         CopyFromParent,
                                         mask, &attrs);
                    }
-       
+
                  XMapRaised (dpy, f->output_data.x->hourglass_window);
                  XFlush (dpy);
                }
@@ -10951,7 +10951,7 @@ hide_hourglass ()
       FOR_EACH_FRAME (rest, frame)
        {
          struct frame *f = XFRAME (frame);
-      
+
          if (FRAME_X_P (f)
              /* Watch out for newly created frames.  */
              && f->output_data.x->hourglass_window)
@@ -10980,7 +10980,7 @@ static Lisp_Object x_create_tip_frame P_ ((struct x_display_info *,
                                           Lisp_Object, Lisp_Object));
 static void compute_tip_xy P_ ((struct frame *, Lisp_Object, Lisp_Object,
                                Lisp_Object, int, int, int *, int *));
-     
+
 /* The frame of a currently visible tooltip.  */
 
 Lisp_Object tip_frame;
@@ -11013,7 +11013,7 @@ unwind_create_tip_frame (frame)
       tip_window = None;
       tip_frame = Qnil;
     }
-  
+
   return deleted;
 }
 
@@ -11077,7 +11077,7 @@ x_create_tip_frame (dpyinfo, parms, text)
   Ferase_buffer ();
   Finsert (1, &text);
   set_buffer_internal_1 (old_buffer);
-  
+
   FRAME_CAN_HAVE_SCROLL_BARS (f) = 0;
   record_unwind_protect (unwind_create_tip_frame, frame);
 
@@ -11113,7 +11113,7 @@ x_create_tip_frame (dpyinfo, parms, text)
   {
     Lisp_Object black;
     struct gcpro gcpro1;
-    
+
     black = build_string ("black");
     GCPRO1 (black);
     f->output_data.x->foreground_pixel
@@ -11163,7 +11163,7 @@ x_create_tip_frame (dpyinfo, parms, text)
        else
          font = x_new_font (f, SDATA (font));
       }
-    
+
     /* Try out a font which we hope has bold and italic variations.  */
     if (!STRINGP (font))
       font = x_new_font (f, "-adobe-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-1");
@@ -11188,7 +11188,7 @@ x_create_tip_frame (dpyinfo, parms, text)
 
   x_default_parameter (f, parms, Qborder_width, make_number (2),
                       "borderWidth", "BorderWidth", RES_TYPE_NUMBER);
-  
+
   /* This defaults to 2 in order to match xterm.  We recognize either
      internalBorderWidth or internalBorder (which is what xterm calls
      it).  */
@@ -11226,7 +11226,7 @@ x_create_tip_frame (dpyinfo, parms, text)
      end up in init_iterator with a null face cache, which should not
      happen.  */
   init_frame_faces (f);
-  
+
   f->output_data.x->parent_desc = FRAME_X_DISPLAY_INFO (f)->root_window;
   window_prompting = x_figure_window_size (f, parms);
 
@@ -11249,12 +11249,12 @@ x_create_tip_frame (dpyinfo, parms, text)
   {
     XSetWindowAttributes attrs;
     unsigned long mask;
-    
+
     BLOCK_INPUT;
     mask = CWBackPixel | CWOverrideRedirect | CWEventMask;
     if (DoesSaveUnders (dpyinfo->screen))
       mask |= CWSaveUnder;
-    
+
     /* Window managers look at the override-redirect flag to determine
        whether or net to give windows a decoration (Xlib spec, chapter
        3.2.8).  */
@@ -11293,12 +11293,12 @@ x_create_tip_frame (dpyinfo, parms, text)
   f->height = 0;
   SET_FRAME_WIDTH (f, 0);
   change_frame_size (f, height, width, 1, 0, 0);
-  
+
   /* Add `tooltip' frame parameter's default value. */
   if (NILP (Fframe_parameter (frame, intern ("tooltip"))))
     Fmodify_frame_parameters (frame, Fcons (Fcons (intern ("tooltip"), Qt),
                                            Qnil));
-  
+
   /* Set up faces after all frame parameters are known.  This call
      also merges in face attributes specified for new frames.
 
@@ -11313,12 +11313,12 @@ x_create_tip_frame (dpyinfo, parms, text)
     /* Set tip_frame here, so that */
     tip_frame = frame;
     call1 (Qface_set_after_frame_default, frame);
-    
+
     if (!EQ (bg, Fframe_parameter (frame, Qbackground_color)))
       Fmodify_frame_parameters (frame, Fcons (Fcons (Qbackground_color, bg),
                                              Qnil));
   }
-  
+
   f->no_split = 1;
 
   UNGCPRO;
@@ -11361,11 +11361,11 @@ compute_tip_xy (f, parms, dx, dy, width, height, root_x, root_y)
   int win_x, win_y;
   Window root, child;
   unsigned pmask;
-  
+
   /* User-specified position?  */
   left = Fcdr (Fassq (Qleft, parms));
   top  = Fcdr (Fassq (Qtop, parms));
-  
+
   /* Move the tooltip window where the mouse pointer is.  Resize and
      show it.  */
   if (!INTEGERP (left) || !INTEGERP (top))
@@ -11434,7 +11434,7 @@ Text larger than the specified size is clipped.  */)
   struct gcpro gcpro1, gcpro2, gcpro3, gcpro4;
   int old_windows_or_buffers_changed = windows_or_buffers_changed;
   int count = SPECPDL_INDEX ();
-  
+
   specbind (Qinhibit_redisplay, Qt);
 
   GCPRO4 (string, parms, frame, timeout);
@@ -11445,12 +11445,12 @@ Text larger than the specified size is clipped.  */)
     timeout = make_number (5);
   else
     CHECK_NATNUM (timeout);
-  
+
   if (NILP (dx))
     dx = make_number (5);
   else
     CHECK_NUMBER (dx);
-  
+
   if (NILP (dy))
     dy = make_number (-10);
   else
@@ -11470,7 +11470,7 @@ Text larger than the specified size is clipped.  */)
          && !NILP (Fequal (last_parms, parms)))
        {
          struct frame *f = XFRAME (tip_frame);
-         
+
          /* Only DX and DY have changed.  */
          if (!NILP (tip_timer))
            {
@@ -11517,7 +11517,7 @@ Text larger than the specified size is clipped.  */)
   /* Set up the frame's root window.  */
   w = XWINDOW (FRAME_ROOT_WINDOW (f));
   w->left = w->top = make_number (0);
-  
+
   if (CONSP (Vx_max_tooltip_size)
       && INTEGERP (XCAR (Vx_max_tooltip_size))
       && XINT (XCAR (Vx_max_tooltip_size)) > 0
@@ -11532,7 +11532,7 @@ Text larger than the specified size is clipped.  */)
       w->width = make_number (80);
       w->height = make_number (40);
     }
-  
+
   f->window_width = XINT (w->width);
   adjust_glyphs (f);
   w->pseudo_window_p = 1;
@@ -11570,7 +11570,7 @@ Text larger than the specified size is clipped.  */)
        }
       else
        row_width = row->pixel_width;
-      
+
       height += row->height;
       width = max (width, row_width);
     }
@@ -11589,7 +11589,7 @@ Text larger than the specified size is clipped.  */)
                     root_x, root_y, width, height);
   XMapRaised (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f));
   UNBLOCK_INPUT;
-  
+
   /* Draw into the window.  */
   w->must_be_updated_p = 1;
   update_single_window (w, 1);
@@ -11620,16 +11620,16 @@ Value is t if tooltip was open, nil otherwise.  */)
   /* Return quickly if nothing to do.  */
   if (NILP (tip_timer) && NILP (tip_frame))
     return Qnil;
-  
+
   frame = tip_frame;
   timer = tip_timer;
   GCPRO2 (frame, timer);
   tip_frame = tip_timer = deleted = Qnil;
-  
+
   count = SPECPDL_INDEX ();
   specbind (Qinhibit_redisplay, Qt);
   specbind (Qinhibit_quit, Qt);
-  
+
   if (!NILP (timer))
     call1 (Qcancel_timer, timer);
 
@@ -11732,7 +11732,7 @@ selection dialog's entry field, if MUSTMATCH is non-nil.  */)
   dir = Fexpand_file_name (dir, Qnil);
   dir_xmstring = XmStringCreateLocalized (SDATA (dir));
   pattern_xmstring = XmStringCreateLocalized ("*");
-    
+
   XtSetArg (al[ac], XmNtitle, SDATA (prompt)); ++ac;
   XtSetArg (al[ac], XmNdirectory, dir_xmstring); ++ac;
   XtSetArg (al[ac], XmNpattern, pattern_xmstring); ++ac;
@@ -11755,7 +11755,7 @@ selection dialog's entry field, if MUSTMATCH is non-nil.  */)
   help = XmFileSelectionBoxGetChild (dialog, XmDIALOG_HELP_BUTTON);
   XtSetSensitive (help, False);
 
-  /* Mark OK button as default.  */ 
+  /* Mark OK button as default.  */
   XtVaSetValues (XmFileSelectionBoxGetChild (dialog, XmDIALOG_OK_BUTTON),
                 XmNshowAsDefault, True, NULL);
 
@@ -11815,7 +11815,7 @@ selection dialog's entry field, if MUSTMATCH is non-nil.  */)
     {
       XmString text;
       String data;
-      
+
       XtVaGetValues (dialog, XmNtextString, &text, NULL);
       XmStringGetLtoR (text, XmFONTLIST_DEFAULT_TAG, &data);
       XmStringFree (text);
@@ -11834,7 +11834,7 @@ selection dialog's entry field, if MUSTMATCH is non-nil.  */)
   /* Make "Cancel" equivalent to C-g.  */
   if (NILP (file))
     Fsignal (Qquit, Qnil);
-  
+
   return unbind_to (count, file);
 }
 
@@ -11858,7 +11858,7 @@ selection dialog's entry field, if MUSTMATCH is non-nil.")
   struct gcpro gcpro1, gcpro2, gcpro3, gcpro4, gcpro5;
   char *cdef_file;
   char *cprompt;
-  
+
   GCPRO5 (prompt, dir, default_filename, mustmatch, file);
   CHECK_STRING (prompt);
   CHECK_STRING (dir);
@@ -11874,7 +11874,7 @@ selection dialog's entry field, if MUSTMATCH is non-nil.")
     cdef_file = SDATA (dir);
 
   fn = xg_get_file_name (f, SDATA (prompt), cdef_file, ! NILP (mustmatch));
-  
+
   if (fn)
     {
       file = build_string (fn);
@@ -11887,7 +11887,7 @@ selection dialog's entry field, if MUSTMATCH is non-nil.")
   /* Make "Cancel" equivalent to C-g.  */
   if (NILP (file))
     Fsignal (Qquit, Qnil);
-  
+
   return unbind_to (count, file);
 }
 
@@ -11938,7 +11938,7 @@ usual X keysyms.  */)
       UNBLOCK_INPUT;
       return Qnil;
     }
-  
+
   have_keys = Qnil;
   kb = XkbGetMap (dpy, XkbAllMapComponentsMask, XkbUseCoreKbd);
   if (kb)
@@ -11965,7 +11965,7 @@ usual X keysyms.  */)
        }
 
       XkbFreeClientMap (kb, 0, True);
-  
+
       if (delete_keycode
          && backspace_keycode
          && XKeysymToKeycode (dpy, XK_Delete) == delete_keycode
@@ -12095,7 +12095,7 @@ syms_of_xfns ()
   staticpro (&QCcolor_adjustment);
   QCmask = intern (":mask");
   staticpro (&QCmask);
+
   Qface_set_after_frame_default = intern ("face-set-after-frame-default");
   staticpro (&Qface_set_after_frame_default);
 
@@ -12163,7 +12163,7 @@ or when you set the mouse color.  */);
   DEFVAR_BOOL ("display-hourglass", &display_hourglass_p,
     doc: /* Non-zero means Emacs displays an hourglass pointer on window systems.  */);
   display_hourglass_p = 1;
-  
+
   DEFVAR_LISP ("hourglass-delay", &Vhourglass_delay,
     doc: /* *Seconds to wait before displaying an hourglass pointer.
 Value must be an integer or float.  */);
@@ -12199,7 +12199,7 @@ or when you set the mouse color.  */);
     doc: /* Maximum size for tooltips.  Value is a pair (COLUMNS . ROWS).
 Text larger than this is clipped.  */);
   Vx_max_tooltip_size = Fcons (make_number (80), make_number (40));
-  
+
   DEFVAR_LISP ("x-no-window-manager", &Vx_no_window_manager,
     doc: /* Non-nil if no X window manager is in use.
 Emacs doesn't try to figure this out; this is always nil
@@ -12268,7 +12268,7 @@ meaning don't clear the cache.  */);
   defsubr (&Sx_synchronize);
   defsubr (&Sx_focus_frame);
   defsubr (&Sx_backspace_delete_keys_p);
-  
+
   /* Setting callback functions for fontset handler.  */
   get_font_info_func = x_get_font_info;
 
@@ -12276,7 +12276,7 @@ meaning don't clear the cache.  */);
         And the pointer assigned has the wrong type, anyway.  */
   list_fonts_func = x_list_fonts;
 #endif
-  
+
   load_font_func = x_load_font;
   find_ccl_program_func = x_find_ccl_program;
   query_font_func = x_query_font;
@@ -12317,16 +12317,16 @@ meaning don't clear the cache.  */);
   Qxpm = intern ("xpm");
   staticpro (&Qxpm);
 #endif
-  
+
 #if HAVE_JPEG
   Qjpeg = intern ("jpeg");
   staticpro (&Qjpeg);
-#endif 
+#endif
 
 #if HAVE_TIFF
   Qtiff = intern ("tiff");
   staticpro (&Qtiff);
-#endif 
+#endif
 
 #if HAVE_GIF
   Qgif = intern ("gif");
@@ -12366,27 +12366,27 @@ init_xfns ()
 {
   image_types = NULL;
   Vimage_types = Qnil;
-  
+
   define_image_type (&xbm_type);
   define_image_type (&gs_type);
   define_image_type (&pbm_type);
-  
+
 #if HAVE_XPM
   define_image_type (&xpm_type);
 #endif
-  
+
 #if HAVE_JPEG
   define_image_type (&jpeg_type);
 #endif
-  
+
 #if HAVE_TIFF
   define_image_type (&tiff_type);
 #endif
-  
+
 #if HAVE_GIF
   define_image_type (&gif_type);
 #endif
-  
+
 #if HAVE_PNG
   define_image_type (&png_type);
 #endif
index bc3e22e3e161769cd7e6359f108cf42045cc6745..2709a7641dd808c64a1c78d200f211affb9dbda1 100644 (file)
@@ -487,7 +487,7 @@ single_keymap_panes (keymap, pane_name, prefix, notreal, maxdepth)
 \f
 /* This is a subroutine of single_keymap_panes that handles one
    keymap entry.
-   KEY is a key in a keymap and ITEM is its binding. 
+   KEY is a key in a keymap and ITEM is its binding.
    PENDING_MAPS_PTR points to a list of keymaps waiting to be made into
    separate panes.
    If NOTREAL is nonzero, only check for equivalent key bindings, don't
@@ -508,7 +508,7 @@ single_menu_item (key, item, pending_maps_ptr, notreal, maxdepth,
   Lisp_Object map, item_string, enabled;
   struct gcpro gcpro1, gcpro2;
   int res;
-  
+
   /* Parse the menu item and leave the result in item_properties.  */
   GCPRO2 (key, item);
   res = parse_menu_item (item, notreal, 0);
@@ -517,7 +517,7 @@ single_menu_item (key, item, pending_maps_ptr, notreal, maxdepth,
     return;                    /* Not a menu item.  */
 
   map = XVECTOR (item_properties)->contents[ITEM_PROPERTY_MAP];
-  
+
   if (notreal)
     {
       /* We don't want to make a menu, just traverse the keymaps to
@@ -528,7 +528,7 @@ single_menu_item (key, item, pending_maps_ptr, notreal, maxdepth,
     }
 
   enabled = XVECTOR (item_properties)->contents[ITEM_PROPERTY_ENABLE];
-  item_string = XVECTOR (item_properties)->contents[ITEM_PROPERTY_NAME]; 
+  item_string = XVECTOR (item_properties)->contents[ITEM_PROPERTY_NAME];
 
   if (!NILP (map) && SREF (item_string, 0) == '@')
     {
@@ -601,7 +601,7 @@ single_menu_item (key, item, pending_maps_ptr, notreal, maxdepth,
       item_string = concat2 (prefix, item_string);
   }
 #endif /* not HAVE_BOXES */
+
 #if ! defined (USE_X_TOOLKIT) && ! defined (USE_GTK)
   if (!NILP(map))
     /* Indicate visually that this is a submenu.  */
@@ -696,7 +696,7 @@ mouse_position_for_popup(f, x, y)
   int dummy;
 
   BLOCK_INPUT;
-          
+
   XQueryPointer (FRAME_X_DISPLAY (f),
                  DefaultRootWindow (FRAME_X_DISPLAY (f)),
 
@@ -835,7 +835,7 @@ cached information about equivalent key sequences.  */)
               x = make_number (cur_x);
               y = make_number (cur_y);
             }
-          
+
 #else /* not HAVE_X_WINDOWS */
          Lisp_Object bar_window;
          enum scroll_bar_part part;
@@ -957,7 +957,7 @@ cached information about equivalent key sequences.  */)
 
       keymaps = 0;
     }
-  
+
   unbind_to (specpdl_count, Qnil);
 
   if (NILP (position))
@@ -1146,7 +1146,7 @@ popup_get_selection (initial_event, dpyinfo, id, do_timers)
           && dpyinfo->display == event.xbutton.display)
         {
           dpyinfo->grabbed &= ~(1 << event.xbutton.button);
-#ifdef USE_MOTIF /* Pretending that the event came from a 
+#ifdef USE_MOTIF /* Pretending that the event came from a
                     Btn1Down seems the only way to convince Motif to
                     activate its callbacks; setting the XmNmenuPost
                     isn't working. --marcus@sysc.pdx.edu.  */
@@ -1167,7 +1167,7 @@ popup_get_selection (initial_event, dpyinfo, id, do_timers)
           if (!IsModifierKey (keysym))
             popup_activated_flag = 0;
         }
-      
+
       x_dispatch_event (&event, event.xany.display);
     }
 }
@@ -1203,7 +1203,7 @@ popup_widget_loop ()
    The reason for saving the button event until here, instead of
    passing it to the toolkit right away, is that we can safely
    execute Lisp code.  */
-   
+
 void
 x_activate_menubar (f)
      FRAME_PTR f;
@@ -1211,11 +1211,11 @@ x_activate_menubar (f)
   if (!f->output_data.x->saved_menu_event->type)
     return;
 
-#ifdef USE_GTK  
+#ifdef USE_GTK
   if (! xg_win_to_widget (f->output_data.x->saved_menu_event->xany.window))
     return;
 #endif
-  
+
   set_frame_menubar (f, 0, 1);
   BLOCK_INPUT;
 #ifdef USE_GTK
@@ -1230,7 +1230,7 @@ x_activate_menubar (f)
   if (f->output_data.x->saved_menu_event->type == ButtonRelease)
     pending_menu_activation = 1;
 #endif
-  
+
   /* Ignore this if we get it a second time.  */
   f->output_data.x->saved_menu_event->type = 0;
 }
@@ -1298,7 +1298,7 @@ show_help_event (f, widget, help)
     }
   else
     {
-      /* WIDGET is the popup menu.  It's parent is the frame's 
+      /* WIDGET is the popup menu.  It's parent is the frame's
         widget.  See which frame that is.  */
       xt_or_gtk_widget frame_widget = XtParent (widget);
       Lisp_Object tail;
@@ -1330,7 +1330,7 @@ menu_highlight_callback (widget, call_data)
 {
   xg_menu_item_cb_data *cb_data;
   Lisp_Object help;
-  
+
   cb_data = (xg_menu_item_cb_data*) g_object_get_data (G_OBJECT (widget),
                                                        XG_ITEM_DATA);
   if (! cb_data) return;
@@ -1356,7 +1356,7 @@ menu_highlight_callback (widget, id, call_data)
   widget_value *wv = (widget_value *) call_data;
 
   help = wv ? wv->help : Qnil;
-  
+
   /* Determine the frame for the help event.  */
   f = menubar_id_to_frame (id);
 
@@ -1620,7 +1620,7 @@ digest_single_submenu (start, end, top_level_items)
   first_wv = wv;
   save_wv = 0;
   prev_wv = 0;
+
   /* Loop over all panes and items made by the preceding call
      to parse_single_submenu and construct a tree of widget_value objects.
      Ignore the panes and items used by previous calls to
@@ -1653,10 +1653,10 @@ digest_single_submenu (start, end, top_level_items)
          /* Create a new pane.  */
          Lisp_Object pane_name, prefix;
          char *pane_string;
-         
+
          pane_name = XVECTOR (menu_items)->contents[i + MENU_ITEMS_PANE_NAME];
          prefix = XVECTOR (menu_items)->contents[i + MENU_ITEMS_PANE_PREFIX];
-         
+
 #ifndef HAVE_MULTILINGUAL_MENU
          if (STRINGP (pane_name) && STRING_MULTIBYTE (pane_name))
            {
@@ -1700,7 +1700,7 @@ digest_single_submenu (start, end, top_level_items)
          /* Create a new item within current pane.  */
          Lisp_Object item_name, enable, descrip, def, type, selected;
          Lisp_Object help;
-         
+
          item_name = AREF (menu_items, i + MENU_ITEMS_ITEM_NAME);
          enable = AREF (menu_items, i + MENU_ITEMS_ITEM_ENABLE);
          descrip = AREF (menu_items, i + MENU_ITEMS_ITEM_EQUIV_KEY);
@@ -1715,7 +1715,7 @@ digest_single_submenu (start, end, top_level_items)
              item_name = ENCODE_SYSTEM (item_name);
              AREF (menu_items, i + MENU_ITEMS_ITEM_NAME) = item_name;
            }
-         
+
           if (STRINGP (descrip) && STRING_MULTIBYTE (descrip))
            {
              descrip = ENCODE_SYSTEM (descrip);
@@ -1724,7 +1724,7 @@ digest_single_submenu (start, end, top_level_items)
 #endif /* not HAVE_MULTILINGUAL_MENU */
 
          wv = xmalloc_widget_value ();
-         if (prev_wv) 
+         if (prev_wv)
            prev_wv->next = wv;
          else
            save_wv->contents = wv;
@@ -1737,7 +1737,7 @@ digest_single_submenu (start, end, top_level_items)
             as long as pointers have enough bits to hold small integers.  */
          wv->call_data = (!NILP (def) ? (void *) (EMACS_INT) i : 0);
          wv->enabled = !NILP (enable);
-         
+
          if (NILP (type))
            wv->button_type = BUTTON_TYPE_NONE;
          else if (EQ (type, QCradio))
@@ -1783,7 +1783,7 @@ update_frame_menubar (f)
 #else
   struct x_output *x = f->output_data.x;
   int columns, rows;
-  
+
   if (!x->menubar_widget || XtIsManaged (x->menubar_widget))
     return 0;
 
@@ -1847,7 +1847,7 @@ set_frame_menubar (f, first_time, deep_p)
     f->output_data.x->id = next_menubar_widget_id++;
   id = f->output_data.x->id;
 #endif
-  
+
   if (! menubar_widget)
     deep_p = 1;
   else if (pending_menu_activation && !deep_p)
@@ -1895,7 +1895,7 @@ set_frame_menubar (f, first_time, deep_p)
 
       /* Run the Lucid hook.  */
       safe_run_hooks (Qactivate_menubar_hook);
-      
+
       /* If it has changed current-menubar from previous value,
         really recompute the menubar from the value.  */
       if (! NILP (Vlucid_menu_bar_dirty_flag))
@@ -1960,7 +1960,7 @@ set_frame_menubar (f, first_time, deep_p)
          menu_items_n_panes = submenu_n_panes[i];
          wv = digest_single_submenu (submenu_start[i], submenu_end[i],
                                      submenu_top_level_items[i]);
-         if (prev_wv) 
+         if (prev_wv)
            prev_wv->next = wv;
          else
            first_wv->contents = wv;
@@ -2039,7 +2039,7 @@ set_frame_menubar (f, first_time, deep_p)
             This value just has to be different from small integers.  */
          wv->call_data = (void *) (EMACS_INT) (-1);
 
-         if (prev_wv) 
+         if (prev_wv)
            prev_wv->next = wv;
          else
            first_wv->contents = wv;
@@ -2073,9 +2073,9 @@ set_frame_menubar (f, first_time, deep_p)
   else
     {
       GtkWidget *wvbox = f->output_data.x->vbox_widget;
-      
+
       menubar_widget
-        = xg_create_widget ("menubar", "menubar", f, first_wv, 
+        = xg_create_widget ("menubar", "menubar", f, first_wv,
                             G_CALLBACK (menubar_selection_callback),
                             G_CALLBACK (popup_deactivate_callback),
                             G_CALLBACK (menu_highlight_callback));
@@ -2083,7 +2083,7 @@ set_frame_menubar (f, first_time, deep_p)
       f->output_data.x->menubar_widget = menubar_widget;
     }
 
-  
+
 #else /* not USE_GTK */
   if (menubar_widget)
     {
@@ -2099,7 +2099,7 @@ set_frame_menubar (f, first_time, deep_p)
     }
   else
     {
-      menubar_widget = lw_create_widget ("menubar", "menubar", id, first_wv, 
+      menubar_widget = lw_create_widget ("menubar", "menubar", id, first_wv,
                                         f->output_data.x->column_widget,
                                         0,
                                         popup_activate_callback,
@@ -2110,7 +2110,7 @@ set_frame_menubar (f, first_time, deep_p)
     }
 
   {
-    int menubar_size 
+    int menubar_size
       = (f->output_data.x->menubar_widget
         ? (f->output_data.x->menubar_widget->core.height
            + f->output_data.x->menubar_widget->core.border_width)
@@ -2132,7 +2132,7 @@ set_frame_menubar (f, first_time, deep_p)
     f->output_data.x->menubar_height = menubar_size;
   }
 #endif /* not USE_GTK */
-  
+
   free_menubar_widget_value_tree (first_wv);
   update_frame_menubar (f);
 
@@ -2173,7 +2173,7 @@ free_frame_menubar (f)
   menubar_widget = f->output_data.x->menubar_widget;
 
   f->output_data.x->menubar_height = 0;
-  
+
   if (menubar_widget)
     {
 #ifdef USE_MOTIF
@@ -2187,14 +2187,14 @@ free_frame_menubar (f)
         is switched off, which fixes the shell position.  */
       Position x0, y0, x1, y1;
 #endif
-      
+
       BLOCK_INPUT;
 
 #ifdef USE_MOTIF
       if (f->output_data.x->widget)
        XtVaGetValues (f->output_data.x->widget, XtNx, &x0, XtNy, &y0, NULL);
 #endif
-      
+
       lw_destroy_all_widgets ((LWLIB_ID) f->output_data.x->id);
       f->output_data.x->menubar_widget = NULL;
 
@@ -2206,7 +2206,7 @@ free_frame_menubar (f)
            XtVaSetValues (f->output_data.x->widget, XtNx, x0, XtNy, y0, NULL);
        }
 #endif
-      
+
       UNBLOCK_INPUT;
     }
 }
@@ -2300,7 +2300,7 @@ create_and_show_popup_menu (f, first_wv, x, y, for_click)
                            G_CALLBACK (popup_deactivate_callback),
                            G_CALLBACK (menu_highlight_callback));
   xg_crazy_callback_abort = 0;
-  
+
   for (i = 0; i < 5; i++)
     if (FRAME_X_DISPLAY_INFO (f)->grabbed & (1 << i))
       break;
@@ -2321,7 +2321,7 @@ create_and_show_popup_menu (f, first_wv, x, y, for_click)
   /* Display the menu.  */
   gtk_widget_show_all (menu);
   gtk_menu_popup (GTK_MENU (menu), 0, 0, pos_func, &popup_x_y, i, 0);
-  
+
   xg_did_tearoff = 0;
   /* Set this to one.  popup_widget_loop increases it by one, so it becomes
      two.  show_help_echo uses this to detect popup menus.  */
@@ -2333,7 +2333,7 @@ create_and_show_popup_menu (f, first_wv, x, y, for_click)
     xg_keep_popup (menu, xg_did_tearoff);
   else
     gtk_widget_destroy (menu);
-    
+
   /* Must reset this manually because the button release event is not passed
      to Emacs event loop. */
   FRAME_X_DISPLAY_INFO (f)->grabbed = 0;
@@ -2425,7 +2425,7 @@ create_and_show_popup_menu (f, first_wv, x, y, for_click)
      that it is unnecessary--that the menu has already disappeared.
      Nowadays the menu disappears ok, all right, but
      we need to delete the widgets or multiple ones will pile up.  */
-  lw_destroy_all_widgets (menu_id); 
+  lw_destroy_all_widgets (menu_id);
 }
 
 #endif /* not USE_GTK */
@@ -2468,7 +2468,7 @@ xmenu_show (f, x, y, for_click, keymaps, title, error)
   wv->help =Qnil;
   first_wv = wv;
   first_pane = 1;
+
   /* Loop over all panes and items, filling in the tree.  */
   i = 0;
   while (i < menu_items_used)
@@ -2500,10 +2500,10 @@ xmenu_show (f, x, y, for_click, keymaps, title, error)
          /* Create a new pane.  */
          Lisp_Object pane_name, prefix;
          char *pane_string;
-         
+
          pane_name = AREF (menu_items, i + MENU_ITEMS_PANE_NAME);
          prefix = AREF (menu_items, i + MENU_ITEMS_PANE_PREFIX);
-         
+
 #ifndef HAVE_MULTILINGUAL_MENU
          if (STRINGP (pane_name) && STRING_MULTIBYTE (pane_name))
            {
@@ -2564,18 +2564,18 @@ xmenu_show (f, x, y, for_click, keymaps, title, error)
              item_name = ENCODE_SYSTEM (item_name);
              AREF (menu_items, i + MENU_ITEMS_ITEM_NAME) = item_name;
            }
-         
+
           if (STRINGP (descrip) && STRING_MULTIBYTE (descrip))
            {
              descrip = ENCODE_SYSTEM (descrip);
              AREF (menu_items, i + MENU_ITEMS_ITEM_EQUIV_KEY) = descrip;
            }
 #endif /* not HAVE_MULTILINGUAL_MENU */
+
          wv = xmalloc_widget_value ();
-         if (prev_wv) 
+         if (prev_wv)
            prev_wv->next = wv;
-         else 
+         else
            save_wv->contents = wv;
          wv->name = (char *) SDATA (item_name);
          if (!NILP (descrip))
@@ -2629,7 +2629,7 @@ xmenu_show (f, x, y, for_click, keymaps, title, error)
       if (STRING_MULTIBYTE (title))
        title = ENCODE_SYSTEM (title);
 #endif
-      
+
       wv_title->name = (char *) SDATA (title);
       wv_title->enabled = TRUE;
       wv_title->button_type = BUTTON_TYPE_NONE;
@@ -2741,7 +2741,7 @@ create_and_show_dialog (f, first_wv)
 
       /* Process events that apply to the menu.  */
       popup_widget_loop ();
-  
+
       gtk_widget_destroy (menu);
     }
 }
@@ -2807,7 +2807,7 @@ create_and_show_dialog (f, first_wv)
   {
     int count = SPECPDL_INDEX ();
     int fact = 4 * sizeof (LWLIB_ID);
-    
+
     /* xdialog_show_unwind is responsible for popping the dialog box down.  */
     record_unwind_protect (xdialog_show_unwind,
                            Fcons (make_number (dialog_id >> (fact)),
@@ -2858,7 +2858,7 @@ xdialog_show (f, keymaps, title, error)
     pane_name = XVECTOR (menu_items)->contents[MENU_ITEMS_PANE_NAME];
     prefix = XVECTOR (menu_items)->contents[MENU_ITEMS_PANE_PREFIX];
     pane_string = (NILP (pane_name)
-                  ? "" : (char *) SDATA (pane_name));  
+                  ? "" : (char *) SDATA (pane_name));
     prev_wv = xmalloc_widget_value ();
     prev_wv->value = pane_string;
     if (keymaps && !NILP (prefix))
@@ -2867,19 +2867,19 @@ xdialog_show (f, keymaps, title, error)
     prev_wv->name = "message";
     prev_wv->help = Qnil;
     first_wv = prev_wv;
+
     /* Loop over all panes and items, filling in the tree.  */
     i = MENU_ITEMS_PANE_LENGTH;
     while (i < menu_items_used)
       {
-       
+
        /* Create a new item within current pane.  */
        Lisp_Object item_name, enable, descrip;
        item_name = XVECTOR (menu_items)->contents[i + MENU_ITEMS_ITEM_NAME];
        enable = XVECTOR (menu_items)->contents[i + MENU_ITEMS_ITEM_ENABLE];
        descrip
          = XVECTOR (menu_items)->contents[i + MENU_ITEMS_ITEM_EQUIV_KEY];
-       
+
        if (NILP (item_name))
          {
            free_menubar_widget_value_tree (first_wv);
@@ -2950,7 +2950,7 @@ xdialog_show (f, keymaps, title, error)
 
   /* Free the widget_value objects we used to specify the contents.  */
   free_menubar_widget_value_tree (first_wv);
-  
+
   /* Find the selected item, and its pane, to return
      the proper value.  */
   if (menu_item_selection != 0)
@@ -3009,7 +3009,7 @@ static struct frame *menu_help_frame;
 
    PANE is the pane number, and ITEM is the menu item number in
    the menu (currently not used).
-   
+
    This cannot be done with generating a HELP_EVENT because
    XMenuActivate contains a loop that doesn't let Emacs process
    keyboard events.  */
@@ -3023,7 +3023,7 @@ menu_help_callback (help_string, pane, item)
   Lisp_Object *first_item;
   Lisp_Object pane_name;
   Lisp_Object menu_object;
+
   first_item = XVECTOR (menu_items)->contents;
   if (EQ (first_item[0], Qt))
     pane_name = first_item[MENU_ITEMS_PANE_NAME];
@@ -3032,7 +3032,7 @@ menu_help_callback (help_string, pane, item)
     pane_name = empty_string;
   else
     pane_name = first_item[MENU_ITEMS_ITEM_NAME];
+
   /* (menu-item MENU-NAME PANE-NUMBER)  */
   menu_object = Fcons (Qmenu_item,
                       Fcons (pane_name,
@@ -3040,7 +3040,7 @@ menu_help_callback (help_string, pane, item)
   show_help_echo (help_string ? build_string (help_string) : Qnil,
                  Qnil, menu_object, make_number (item), 1);
 }
-  
+
 
 static Lisp_Object
 xmenu_show (f, x, y, for_click, keymaps, title, error)
@@ -3051,7 +3051,7 @@ xmenu_show (f, x, y, for_click, keymaps, title, error)
      Lisp_Object title;
      char **error;
 {
-  Window root;         
+  Window root;
   XMenu *menu;
   int pane, selidx, lpane, status;
   Lisp_Object entry, pane_prefix;
@@ -3118,7 +3118,7 @@ xmenu_show (f, x, y, for_click, keymaps, title, error)
   /* Adjust coordinates to be root-window-relative.  */
   x += f->output_data.x->left_pos;
   y += f->output_data.x->top_pos;
+
   /* Create all the necessary panes and their items.  */
   i = 0;
   while (i < menu_items_used)
@@ -3183,7 +3183,7 @@ xmenu_show (f, x, y, for_click, keymaps, title, error)
            = XVECTOR (menu_items)->contents[i + MENU_ITEMS_ITEM_EQUIV_KEY];
          help = XVECTOR (menu_items)->contents[i + MENU_ITEMS_ITEM_HELP];
          help_string = STRINGP (help) ? SDATA (help) : NULL;
-         
+
          if (!NILP (descrip))
            {
              int gap = maxwidth - SBYTES (item_name);
@@ -3347,7 +3347,7 @@ The enable predicate for a menu command should check this variable.  */);
   Vmenu_updating_frame = Qnil;
 
 #ifdef USE_X_TOOLKIT
-  widget_id_tick = (1<<16);    
+  widget_id_tick = (1<<16);
   next_menubar_widget_id = 1;
 #endif
 
index 4fa0e8bb49b4172da02413f9eda14455d18eefbb..43075c9d5b3ca4f753e8f26f94c296794e5a455f 100644 (file)
@@ -8783,12 +8783,12 @@ xg_scroll_callback (widget, data)
   gdouble position;
   gdouble *p;
   int diff;
-  
+
   int part = -1, whole = 0, portion = 0;
   GtkAdjustment *adj = GTK_ADJUSTMENT (widget);
-  
+
   if (xg_ignore_gtk_scrollbar) return;
-  
+
   position = gtk_adjustment_get_value (adj);
 
   p = g_object_get_data (G_OBJECT (widget), XG_LAST_SB_DATA);
@@ -8803,7 +8803,7 @@ xg_scroll_callback (widget, data)
   *p = position;
 
   diff = (int) (position - previous);
-  
+
   if (diff == (int) adj->step_increment)
     {
       part = scroll_bar_down_arrow;
@@ -8831,7 +8831,7 @@ xg_scroll_callback (widget, data)
       portion = min (position, whole);
       bar->dragging = make_number (portion);
     }
-  
+
   if (part >= 0)
     {
       xg_ignore_next_thumb = 1;
@@ -10221,7 +10221,7 @@ enum
    Returns non-zero if the event was filtered, caller shall not process
    this event further.
    Returns zero if event is wasn't filtered.  */
-   
+
 #ifdef HAVE_X_I18N
 static int
 x_filter_event (dpyinfo, event)
@@ -10286,7 +10286,7 @@ event_handler_gdk (gxev, ev, data)
 
 
 /* Handles the XEvent EVENT on display DPYINFO.
-   
+
    *FINISH is X_EVENT_GOTO_OUT if caller should stop reading events.
    *FINISH is zero if caller should continue reading events.
    *FINISH is X_EVENT_DROP if event should not be passed to the toolkit.
@@ -10294,7 +10294,7 @@ event_handler_gdk (gxev, ev, data)
    Events representing keys are stored in buffer *BUFP_R,
    which can hold up to *NUMCHARSP characters.
    We return the number of characters stored into the buffer. */
-   
+
 static int
 handle_one_xevent (dpyinfo, eventp, bufp_r, numcharsp, finish)
      struct x_display_info *dpyinfo;
@@ -10312,7 +10312,7 @@ handle_one_xevent (dpyinfo, eventp, bufp_r, numcharsp, finish)
   XEvent event = *eventp;
 
   *finish = X_EVENT_NORMAL;
-  
+
   switch (event.type)
     {
     case ClientMessage:
@@ -11541,7 +11541,7 @@ handle_one_xevent (dpyinfo, eventp, bufp_r, numcharsp, finish)
     }
 
   goto ret;
-  
+
  out:
   *finish = X_EVENT_GOTO_OUT;
 
@@ -11549,7 +11549,7 @@ handle_one_xevent (dpyinfo, eventp, bufp_r, numcharsp, finish)
   *bufp_r = bufp;
   *numcharsp = numchars;
   *eventp = event;
-  
+
   return count;
 }
 
@@ -11569,11 +11569,11 @@ x_dispatch_event (event, display)
   struct input_event *bufpp = bufp;
   int numchars = 10;
   int finish = X_EVENT_NORMAL;
-      
+
   for (dpyinfo = x_display_list; dpyinfo; dpyinfo = dpyinfo->next)
     if (dpyinfo->display == display)
       break;
-          
+
   if (dpyinfo)
     {
       int i, events;
@@ -11681,7 +11681,7 @@ XTread_socket (sd, bufp, numchars, expected)
          We use a bunch of globals to communicate with our filter function,
          that is kind of ugly, but it works. */
       current_dpyinfo = dpyinfo;
-      
+
       while (gtk_events_pending ())
         {
           static int nr = 0;
@@ -11703,7 +11703,7 @@ XTread_socket (sd, bufp, numchars, expected)
       while (XPending (dpyinfo->display))
        {
           int finish;
-          
+
          XNextEvent (dpyinfo->display, &event);
 
 #ifdef HAVE_X_I18N
@@ -14105,7 +14105,7 @@ x_free_frame_resources (f)
           FRAME_GTK_OUTER_WIDGET (f) = 0;
         }
 #endif /* USE_GTK */
-          
+
       if (FRAME_X_WINDOW (f))
        XDestroyWindow (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f));
 #endif /* !USE_X_TOOLKIT */
@@ -14208,7 +14208,7 @@ x_wm_set_size_hint (f, flags, user_position)
   int ac = 0;
   Dimension widget_width, widget_height;
 #endif
-  
+
   Window window = FRAME_OUTER_WINDOW (f);
 
   /* Setting PMaxSize caused various problems.  */
@@ -15198,7 +15198,7 @@ x_term_init (display_name, xrm_option, resource_name)
 
     argv[argc++] = "--name";
     argv[argc++] = resource_name;
-    
+
 #ifdef HAVE_X11R5
     XSetLocaleModifiers ("");
 #endif
@@ -15210,7 +15210,7 @@ x_term_init (display_name, xrm_option, resource_name)
     xg_initialize ();
 
     dpy = GDK_DISPLAY ();
-    
+
     /* NULL window -> events for all windows go to our function */
     gdk_window_add_filter (NULL, event_handler_gdk, NULL);
 
@@ -15226,10 +15226,10 @@ x_term_init (display_name, xrm_option, resource_name)
 
       if (! NILP (abs_file) && Ffile_readable_p (abs_file))
         gtk_rc_parse (SDATA (abs_file));
-      
+
       UNGCPRO;
     }
-    
+
     XSetErrorHandler (x_error_handler);
     XSetIOErrorHandler (x_io_error_quitter);
   }
index 129dca32f5c33e7a7c87c92c77b01017b7e3a2cc..22b1ee257e5f2d64cf82347974252e75fa2d8c83 100644 (file)
@@ -30,7 +30,7 @@ Boston, MA 02111-1307, USA.  */
 #include <X11/StringDefs.h>
 #include <X11/IntrinsicP.h>    /* CoreP.h needs this */
 #include <X11/CoreP.h>         /* foul, but we need this to use our own
-                                  window inside a widget instead of one 
+                                  window inside a widget instead of one
                                   that Xt creates... */
 #include <X11/StringDefs.h>
 
@@ -77,7 +77,7 @@ typedef GtkWidget *xt_or_gtk_widget;
 #ifdef PBaseSize
 /* AIX 3.1's X is somewhere between X11R3 and X11R4.  It has
    PBaseSize, but not XWithdrawWindow, XSetWMName, XSetWMNormalHints,
-   XSetWMIconName.  
+   XSetWMIconName.
    AIX 3.2 is at least X11R4.  */
 #if (!defined AIX) || (defined AIX3_2)
 #define HAVE_X11R4
@@ -138,51 +138,51 @@ struct x_display_info
 {
   /* Chain of all x_display_info structures.  */
   struct x_display_info *next;
-  
+
   /* Connection number (normally a file descriptor number).  */
   int connection;
-  
+
   /* This says how to access this display in Xlib.  */
   Display *display;
-  
+
   /* This is a cons cell of the form (NAME . FONT-LIST-CACHE).
      The same cons cell also appears in x_display_name_list.  */
   Lisp_Object name_list_element;
-  
+
   /* Number of frames that are on this display.  */
   int reference_count;
-  
+
   /* The Screen this connection is connected to.  */
   Screen *screen;
 
   /* Dots per inch of the screen.  */
   double resx, resy;
-  
+
   /* The Visual being used for this display.  */
   Visual *visual;
 
   /* The colormap being used.  */
   Colormap cmap;
-  
+
   /* Number of panes on this screen.  */
   int n_planes;
-  
+
   /* Dimensions of this screen.  */
   int height, width;
-  
+
   /* Mask of things that cause the mouse to be grabbed.  */
   int grabbed;
-  
+
   /* Emacs bitmap-id of the default icon bitmap for this frame.
      Or -1 if none has been allocated yet.  */
   int icon_bitmap_id;
-  
+
   /* The root window of this screen.  */
   Window root_window;
-  
+
   /* The cursor to use for vertical scroll bars.  */
   Cursor vertical_scroll_bar_cursor;
-  
+
   /* X Resource data base */
   XrmDatabase xrdb;
 
@@ -274,19 +274,19 @@ struct x_display_info
 
   /* Communication with window managers.  */
   Atom Xatom_wm_protocols;
-  
+
   /* Kinds of protocol things we may receive.  */
   Atom Xatom_wm_take_focus;
   Atom Xatom_wm_save_yourself;
   Atom Xatom_wm_delete_window;
-  
+
   /* Atom for indicating window state to the window manager.  */
   Atom Xatom_wm_change_state;
-  
+
   /* Other WM communication */
   Atom Xatom_wm_configure_denied; /* When our config request is denied */
   Atom Xatom_wm_window_moved;     /* When the WM moves us.  */
-  
+
   /* EditRes protocol */
   Atom Xatom_editres;
 
@@ -476,7 +476,7 @@ struct x_output
   GtkWidget *toolbar_widget;
   /* The handle box that makes the tool bar detachable.  */
   GtkWidget *handlebox_widget;
-  
+
   /* The last size hints set.  */
   GdkGeometry size_hints;
   long hint_flags;
@@ -508,7 +508,7 @@ struct x_output
   /* Foreground color for scroll bars.  A value of -1 means use the
      default (black for non-toolkit scroll bars).  */
   unsigned long scroll_bar_foreground_pixel;
-  
+
   /* Background color for scroll bars.  A value of -1 means use the
      default (background color of the frame for non-toolkit scroll
      bars).  */
@@ -530,7 +530,7 @@ struct x_output
   /* Window whose cursor is hourglass_cursor.  This window is temporarily
      mapped to display an hourglass cursor.  */
   Window hourglass_window;
-  
+
   /* Non-zero means hourglass cursor is currently displayed.  */
   unsigned hourglass_p : 1;
 
@@ -629,7 +629,7 @@ struct x_output
   /* As x_pixels_diff, but to FRAME_OUTER_WINDOW.  For some reason the
      two might differ by a pixel, depending on WM */
   int x_pixels_outer_diff;
-  
+
   /* As y_pixels_diff, but to FRAME_OUTER_WINDOW.  In the toolkit version,
      these may differ because this does not take into account possible
      menubar.  y_pixels_diff is with menubar height included */
@@ -878,7 +878,7 @@ struct scroll_bar
 
 /* Return the length of the rectangle within which the top of the
    handle must stay.  This isn't equivalent to the inside height,
-   because the scroll bar handle has a minimum height.  
+   because the scroll bar handle has a minimum height.
 
    This is the real range of motion for the scroll bar, so when we're
    scaling buffer positions to scroll bar positions, we use this, not
@@ -941,7 +941,7 @@ struct scroll_bar
    + (f)->output_data.x->internal_border_width)
 
 
-/* Return the row/column (zero-based) of the character cell containing 
+/* Return the row/column (zero-based) of the character cell containing
    the pixel on FRAME at ROW/COL.  */
 #define PIXEL_TO_CHAR_ROW(f, row) \
   (((row) - (f)->output_data.x->internal_border_width) \
index 801b15003da7da1617ae9132dd9d9d755518c122..9ce3a641b256e5aba124b842bc6ff4a6cd354fe2 100755 (executable)
@@ -24,7 +24,7 @@ cd $1
 for file in *; do
     case $file in
        *.elc | *.el | term | RCS | CVS | Old | . | .. | =* | *~ | *.orig | *.rej)
-         ;;    
+         ;;
        *)
            if [ -d $file ]; then
              subdirs="\"$file\" $subdirs"