fhsu%MIT-XX@sri-unix.UUCP (07/15/83)
From: Sam <fhsu@MIT-XX> does anyone have a good LISP mode, a good C mode for Unix Emacs? -------
thomas%UTAH-GR%utah-cs@sri-unix.UUCP (07/21/83)
From: thomas%UTAH-GR@utah-cs (Spencer W. Thomas) We have a C mode which we like. Here are some relevant info entries. =Spencer File: emacs Node: utah-c-mode Up: Packages, Previous: time, Next: writeregion Date: Fri Oct 15 01:43 1982 Utah-c-mode provides a number of functions tailored for editing C code. Most of these functions provide control over indentation. The comment library is also loaded, and several local variables set to provide C comments (*Note comment: commentP:.). * menu: * Make-c-standard-header:: A function which puts a 'standard' header at the beginning of a C program. * MOdification-notice:: Add a modification notice to the standard header. * MAKE-Includes:: Inserts #include lines painlessly. * MAKE-Function:: A nifty way to set up a function declaration. * Up-brace:: Moves up one level of block nesting backwards in the file. * Down-brace:: Moves up one level of block nesting forwards in the file. * C-Paren:: Inserts a paren-type character and shows the matching paren. * C-Indent:: Uses the indent command to indent the current procedure. * {: electric-{ Inserts a {} pair and indents, or indents the lines inside a {} pair. * }: electric-} Insert a } and adjust indentation. * CR: C-newline Newline, skipping the end of a comment. * LF: C-newline-and-indent newline-and-indent for C mode. * hook: _utah-c-mode-hook How to customize the C mode. Variables controlling some actions are * bounce: paren-bounce-time How long the cursor sits on the matching paren in c-paren. Key bindings in utah-c-mode are: > C-newline-and-indent:: ^J (line feed) > C-newline:: ^M (return) * backward-paren:: ESC-( > c-indent:: ESC-j > c-paren:: ) > c-paren:: ] * comment:: ESC-; * dedent-to-tab-stop:: ESC-I * delete-comment:: ^Z-; > down-brace:: ESC-^N > electric-{:: ESC-{ > electric-}:: } * forward-paren:: ESC-) * global-comment:: ^X-; * indent-nested:: tab * indent-new-comment:: ESC-^J * indent-region:: ^X-tab * indent-to-tab-stop:: ESC-i * indent-under:: ^X-i * next-comment:: ESC-n * previous-comment:: ESC-p * tab-to-tab-stop:: ESC-tab > up-brace:: ESC-^P File: emacs Node: indent Up: Packages, Previous: incr-search, Next: info The indentation package (tabs.ml) defines a number of general purpose indentation functions. * menu: * dedent-line:: dedent the line by an increment (opposite of indent) * dedent-to-tab-stop:: re-indent the line to the previous tab stop. * delete-indentation:: push the line against the left margin * edit-tab-stops:: edit the tab-stops string. * indent-line:: indent the line by an increment * indent-nested:: create program nesting easily. * indent-region:: change the indentation of all the lines in the region * indent-to-tab-stop:: re-indent the line to the next tab stop. * indent-under:: re-indent the line under a specified string. * tab-to-tab-stop:: move to the next tab stop. Variables: * indent-increment:: Multiplier used by indent-nested. * tab-stops:: Define tab stop positions. File: emacs Node: commentP Up: Packages, Previous: c-mode, Next: dired Date: Fri Oct 15 01:02 1982 This package provides a number of language-independent functions for creating and editting comments. The actions of the functions defined by the comment package depend on a number of buffer-specific variables, described below. The package may be loaded explicitly, or the function load-comment may be defined as autoloaded. Several language-specific packages invoke load-comment (*Note utah-c-mode::.) to load the comment package if it has not already been loaded. * menu: * Comment:: Create or move to the comment on the current line. * Delete-comment:: Kill the comment on the current line. * Global-comment:: Create or edit a multi-line ("global") comment. * Hook: _comment_hook How to customize the comment package * Indent-new-comment:: Start a comment on a new line, aligned with current. * Next-comment:: Move to (or create) the comment on the next line. * Previous-comment:: ditto for previous line. The variables which control the behaviour of the comment package are: * Begin: comment-begin The string used to begin a comment. In C, "/* ". * End: comment-end The string used to end a comment. In C, " */". * Start: comment-start The string which starts a comment. In C, "/*". * CONt: comment-continuation Used in multi-line comments. In C, " * ". * Wrap: dont-wrap-comments Help for keeping comments on a single line.