DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ e

⟦270e76bf6⟧

    Length: 51597 (0xc98d)
    Names: »emacs-7«

Derivation

└─⟦a0efdde77⟧ Bits:30001252 EUUGD11 Tape, 1987 Spring Conference Helsinki
    └─ ⟦this⟧ »EUUGD11/gnu-31mar87/emacs/info/emacs-7« 

Hex Dump

0x0000…0020 49 6e 66 6f 20 66 69 6c 65 20 65 6d 61 63 73 2c 20 70 72 6f 64 75 63 65 64 20 62 79 20 74 65 78   ┆Info file emacs, produced by tex┆
0x0020…0040 69 6e 66 6f 2d 66 6f 72 6d 61 74 2d 62 75 66 66 65 72 20 20 20 2d 2a 2d 54 65 78 74 2d 2a 2d 0a   ┆info-format-buffer   -*-Text-*- ┆
0x0040…0060 66 72 6f 6d 20 66 69 6c 65 20 65 6d 61 63 73 2e 74 65 78 0a 0a 54 68 69 73 20 66 69 6c 65 20 64   ┆from file emacs.tex  This file d┆
0x0060…0080 6f 63 75 6d 65 6e 74 73 20 74 68 65 20 47 4e 55 20 45 6d 61 63 73 20 65 64 69 74 6f 72 2e 0a 0a   ┆ocuments the GNU Emacs editor.  ┆
0x0080…00a0 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 31 39 38 35 2c 20 31 39 38 36 20 52 69 63 68 61 72 64   ┆Copyright (C) 1985, 1986 Richard┆
0x00a0…00c0 20 4d 2e 20 53 74 61 6c 6c 6d 61 6e 2e 0a 0a 50 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 67 72 61   ┆ M. Stallman.  Permission is gra┆
0x00c0…00e0 6e 74 65 64 20 74 6f 20 6d 61 6b 65 20 61 6e 64 20 64 69 73 74 72 69 62 75 74 65 20 76 65 72 62   ┆nted to make and distribute verb┆
0x00e0…0100 61 74 69 6d 20 63 6f 70 69 65 73 20 6f 66 0a 74 68 69 73 20 6d 61 6e 75 61 6c 20 70 72 6f 76 69   ┆atim copies of this manual provi┆
0x0100…0120 64 65 64 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 20 61 6e 64 20 74 68 69   ┆ded the copyright notice and thi┆
0x0120…0140 73 20 70 65 72 6d 69 73 73 69 6f 6e 20 6e 6f 74 69 63 65 0a 61 72 65 20 70 72 65 73 65 72 76 65   ┆s permission notice are preserve┆
0x0140…0160 64 20 6f 6e 20 61 6c 6c 20 63 6f 70 69 65 73 2e 0a 0a 50 65 72 6d 69 73 73 69 6f 6e 20 69 73 20   ┆d on all copies.  Permission is ┆
0x0160…0180 67 72 61 6e 74 65 64 20 74 6f 20 63 6f 70 79 20 61 6e 64 20 64 69 73 74 72 69 62 75 74 65 20 6d   ┆granted to copy and distribute m┆
0x0180…01a0 6f 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 74 68 69 73 0a 6d 61 6e 75 61 6c 20   ┆odified versions of this manual ┆
0x01a0…01c0 75 6e 64 65 72 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 20 66 6f 72 20 76 65 72 62 61 74 69   ┆under the conditions for verbati┆
0x01c0…01e0 6d 20 63 6f 70 79 69 6e 67 2c 20 70 72 6f 76 69 64 65 64 20 61 6c 73 6f 20 74 68 61 74 20 74 68   ┆m copying, provided also that th┆
0x01e0…0200 65 0a 73 65 63 74 69 6f 6e 73 20 65 6e 74 69 74 6c 65 64 20 22 54 68 65 20 47 4e 55 20 4d 61 6e   ┆e sections entitled "The GNU Man┆
0x0200…0220 69 66 65 73 74 6f 22 2c 20 22 44 69 73 74 72 69 62 75 74 69 6f 6e 22 20 61 6e 64 20 22 47 4e 55   ┆ifesto", "Distribution" and "GNU┆
0x0220…0240 20 45 6d 61 63 73 0a 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 22 20 61   ┆ Emacs General Public License" a┆
0x0240…0260 72 65 20 69 6e 63 6c 75 64 65 64 20 65 78 61 63 74 6c 79 20 61 73 20 69 6e 20 74 68 65 20 6f 72   ┆re included exactly as in the or┆
0x0260…0280 69 67 69 6e 61 6c 2c 20 61 6e 64 0a 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 74 68 65 20 65 6e   ┆iginal, and provided that the en┆
0x0280…02a0 74 69 72 65 20 72 65 73 75 6c 74 69 6e 67 20 64 65 72 69 76 65 64 20 77 6f 72 6b 20 69 73 20 64   ┆tire resulting derived work is d┆
0x02a0…02c0 69 73 74 72 69 62 75 74 65 64 20 75 6e 64 65 72 20 74 68 65 0a 74 65 72 6d 73 20 6f 66 20 61 20   ┆istributed under the terms of a ┆
0x02c0…02e0 70 65 72 6d 69 73 73 69 6f 6e 20 6e 6f 74 69 63 65 20 69 64 65 6e 74 69 63 61 6c 20 74 6f 20 74   ┆permission notice identical to t┆
0x02e0…0300 68 69 73 20 6f 6e 65 2e 0a 0a 50 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 67 72 61 6e 74 65 64 20   ┆his one.  Permission is granted ┆
0x0300…0320 74 6f 20 63 6f 70 79 20 61 6e 64 20 64 69 73 74 72 69 62 75 74 65 20 74 72 61 6e 73 6c 61 74 69   ┆to copy and distribute translati┆
0x0320…0340 6f 6e 73 20 6f 66 20 74 68 69 73 20 6d 61 6e 75 61 6c 0a 69 6e 74 6f 20 61 6e 6f 74 68 65 72 20   ┆ons of this manual into another ┆
0x0340…0360 6c 61 6e 67 75 61 67 65 2c 20 75 6e 64 65 72 20 74 68 65 20 61 62 6f 76 65 20 63 6f 6e 64 69 74   ┆language, under the above condit┆
0x0360…0380 69 6f 6e 73 20 66 6f 72 20 6d 6f 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e 73 2c 0a 65 78 63 65   ┆ions for modified versions, exce┆
0x0380…03a0 70 74 20 74 68 61 74 20 74 68 65 20 73 65 63 74 69 6f 6e 73 20 65 6e 74 69 74 6c 65 64 20 22 54   ┆pt that the sections entitled "T┆
0x03a0…03c0 68 65 20 47 4e 55 20 4d 61 6e 69 66 65 73 74 6f 22 2c 20 22 44 69 73 74 72 69 62 75 74 69 6f 6e   ┆he GNU Manifesto", "Distribution┆
0x03c0…03e0 22 0a 61 6e 64 20 22 47 4e 55 20 45 6d 61 63 73 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20   ┆" and "GNU Emacs General Public ┆
0x03e0…0400 4c 69 63 65 6e 73 65 22 20 6d 61 79 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 61 20 74 72   ┆License" may be included in a tr┆
0x0400…0420 61 6e 73 6c 61 74 69 6f 6e 0a 61 70 70 72 6f 76 65 64 20 62 79 20 74 68 65 20 61 75 74 68 6f 72   ┆anslation approved by the author┆
0x0420…0440 20 69 6e 73 74 65 61 64 20 6f 66 20 69 6e 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 45 6e 67 6c   ┆ instead of in the original Engl┆
0x0440…0460 69 73 68 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 65 6d 61 63 73 20 20 4e 6f 64 65 3a 20 44 65 66 75 6e   ┆ish.    File: emacs  Node: Defun┆
0x0460…0480 73 2c 20 50 72 65 76 3a 20 4c 69 73 74 73 2c 20 55 70 3a 20 50 72 6f 67 72 61 6d 73 2c 20 4e 65   ┆s, Prev: Lists, Up: Programs, Ne┆
0x0480…04a0 78 74 3a 20 47 72 69 6e 64 69 6e 67 0a 0a 44 65 66 75 6e 73 0a 3d 3d 3d 3d 3d 3d 0a 0a 20 20 49   ┆xt: Grinding  Defuns ======    I┆
0x04a0…04c0 6e 20 45 6d 61 63 73 2c 20 61 20 70 61 72 65 6e 74 68 65 74 69 63 61 6c 20 67 72 6f 75 70 69 6e   ┆n Emacs, a parenthetical groupin┆
0x04c0…04e0 67 20 61 74 20 74 68 65 20 74 6f 70 20 6c 65 76 65 6c 20 69 6e 20 74 68 65 20 62 75 66 66 65 72   ┆g at the top level in the buffer┆
0x04e0…0500 20 69 73 0a 63 61 6c 6c 65 64 20 61 20 22 64 65 66 75 6e 22 2e 20 20 54 68 65 20 6e 61 6d 65 20   ┆ is called a "defun".  The name ┆
0x0500…0520 64 65 72 69 76 65 73 20 66 72 6f 6d 20 74 68 65 20 66 61 63 74 20 74 68 61 74 20 6d 6f 73 74 20   ┆derives from the fact that most ┆
0x0520…0540 74 6f 70 2d 6c 65 76 65 6c 0a 6c 69 73 74 73 20 69 6e 20 61 20 4c 69 73 70 20 66 69 6c 65 20 61   ┆top-level lists in a Lisp file a┆
0x0540…0560 72 65 20 69 6e 73 74 61 6e 63 65 73 20 6f 66 20 74 68 65 20 73 70 65 63 69 61 6c 20 66 6f 72 6d   ┆re instances of the special form┆
0x0560…0580 20 60 64 65 66 75 6e 27 2c 20 62 75 74 0a 61 6e 79 20 74 6f 70 2d 6c 65 76 65 6c 20 70 61 72 65   ┆ `defun', but any top-level pare┆
0x0580…05a0 6e 74 68 65 74 69 63 61 6c 20 67 72 6f 75 70 69 6e 67 20 63 6f 75 6e 74 73 20 61 73 20 61 20 64   ┆nthetical grouping counts as a d┆
0x05a0…05c0 65 66 75 6e 20 69 6e 20 45 6d 61 63 73 20 70 61 72 6c 61 6e 63 65 0a 72 65 67 61 72 64 6c 65 73   ┆efun in Emacs parlance regardles┆
0x05c0…05e0 73 20 6f 66 20 77 68 61 74 20 69 74 73 20 63 6f 6e 74 65 6e 74 73 20 61 72 65 2c 20 61 6e 64 20   ┆s of what its contents are, and ┆
0x05e0…0600 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 74 68 65 20 70 72 6f 67 72 61 6d 6d 69 6e 67 0a 6c 61   ┆regardless of the programming la┆
0x0600…0620 6e 67 75 61 67 65 20 69 6e 20 75 73 65 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 69 6e 20   ┆nguage in use.  For example, in ┆
0x0620…0640 43 2c 20 74 68 65 20 62 6f 64 79 20 6f 66 20 61 20 66 75 6e 63 74 69 6f 6e 20 64 65 66 69 6e 69   ┆C, the body of a function defini┆
0x0640…0660 74 69 6f 6e 20 69 73 20 61 0a 64 65 66 75 6e 2e 0a 0a 60 43 2d 4d 2d 61 27 20 20 20 20 20 0a 20   ┆tion is a defun.  `C-M-a'       ┆
0x0660…0680 20 20 20 20 4d 6f 76 65 20 74 6f 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 63 75 72 72 65 6e 74   ┆    Move to beginning of current┆
0x0680…06a0 20 6f 72 20 70 72 65 63 65 64 69 6e 67 20 64 65 66 75 6e 0a 20 20 20 20 20 28 60 62 65 67 69 6e   ┆ or preceding defun      (`begin┆
0x06a0…06c0 6e 69 6e 67 2d 6f 66 2d 64 65 66 75 6e 27 29 2e 0a 60 43 2d 4d 2d 65 27 20 20 20 20 20 0a 20 20   ┆ning-of-defun'). `C-M-e'        ┆
0x06c0…06e0 20 20 20 4d 6f 76 65 20 74 6f 20 65 6e 64 20 6f 66 20 63 75 72 72 65 6e 74 20 6f 72 20 66 6f 6c   ┆   Move to end of current or fol┆
0x06e0…0700 6c 6f 77 69 6e 67 20 64 65 66 75 6e 20 28 60 65 6e 64 2d 6f 66 2d 64 65 66 75 6e 27 29 2e 0a 60   ┆lowing defun (`end-of-defun'). `┆
0x0700…0720 43 2d 4d 2d 68 27 20 20 20 20 20 0a 20 20 20 20 20 50 75 74 20 72 65 67 69 6f 6e 20 61 72 6f 75   ┆C-M-h'           Put region arou┆
0x0720…0740 6e 64 20 77 68 6f 6c 65 20 63 75 72 72 65 6e 74 20 6f 72 20 66 6f 6c 6c 6f 77 69 6e 67 20 64 65   ┆nd whole current or following de┆
0x0740…0760 66 75 6e 20 28 60 6d 61 72 6b 2d 64 65 66 75 6e 27 29 2e 0a 0a 20 20 54 68 65 20 63 6f 6d 6d 61   ┆fun (`mark-defun').    The comma┆
0x0760…0780 6e 64 73 20 74 6f 20 6d 6f 76 65 20 74 6f 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 61 6e 64   ┆nds to move to the beginning and┆
0x0780…07a0 20 65 6e 64 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 64 65 66 75 6e 20 61 72 65 0a 60 43   ┆ end of the current defun are `C┆
0x07a0…07c0 2d 4d 2d 61 27 20 28 60 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 64 65 66 75 6e 27 29 20 61 6e 64   ┆-M-a' (`beginning-of-defun') and┆
0x07c0…07e0 20 60 43 2d 4d 2d 65 27 20 28 60 65 6e 64 2d 6f 66 2d 64 65 66 75 6e 27 29 2e 0a 0a 20 20 49 66   ┆ `C-M-e' (`end-of-defun').    If┆
0x07e0…0800 20 79 6f 75 20 77 69 73 68 20 74 6f 20 6f 70 65 72 61 74 65 20 6f 6e 20 74 68 65 20 63 75 72 72   ┆ you wish to operate on the curr┆
0x0800…0820 65 6e 74 20 64 65 66 75 6e 2c 20 75 73 65 20 60 43 2d 4d 2d 68 27 0a 28 60 6d 61 72 6b 2d 64 65   ┆ent defun, use `C-M-h' (`mark-de┆
0x0820…0840 66 75 6e 27 29 20 77 68 69 63 68 20 70 75 74 73 20 70 6f 69 6e 74 20 61 74 20 74 68 65 20 62 65   ┆fun') which puts point at the be┆
0x0840…0860 67 69 6e 6e 69 6e 67 20 61 6e 64 20 6d 61 72 6b 20 61 74 20 74 68 65 20 65 6e 64 0a 6f 66 20 74   ┆ginning and mark at the end of t┆
0x0860…0880 68 65 20 63 75 72 72 65 6e 74 20 6f 72 20 6e 65 78 74 20 64 65 66 75 6e 2e 20 20 46 6f 72 20 65   ┆he current or next defun.  For e┆
0x0880…08a0 78 61 6d 70 6c 65 2c 20 74 68 69 73 20 69 73 20 74 68 65 20 65 61 73 69 65 73 74 20 77 61 79 20   ┆xample, this is the easiest way ┆
0x08a0…08c0 74 6f 20 67 65 74 0a 72 65 61 64 79 20 74 6f 20 6d 6f 76 65 20 74 68 65 20 64 65 66 75 6e 20 74   ┆to get ready to move the defun t┆
0x08c0…08e0 6f 20 61 20 64 69 66 66 65 72 65 6e 74 20 70 6c 61 63 65 20 69 6e 20 74 68 65 20 74 65 78 74 2e   ┆o a different place in the text.┆
0x08e0…0900 20 20 49 6e 20 43 20 6d 6f 64 65 2c 0a 60 43 2d 4d 2d 68 27 20 72 75 6e 73 20 74 68 65 20 66 75   ┆  In C mode, `C-M-h' runs the fu┆
0x0900…0920 6e 63 74 69 6f 6e 20 60 6d 61 72 6b 2d 63 2d 66 75 6e 63 74 69 6f 6e 27 2c 20 77 68 69 63 68 20   ┆nction `mark-c-function', which ┆
0x0920…0940 69 73 20 61 6c 6d 6f 73 74 20 74 68 65 0a 73 61 6d 65 20 61 73 20 60 6d 61 72 6b 2d 64 65 66 75   ┆is almost the same as `mark-defu┆
0x0940…0960 6e 27 3b 20 74 68 65 20 64 69 66 66 65 72 65 6e 63 65 20 69 73 20 74 68 61 74 20 69 74 20 62 61   ┆n'; the difference is that it ba┆
0x0960…0980 63 6b 73 20 75 70 20 6f 76 65 72 20 74 68 65 0a 61 72 67 75 6d 65 6e 74 20 64 65 63 6c 61 72 61   ┆cks up over the argument declara┆
0x0980…09a0 74 69 6f 6e 73 2c 20 66 75 6e 63 74 69 6f 6e 20 6e 61 6d 65 20 61 6e 64 20 72 65 74 75 72 6e 65   ┆tions, function name and returne┆
0x09a0…09c0 64 20 64 61 74 61 20 74 79 70 65 20 73 6f 20 74 68 61 74 20 74 68 65 0a 65 6e 74 69 72 65 20 43   ┆d data type so that the entire C┆
0x09c0…09e0 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 73 69 64 65 20 74 68 65 20 72 65 67 69 6f 6e 2e 0a   ┆ function is inside the region. ┆
0x09e0…0a00 0a 20 20 45 6d 61 63 73 20 61 73 73 75 6d 65 73 20 74 68 61 74 20 61 6e 79 20 6f 70 65 6e 2d 70   ┆   Emacs assumes that any open-p┆
0x0a00…0a20 61 72 65 6e 74 68 65 73 69 73 20 66 6f 75 6e 64 20 69 6e 20 74 68 65 20 6c 65 66 74 6d 6f 73 74   ┆arenthesis found in the leftmost┆
0x0a20…0a40 20 63 6f 6c 75 6d 6e 20 69 73 0a 74 68 65 20 73 74 61 72 74 20 6f 66 20 61 20 64 65 66 75 6e 2e   ┆ column is the start of a defun.┆
0x0a40…0a60 20 20 54 68 65 72 65 66 6f 72 65 2c 20 6e 65 76 65 72 20 70 75 74 20 61 6e 20 6f 70 65 6e 2d 70   ┆  Therefore, never put an open-p┆
0x0a60…0a80 61 72 65 6e 74 68 65 73 69 73 20 61 74 20 74 68 65 0a 6c 65 66 74 20 6d 61 72 67 69 6e 20 69 6e   ┆arenthesis at the left margin in┆
0x0a80…0aa0 20 61 20 4c 69 73 70 20 66 69 6c 65 20 75 6e 6c 65 73 73 20 69 74 20 69 73 20 74 68 65 20 73 74   ┆ a Lisp file unless it is the st┆
0x0aa0…0ac0 61 72 74 20 6f 66 20 61 20 74 6f 70 20 6c 65 76 65 6c 20 6c 69 73 74 2e 0a 4e 65 76 65 72 20 70   ┆art of a top level list. Never p┆
0x0ac0…0ae0 75 74 20 61 6e 20 6f 70 65 6e 2d 62 72 61 63 65 20 6f 72 20 6f 74 68 65 72 20 6f 70 65 6e 69 6e   ┆ut an open-brace or other openin┆
0x0ae0…0b00 67 20 64 65 6c 69 6d 69 74 65 72 20 61 74 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20   ┆g delimiter at the beginning of ┆
0x0b00…0b20 61 0a 6c 69 6e 65 20 6f 66 20 43 20 63 6f 64 65 20 75 6e 6c 65 73 73 20 69 74 20 73 74 61 72 74   ┆a line of C code unless it start┆
0x0b20…0b40 73 20 74 68 65 20 62 6f 64 79 20 6f 66 20 61 20 66 75 6e 63 74 69 6f 6e 2e 20 20 54 68 65 20 6d   ┆s the body of a function.  The m┆
0x0b40…0b60 6f 73 74 20 6c 69 6b 65 6c 79 0a 70 72 6f 62 6c 65 6d 20 63 61 73 65 20 69 73 20 77 68 65 6e 20   ┆ost likely problem case is when ┆
0x0b60…0b80 79 6f 75 20 77 61 6e 74 20 61 6e 20 6f 70 65 6e 69 6e 67 20 64 65 6c 69 6d 69 74 65 72 20 61 74   ┆you want an opening delimiter at┆
0x0b80…0ba0 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 61 20 6c 69 6e 65 0a 69 6e 73 69 64 65 20 61 20 73 74   ┆ the start of a line inside a st┆
0x0ba0…0bc0 72 69 6e 67 2e 20 20 54 6f 20 61 76 6f 69 64 20 74 72 6f 75 62 6c 65 2c 20 70 75 74 20 61 6e 20   ┆ring.  To avoid trouble, put an ┆
0x0bc0…0be0 65 73 63 61 70 65 20 63 68 61 72 61 63 74 65 72 20 28 60 5c 27 2c 20 69 6e 20 43 0a 61 6e 64 20   ┆escape character (`\', in C and ┆
0x0be0…0c00 45 6d 61 63 73 20 4c 69 73 70 2c 20 60 2f 27 20 69 6e 20 73 6f 6d 65 20 6f 74 68 65 72 20 4c 69   ┆Emacs Lisp, `/' in some other Li┆
0x0c00…0c20 73 70 20 64 69 61 6c 65 63 74 73 29 20 62 65 66 6f 72 65 20 74 68 65 20 6f 70 65 6e 69 6e 67 0a   ┆sp dialects) before the opening ┆
0x0c20…0c40 64 65 6c 69 6d 69 74 65 72 2e 20 20 49 74 20 77 69 6c 6c 20 6e 6f 74 20 61 66 66 65 63 74 20 74   ┆delimiter.  It will not affect t┆
0x0c40…0c60 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 74 68 65 20 73 74 72 69 6e 67 2e 0a 0a 20 20 49 6e   ┆he contents of the string.    In┆
0x0c60…0c80 20 74 68 65 20 72 65 6d 6f 74 65 73 74 20 70 61 73 74 2c 20 74 68 65 20 6f 72 69 67 69 6e 61 6c   ┆ the remotest past, the original┆
0x0c80…0ca0 20 45 6d 61 63 73 20 66 6f 75 6e 64 20 64 65 66 75 6e 73 20 62 79 20 6d 6f 76 69 6e 67 20 75 70   ┆ Emacs found defuns by moving up┆
0x0ca0…0cc0 77 61 72 64 20 61 0a 6c 65 76 65 6c 20 6f 66 20 70 61 72 65 6e 74 68 65 73 65 73 20 75 6e 74 69   ┆ward a level of parentheses unti┆
0x0cc0…0ce0 6c 20 74 68 65 72 65 20 77 65 72 65 20 6e 6f 20 6d 6f 72 65 20 6c 65 76 65 6c 73 20 74 6f 20 67   ┆l there were no more levels to g┆
0x0ce0…0d00 6f 20 75 70 2e 20 20 54 68 69 73 20 61 6c 77 61 79 73 0a 72 65 71 75 69 72 65 64 20 73 63 61 6e   ┆o up.  This always required scan┆
0x0d00…0d20 6e 69 6e 67 20 61 6c 6c 20 74 68 65 20 77 61 79 20 62 61 63 6b 20 74 6f 20 74 68 65 20 62 65 67   ┆ning all the way back to the beg┆
0x0d20…0d40 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 20 62 75 66 66 65 72 2c 20 65 76 65 6e 20 66 6f 72 0a 61   ┆inning of the buffer, even for a┆
0x0d40…0d60 20 73 6d 61 6c 6c 20 66 75 6e 63 74 69 6f 6e 2e 20 20 54 6f 20 73 70 65 65 64 20 75 70 20 74 68   ┆ small function.  To speed up th┆
0x0d60…0d80 65 20 6f 70 65 72 61 74 69 6f 6e 2c 20 45 6d 61 63 73 20 77 61 73 20 63 68 61 6e 67 65 64 20 74   ┆e operation, Emacs was changed t┆
0x0d80…0da0 6f 20 61 73 73 75 6d 65 0a 74 68 61 74 20 61 6e 79 20 60 28 27 20 28 6f 72 20 6f 74 68 65 72 20   ┆o assume that any `(' (or other ┆
0x0da0…0dc0 63 68 61 72 61 63 74 65 72 20 61 73 73 69 67 6e 65 64 20 74 68 65 20 73 79 6e 74 61 63 74 69 63   ┆character assigned the syntactic┆
0x0dc0…0de0 20 63 6c 61 73 73 20 6f 66 0a 6f 70 65 6e 69 6e 67 2d 64 65 6c 69 6d 69 74 65 72 29 20 61 74 20   ┆ class of opening-delimiter) at ┆
0x0de0…0e00 74 68 65 20 6c 65 66 74 20 6d 61 72 67 69 6e 20 69 73 20 74 68 65 20 73 74 61 72 74 20 6f 66 20   ┆the left margin is the start of ┆
0x0e00…0e20 61 20 64 65 66 75 6e 2e 20 20 54 68 69 73 0a 68 65 75 72 69 73 74 69 63 20 77 61 73 20 6e 65 61   ┆a defun.  This heuristic was nea┆
0x0e20…0e40 72 6c 79 20 61 6c 77 61 79 73 20 72 69 67 68 74 20 61 6e 64 20 61 76 6f 69 64 65 64 20 74 68 65   ┆rly always right and avoided the┆
0x0e40…0e60 20 63 6f 73 74 6c 79 20 73 63 61 6e 3b 20 68 6f 77 65 76 65 72 2c 0a 69 74 20 6d 61 6e 64 61 74   ┆ costly scan; however, it mandat┆
0x0e60…0e80 65 64 20 74 68 65 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 64 65 73 63 72 69 62 65 64 20 61 62 6f 76   ┆ed the convention described abov┆
0x0e80…0ea0 65 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 65 6d 61 63 73 20 20 4e 6f 64 65 3a 20 47 72 69 6e 64 69 6e   ┆e.    File: emacs  Node: Grindin┆
0x0ea0…0ec0 67 2c 20 50 72 65 76 3a 20 44 65 66 75 6e 73 2c 20 55 70 3a 20 50 72 6f 67 72 61 6d 73 2c 20 4e   ┆g, Prev: Defuns, Up: Programs, N┆
0x0ec0…0ee0 65 78 74 3a 20 4d 61 74 63 68 69 6e 67 0a 0a 49 6e 64 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 50   ┆ext: Matching  Indentation for P┆
0x0ee0…0f00 72 6f 67 72 61 6d 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d   ┆rograms ========================┆
0x0f00…0f20 0a 0a 20 20 54 68 65 20 62 65 73 74 20 77 61 79 20 74 6f 20 6b 65 65 70 20 61 20 70 72 6f 67 72   ┆    The best way to keep a progr┆
0x0f20…0f40 61 6d 20 70 72 6f 70 65 72 6c 79 20 69 6e 64 65 6e 74 65 64 20 28 22 67 72 6f 75 6e 64 22 29 20   ┆am properly indented ("ground") ┆
0x0f40…0f60 69 73 20 74 6f 20 75 73 65 0a 45 6d 61 63 73 20 74 6f 20 72 65 2d 69 6e 64 65 6e 74 20 69 74 20   ┆is to use Emacs to re-indent it ┆
0x0f60…0f80 61 73 20 79 6f 75 20 63 68 61 6e 67 65 20 69 74 2e 20 20 45 6d 61 63 73 20 68 61 73 20 63 6f 6d   ┆as you change it.  Emacs has com┆
0x0f80…0fa0 6d 61 6e 64 73 20 74 6f 20 69 6e 64 65 6e 74 0a 70 72 6f 70 65 72 6c 79 20 65 69 74 68 65 72 20   ┆mands to indent properly either ┆
0x0fa0…0fc0 61 20 73 69 6e 67 6c 65 20 6c 69 6e 65 2c 20 61 20 73 70 65 63 69 66 69 65 64 20 6e 75 6d 62 65   ┆a single line, a specified numbe┆
0x0fc0…0fe0 72 20 6f 66 20 6c 69 6e 65 73 2c 20 6f 72 20 61 6c 6c 20 6f 66 20 74 68 65 0a 6c 69 6e 65 73 20   ┆r of lines, or all of the lines ┆
0x0fe0…1000 69 6e 73 69 64 65 20 61 20 73 69 6e 67 6c 65 20 70 61 72 65 6e 74 68 65 74 69 63 61 6c 20 67 72   ┆inside a single parenthetical gr┆
0x1000…1020 6f 75 70 69 6e 67 2e 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 42 61 73 69 63 20 49 6e 64 65 6e 74   ┆ouping.  * Menu:  * Basic Indent┆
0x1020…1040 3a 3a 0a 2a 20 4d 75 6c 74 69 2d 6c 69 6e 65 20 49 6e 64 65 6e 74 3a 3a 20 20 20 43 6f 6d 6d 61   ┆:: * Multi-line Indent::   Comma┆
0x1040…1060 6e 64 73 20 74 6f 20 72 65 69 6e 64 65 6e 74 20 6d 61 6e 79 20 6c 69 6e 65 73 20 61 74 20 6f 6e   ┆nds to reindent many lines at on┆
0x1060…1080 63 65 2e 0a 2a 20 4c 69 73 70 20 49 6e 64 65 6e 74 3a 3a 09 09 53 70 65 63 69 66 79 69 6e 67 20   ┆ce. * Lisp Indent::  Specifying ┆
0x1080…10a0 68 6f 77 20 65 61 63 68 20 4c 69 73 70 20 66 75 6e 63 74 69 6f 6e 20 73 68 6f 75 6c 64 20 62 65   ┆how each Lisp function should be┆
0x10a0…10c0 20 69 6e 64 65 6e 74 65 64 2e 0a 2a 20 43 20 49 6e 64 65 6e 74 3a 3a 09 09 43 68 6f 6f 73 69 6e   ┆ indented. * C Indent::  Choosin┆
0x10c0…10e0 67 20 61 6e 20 69 6e 64 65 6e 74 61 74 69 6f 6e 20 73 74 79 6c 65 20 66 6f 72 20 43 20 63 6f 64   ┆g an indentation style for C cod┆
0x10e0…1100 65 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 65 6d 61 63 73 20 20 4e 6f 64 65 3a 20 42 61 73 69 63 20 49   ┆e.    File: emacs  Node: Basic I┆
0x1100…1120 6e 64 65 6e 74 2c 20 50 72 65 76 3a 20 47 72 69 6e 64 69 6e 67 2c 20 55 70 3a 20 47 72 69 6e 64   ┆ndent, Prev: Grinding, Up: Grind┆
0x1120…1140 69 6e 67 2c 20 4e 65 78 74 3a 20 4d 75 6c 74 69 2d 6c 69 6e 65 20 49 6e 64 65 6e 74 0a 0a 42 61   ┆ing, Next: Multi-line Indent  Ba┆
0x1140…1160 73 69 63 20 50 72 6f 67 72 61 6d 20 49 6e 64 65 6e 74 61 74 69 6f 6e 20 43 6f 6d 6d 61 6e 64 73   ┆sic Program Indentation Commands┆
0x1160…1180 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   ┆ -------------------------------┆
0x1180…11a0 2d 2d 2d 0a 0a 60 54 41 42 27 20 20 20 20 20 0a 20 20 20 20 20 41 64 6a 75 73 74 20 69 6e 64 65   ┆---  `TAB'           Adjust inde┆
0x11a0…11c0 6e 74 61 74 69 6f 6e 20 6f 66 20 63 75 72 72 65 6e 74 20 6c 69 6e 65 2e 0a 60 4c 46 44 27 20 20   ┆ntation of current line. `LFD'  ┆
0x11c0…11e0 20 20 20 0a 20 20 20 20 20 45 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 52 45 54 20 66 6f 6c 6c 6f   ┆         Equivalent to RET follo┆
0x11e0…1200 77 65 64 20 62 79 20 54 41 42 20 28 60 6e 65 77 6c 69 6e 65 2d 61 6e 64 2d 69 6e 64 65 6e 74 27   ┆wed by TAB (`newline-and-indent'┆
0x1200…1220 29 2e 0a 0a 20 20 54 68 65 20 62 61 73 69 63 20 69 6e 64 65 6e 74 61 74 69 6f 6e 20 63 6f 6d 6d   ┆).    The basic indentation comm┆
0x1220…1240 61 6e 64 20 69 73 20 54 41 42 2c 20 77 68 69 63 68 20 67 69 76 65 73 20 74 68 65 20 63 75 72 72   ┆and is TAB, which gives the curr┆
0x1240…1260 65 6e 74 20 6c 69 6e 65 0a 74 68 65 20 63 6f 72 72 65 63 74 20 69 6e 64 65 6e 74 61 74 69 6f 6e   ┆ent line the correct indentation┆
0x1260…1280 20 61 73 20 64 65 74 65 72 6d 69 6e 65 64 20 66 72 6f 6d 20 74 68 65 20 70 72 65 76 69 6f 75 73   ┆ as determined from the previous┆
0x1280…12a0 20 6c 69 6e 65 73 2e 20 20 54 68 65 0a 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 54 41 42 20 72   ┆ lines.  The function that TAB r┆
0x12a0…12c0 75 6e 73 20 64 65 70 65 6e 64 73 20 6f 6e 20 74 68 65 20 6d 61 6a 6f 72 20 6d 6f 64 65 3b 20 69   ┆uns depends on the major mode; i┆
0x12c0…12e0 74 20 69 73 20 60 6c 69 73 70 2d 69 6e 64 65 6e 74 2d 6c 69 6e 65 27 0a 69 6e 20 4c 69 73 70 20   ┆t is `lisp-indent-line' in Lisp ┆
0x12e0…1300 6d 6f 64 65 2c 20 60 63 2d 69 6e 64 65 6e 74 2d 6c 69 6e 65 27 20 69 6e 20 43 20 6d 6f 64 65 2c   ┆mode, `c-indent-line' in C mode,┆
0x1300…1320 20 65 74 63 2e 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 0a 75 6e 64 65 72 73 74 61 6e   ┆ etc.  These functions understan┆
0x1320…1340 64 20 64 69 66 66 65 72 65 6e 74 20 73 79 6e 74 61 78 65 73 20 66 6f 72 20 64 69 66 66 65 72 65   ┆d different syntaxes for differe┆
0x1340…1360 6e 74 20 6c 61 6e 67 75 61 67 65 73 2c 20 62 75 74 20 74 68 65 79 20 61 6c 6c 20 64 6f 0a 61 62   ┆nt languages, but they all do ab┆
0x1360…1380 6f 75 74 20 74 68 65 20 73 61 6d 65 20 74 68 69 6e 67 2e 20 20 54 41 42 20 69 6e 20 61 6e 79 20   ┆out the same thing.  TAB in any ┆
0x1380…13a0 70 72 6f 67 72 61 6d 6d 69 6e 67 20 6c 61 6e 67 75 61 67 65 20 6d 61 6a 6f 72 20 6d 6f 64 65 0a   ┆programming language major mode ┆
0x13a0…13c0 69 6e 73 65 72 74 73 20 6f 72 20 64 65 6c 65 74 65 73 20 77 68 69 74 65 73 70 61 63 65 20 61 74   ┆inserts or deletes whitespace at┆
0x13c0…13e0 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 69   ┆ the beginning of the current li┆
0x13e0…1400 6e 65 2c 0a 69 6e 64 65 70 65 6e 64 65 6e 74 20 6f 66 20 77 68 65 72 65 20 70 6f 69 6e 74 20 69   ┆ne, independent of where point i┆
0x1400…1420 73 20 69 6e 20 74 68 65 20 6c 69 6e 65 2e 20 20 49 66 20 70 6f 69 6e 74 20 69 73 20 69 6e 73 69   ┆s in the line.  If point is insi┆
0x1420…1440 64 65 20 74 68 65 0a 77 68 69 74 65 73 70 61 63 65 20 61 74 20 74 68 65 20 62 65 67 69 6e 6e 69   ┆de the whitespace at the beginni┆
0x1440…1460 6e 67 20 6f 66 20 74 68 65 20 6c 69 6e 65 2c 20 54 41 42 20 6c 65 61 76 65 73 20 69 74 20 61 74   ┆ng of the line, TAB leaves it at┆
0x1460…1480 20 74 68 65 20 65 6e 64 20 6f 66 0a 74 68 61 74 20 77 68 69 74 65 73 70 61 63 65 3b 20 6f 74 68   ┆ the end of that whitespace; oth┆
0x1480…14a0 65 72 77 69 73 65 2c 20 54 41 42 20 6c 65 61 76 65 73 20 70 6f 69 6e 74 20 66 69 78 65 64 20 77   ┆erwise, TAB leaves point fixed w┆
0x14a0…14c0 69 74 68 20 72 65 73 70 65 63 74 20 74 6f 0a 74 68 65 20 63 68 61 72 61 63 74 65 72 73 20 61 72   ┆ith respect to the characters ar┆
0x14c0…14e0 6f 75 6e 64 20 69 74 2e 0a 0a 20 20 55 73 65 20 60 43 2d 71 20 54 41 42 27 20 74 6f 20 69 6e 73   ┆ound it.    Use `C-q TAB' to ins┆
0x14e0…1500 65 72 74 20 61 20 74 61 62 20 61 74 20 70 6f 69 6e 74 2e 0a 0a 20 20 57 68 65 6e 20 65 6e 74 65   ┆ert a tab at point.    When ente┆
0x1500…1520 72 69 6e 67 20 61 20 6c 61 72 67 65 20 61 6d 6f 75 6e 74 20 6f 66 20 6e 65 77 20 63 6f 64 65 2c   ┆ring a large amount of new code,┆
0x1520…1540 20 75 73 65 20 4c 46 44 20 28 60 6e 65 77 6c 69 6e 65 2d 61 6e 64 2d 69 6e 64 65 6e 74 27 29 2c   ┆ use LFD (`newline-and-indent'),┆
0x1540…1560 0a 77 68 69 63 68 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 61 20 52 45 54 20 66 6f   ┆ which is equivalent to a RET fo┆
0x1560…1580 6c 6c 6f 77 65 64 20 62 79 20 61 20 54 41 42 2e 20 20 4c 46 44 20 63 72 65 61 74 65 73 0a 61 20   ┆llowed by a TAB.  LFD creates a ┆
0x1580…15a0 62 6c 61 6e 6b 20 6c 69 6e 65 2c 20 61 6e 64 20 74 68 65 6e 20 67 69 76 65 73 20 69 74 20 74 68   ┆blank line, and then gives it th┆
0x15a0…15c0 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 69 6e 64 65 6e 74 61 74 69 6f 6e 2e 0a 0a 20 20 54 41   ┆e appropriate indentation.    TA┆
0x15c0…15e0 42 20 69 6e 64 65 6e 74 73 20 74 68 65 20 73 65 63 6f 6e 64 20 61 6e 64 20 66 6f 6c 6c 6f 77 69   ┆B indents the second and followi┆
0x15e0…1600 6e 67 20 6c 69 6e 65 73 20 6f 66 20 74 68 65 20 62 6f 64 79 20 6f 66 20 61 6e 0a 70 61 72 65 6e   ┆ng lines of the body of an paren┆
0x1600…1620 74 68 65 74 69 63 61 6c 20 67 72 6f 75 70 69 6e 67 20 65 61 63 68 20 75 6e 64 65 72 20 74 68 65   ┆thetical grouping each under the┆
0x1620…1640 20 70 72 65 63 65 64 69 6e 67 20 6f 6e 65 3b 20 74 68 65 72 65 66 6f 72 65 2c 20 69 66 20 79 6f   ┆ preceding one; therefore, if yo┆
0x1640…1660 75 0a 61 6c 74 65 72 20 6f 6e 65 20 6c 69 6e 65 27 73 20 69 6e 64 65 6e 74 61 74 69 6f 6e 20 74   ┆u alter one line's indentation t┆
0x1660…1680 6f 20 62 65 20 6e 6f 6e 73 74 61 6e 64 61 72 64 2c 20 74 68 65 20 6c 69 6e 65 73 20 62 65 6c 6f   ┆o be nonstandard, the lines belo┆
0x1680…16a0 77 20 77 69 6c 6c 20 74 65 6e 64 0a 74 6f 20 66 6f 6c 6c 6f 77 20 69 74 2e 20 20 54 68 69 73 20   ┆w will tend to follow it.  This ┆
0x16a0…16c0 69 73 20 74 68 65 20 72 69 67 68 74 20 62 65 68 61 76 69 6f 72 20 69 6e 20 63 61 73 65 73 20 77   ┆is the right behavior in cases w┆
0x16c0…16e0 68 65 72 65 20 74 68 65 20 73 74 61 6e 64 61 72 64 0a 72 65 73 75 6c 74 20 6f 66 20 54 41 42 20   ┆here the standard result of TAB ┆
0x16e0…1700 69 73 20 75 6e 61 65 73 74 68 65 74 69 63 2e 0a 0a 20 20 52 65 6d 65 6d 62 65 72 20 74 68 61 74   ┆is unaesthetic.    Remember that┆
0x1700…1720 20 61 6e 20 6f 70 65 6e 2d 70 61 72 65 6e 74 68 65 73 69 73 2c 20 6f 70 65 6e 2d 62 72 61 63 65   ┆ an open-parenthesis, open-brace┆
0x1720…1740 20 6f 72 20 6f 74 68 65 72 20 6f 70 65 6e 69 6e 67 20 64 65 6c 69 6d 69 74 65 72 0a 61 74 20 74   ┆ or other opening delimiter at t┆
0x1740…1760 68 65 20 6c 65 66 74 20 6d 61 72 67 69 6e 20 69 73 20 61 73 73 75 6d 65 64 20 62 79 20 45 6d 61   ┆he left margin is assumed by Ema┆
0x1760…1780 63 73 20 28 69 6e 63 6c 75 64 69 6e 67 20 74 68 65 20 69 6e 64 65 6e 74 61 74 69 6f 6e 20 72 6f   ┆cs (including the indentation ro┆
0x1780…17a0 75 74 69 6e 65 73 29 0a 74 6f 20 62 65 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 61 20 66 75 6e   ┆utines) to be the start of a fun┆
0x17a0…17c0 63 74 69 6f 6e 2e 20 20 54 68 65 72 65 66 6f 72 65 2c 20 79 6f 75 20 6d 75 73 74 20 6e 65 76 65   ┆ction.  Therefore, you must neve┆
0x17c0…17e0 72 20 68 61 76 65 20 61 6e 20 6f 70 65 6e 69 6e 67 0a 64 65 6c 69 6d 69 74 65 72 20 69 6e 20 63   ┆r have an opening delimiter in c┆
0x17e0…1800 6f 6c 75 6d 6e 20 7a 65 72 6f 20 74 68 61 74 20 69 73 20 6e 6f 74 20 74 68 65 20 62 65 67 69 6e   ┆olumn zero that is not the begin┆
0x1800…1820 6e 69 6e 67 20 6f 66 20 61 20 66 75 6e 63 74 69 6f 6e 2c 20 6e 6f 74 20 65 76 65 6e 0a 69 6e 73   ┆ning of a function, not even ins┆
0x1820…1840 69 64 65 20 61 20 73 74 72 69 6e 67 2e 20 20 54 68 69 73 20 72 65 73 74 72 69 63 74 69 6f 6e 20   ┆ide a string.  This restriction ┆
0x1840…1860 69 73 20 76 69 74 61 6c 20 66 6f 72 20 6d 61 6b 69 6e 67 20 74 68 65 20 69 6e 64 65 6e 74 61 74   ┆is vital for making the indentat┆
0x1860…1880 69 6f 6e 0a 63 6f 6d 6d 61 6e 64 73 20 66 61 73 74 3b 20 79 6f 75 20 6d 75 73 74 20 73 69 6d 70   ┆ion commands fast; you must simp┆
0x1880…18a0 6c 79 20 61 63 63 65 70 74 20 69 74 2e 20 20 2a 4e 6f 74 65 20 44 65 66 75 6e 73 3a 3a 2c 20 66   ┆ly accept it.  *Note Defuns::, f┆
0x18a0…18c0 6f 72 20 6d 6f 72 65 0a 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 74 68 69 73 2e 0a 0a 1f 0a   ┆or more information on this.    ┆
0x18c0…18e0 46 69 6c 65 3a 20 65 6d 61 63 73 20 20 4e 6f 64 65 3a 20 4d 75 6c 74 69 2d 6c 69 6e 65 20 49 6e   ┆File: emacs  Node: Multi-line In┆
0x18e0…1900 64 65 6e 74 2c 20 50 72 65 76 3a 20 42 61 73 69 63 20 49 6e 64 65 6e 74 2c 20 55 70 3a 20 47 72   ┆dent, Prev: Basic Indent, Up: Gr┆
0x1900…1920 69 6e 64 69 6e 67 2c 20 4e 65 78 74 3a 20 4c 69 73 70 20 49 6e 64 65 6e 74 0a 0a 49 6e 64 65 6e   ┆inding, Next: Lisp Indent  Inden┆
[…truncated at 200 lines…]