Mercurial > hg > xemacs-beta
diff lisp/cc-mode/cc-styles.el @ 177:6075d714658b r20-3b15
Import from CVS: tag r20-3b15
author | cvs |
---|---|
date | Mon, 13 Aug 2007 09:51:16 +0200 |
parents | 2d532a89d707 |
children | bfd6434d15b3 |
line wrap: on
line diff
--- a/lisp/cc-mode/cc-styles.el Mon Aug 13 09:50:16 2007 +0200 +++ b/lisp/cc-mode/cc-styles.el Mon Aug 13 09:51:16 2007 +0200 @@ -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.