Mercurial > emacs
changeset 19254:81353d4e05b7
(c-styles-alist): In "java" style, set
c-hanging-comment-starter-p to nil to preserve Javadoc starter lines.
(c-set-style-2): Fixed broken implementation of inherited styles.
(c-set-style): Call c-initialize-builtin-style.
(c-initialize-builtin-style): Handle c-style-variables-are-local-p.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sat, 09 Aug 1997 18:36:45 +0000 |
parents | 2bda7e07f25d |
children | 40a9475f22ea |
files | lisp/progmodes/cc-styles.el |
diffstat | 1 files changed, 17 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/progmodes/cc-styles.el Sat Aug 09 18:31:43 1997 +0000 +++ b/lisp/progmodes/cc-styles.el Sat Aug 09 18:36:45 1997 +0000 @@ -7,7 +7,7 @@ ;; 1985 Richard M. Stallman ;; Maintainer: cc-mode-help@python.org ;; Created: 22-Apr-1997 (split from cc-mode.el) -;; Version: 5.13 +;; Version: 5.14 ;; Keywords: c languages oop ;; This file is part of GNU Emacs. @@ -128,6 +128,8 @@ ("java" (c-basic-offset . 2) (c-comment-only-line-offset . (0 . 0)) + ;; the following preserves Javadoc starter lines + (c-hanging-comment-starter-p . nil) (c-offsets-alist . ((topmost-intro-cont . +) (statement-block-intro . +) (knr-argdecl-intro . 5) @@ -209,17 +211,19 @@ ;; Recursively set the base style. If no base style is given, the ;; default base style is "cc-mode" and the recursion stops. Be sure ;; to detect loops. - (if (not (string-equal style "cc-mode")) - (let ((base (if (stringp (car basestyles)) - (downcase (car basestyles)) - "cc-mode"))) - (if (memq base basestyles) - (error "Style loop detected: %s in %s" base basestyles)) - (c-set-style-2 base (cons base basestyles)))) (let ((vars (cdr (or (assoc (downcase style) c-style-alist) (assoc (upcase style) c-style-alist) (assoc style c-style-alist) (error "Undefined style: %s" style))))) + (if (not (string-equal style "cc-mode")) + (let ((base (if (stringp (car vars)) + (prog1 + (downcase (car vars)) + (setq vars (cdr vars))) + "cc-mode"))) + (if (memq base basestyles) + (error "Style loop detected: %s in %s" base basestyles)) + (c-set-style-2 base (cons base basestyles)))) (mapcar 'c-set-style-1 vars))) (defvar c-set-style-history nil) @@ -239,6 +243,7 @@ (completing-read prompt c-style-alist nil t (cons c-indentation-style 0) 'c-set-style-history)))) + (c-initialize-builtin-style) (c-set-style-2 stylename nil) (setq c-indentation-style stylename) (c-keep-region-active)) @@ -577,7 +582,10 @@ ))) ;; the default style is now GNU. This can be overridden in ;; c-mode-common-hook or {c,c++,objc,java}-mode-hook. - (c-set-style c-site-default-style)))) + (c-set-style c-site-default-style))) + (if c-style-variables-are-local-p + (c-make-styles-buffer-local))) + (defun c-make-styles-buffer-local () "Make all CC Mode style variables buffer local.