(defvar c-comment-starting-blank t "\ *Controls whether global comments have an initial blank line.") (defvar c-comment-indenting t "\ *If set global comments are indented to the level of the previous line.") (defvar c-comment-hanging-indent t "\ *If true, comments will be automatically indented to the dash.") (defvar c-hang-already-done t "\ If true we have performed the haning indent already for this comment.") (defvar c-comment-mode-map nil "\ Keymap used in C comment mode.") (if c-comment-mode-map nil (setq c-comment-mode-map (copy-keymap c-mode-map)) (define-key c-comment-mode-map " " (quote newline)) (define-key c-comment-mode-map "q" (quote set-fill-and-fill)) (define-key c-comment-mode-map " (defun c-comment nil "\ Edit a C comment with filling and indentation. This performs hanging indentation, symmetric placement of delimiters, and Indented-Text mode style indentation. Type 'M-x apropos c-comment' for information on options." (interactive) (byte-code "? f ^? ^U ?f~ */" "*/" buffer-size forward-line 1 -1 search-backward re-search-forward looking-at " " insert 10] 26)) (defun set-fill-and-fill (arg) "\ Get the fill-prefix and fill the current paragraph." (interactive "P") (byte-code "^A`!%^A !+" [fill-prefix arg nil get-current-fill fill-paragraph] 3)) (defun set-fill-and-return nil "\ Set the current fill prefix and move to the next line." (interactive) (byte-code "^. (defun do-indented-auto-fill nil "\ Perform auto-fill, but get fill-prefix first." (byte-code "`SA T!^AA!^n. " re-search-forward "[ ]" " " get-current-fill insert 10] 8)) (defun get-current-fill (pnt) "\ Get the current fill prefix. A valid fill prefix must be between the beginning of the line and point." (byte-code " IISI ^I`D A#^`\"%^ GS GO%^NO \"?.. OP%^O OO#%^.G U`ZU\"P%^?*^ UU Y GSO!TR% ^ % )^ ++" [opoint pnt fill last-char comment-start-skip t c-comment-hanging-indent c-hang-already-done curr opnt paragraph-start paragraph-start-ref paragraph-separate nil beginning-of-line buffer-substring re-search-forward string= " " " " replace-letter "/" end-of-line search-forward " - " make-string 32 "\\|^" regexp-quote 0 "$"] 16)) (defun replace-letter (str old-letter new-letter) (byte-code "CCE G W.1 TO%^E T%^, .