From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 27 13:54:51 2011 Received: (at submit) by debbugs.gnu.org; 27 Jan 2011 18:54:51 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1PiWzM-00044a-14 for submit@debbugs.gnu.org; Thu, 27 Jan 2011 13:54:51 -0500 Received: from eggs.gnu.org ([140.186.70.92]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1PiWz6-00044B-6f for submit@debbugs.gnu.org; Thu, 27 Jan 2011 13:54:35 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PiX6s-0002ge-36 for submit@debbugs.gnu.org; Thu, 27 Jan 2011 14:02:30 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,T_DKIM_INVALID, T_RP_MATCHES_RCVD autolearn=unavailable version=3.3.1 Received: from lists.gnu.org ([199.232.76.165]:42453) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PiX6q-0002gJ-WE for submit@debbugs.gnu.org; Thu, 27 Jan 2011 14:02:22 -0500 Received: from [140.186.70.92] (port=56641 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PiX6h-0005bI-HT for bug-gnu-emacs@gnu.org; Thu, 27 Jan 2011 14:02:21 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PiX6X-0002Vo-FA for bug-gnu-emacs@gnu.org; Thu, 27 Jan 2011 14:02:11 -0500 Received: from upton.red.cert.org ([192.88.209.60]:38008) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PiX6W-0002VR-QG for bug-gnu-emacs@gnu.org; Thu, 27 Jan 2011 14:02:01 -0500 Received: from bucknell.indigo.cert.org (bucknell.indigo.cert.org [10.60.10.121]) by upton.red.cert.org (8.13.8/8.13.8) with ESMTP id p0RJ1xwD015087 for ; Thu, 27 Jan 2011 14:01:59 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cert.org; s=jthatj15xw2j; t=1296154919; bh=3m6R54IA+Gy6oL+0JKyTO/S3oxKWSK2NRSPbgUDSSE8=; h=From:To:Subject:Date:Message-ID:MIME-Version:Content-Type: Content-Transfer-Encoding:Sender:Reply-To:Cc:In-Reply-To: References; b=GeOcIBDzQihEI/vZemhMcnN6RzqT3Zfn/OUZktztOfy+2ULoOdDaCibUUSSMzWPWS 917GtTqEx9QPGpon/6l2wkucTa2YdDw58eFGbN8cDklQSjv9QMgO68fBQ5NL6udqWz O6c04RgEQMNU+P2VaCM9/qp/zteWeMPDOxtEl9SI= Received: from waterbuck.yellow.cert.org (waterbuck.yellow.cert.org [10.20.128.84]) by bucknell.indigo.cert.org (8.13.8/8.13.8/2.79) with ESMTP id p0RJ1wGD005565 for ; Thu, 27 Jan 2011 14:01:59 -0500 Received: (from mwd@localhost) by waterbuck.yellow.cert.org (8.13.8/8.13.8/Submit/1.6) id p0RJ1wZ7006853; Thu, 27 Jan 2011 14:01:58 -0500 X-Authentication-Warning: waterbuck.yellow.cert.org: mwd set sender to mwd@cert.org using -f From: Michael Welsh Duggan To: bug-gnu-emacs@gnu.org Subject: 24.0.50; Indentation problem in C-mode Date: Thu, 27 Jan 2011 14:01:58 -0500 Message-ID: User-Agent: Gnus/5.110011 (No Gnus v0.11) Emacs/24.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 192.88.209.60 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 199.232.76.165 X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org No recipe yet. Here is a backtrace from TAB in a C-mode buffer. I am hoping that this is enough to figure out what is going on. This has been happening periodically since a bzr update from a week or so ago. A recent bzr pull didn't help. If you can suggest anything to look at next time I encounter this problem, I'd be happy to do so. Debugger entered--Lisp error: (wrong-type-argument number-or-marker-p (1306= 7 . 13237)) >(13242 (13067 . 13237)) (progn (c-backward-syntactic-ws) (> (point) closest-lim)) (and (eq res (quote maybe)) (progn (c-backward-syntactic-ws) (> (point) c= losest-lim)) (not (bobp)) (progn (backward-char) (looking-at "[]).]\\|\\w\\= |\\s_")) (c-safe (forward-char) (goto-char (scan-sexps (point) -1)))) (while (and (eq res (quote maybe)) (progn (c-backward-syntactic-ws) (> (p= oint) closest-lim)) (not (bobp)) (progn (backward-char) (looking-at "[]).]\= \|\\w\\|\\s_")) (c-safe (forward-char) (goto-char (scan-sexps (point) -1)))= ) (setq res (if (looking-at c-keywords-regexp) (let ((kw-sym (c-keyword-sym= (match-string 1)))) (cond ((and block-follows (c-keyword-member kw-sym ...= )) (and (not ...) (or ... ... ...) (cons ... ...))) ((c-keyword-member kw-s= ym (quote c-inexpr-block-kwds)) (when (not passed-paren) (cons ... ...))) (= (c-keyword-member kw-sym (quote c-lambda-kwds)) (when (or ... ...) (cons ..= . ...))) ((c-keyword-member kw-sym (quote c-block-stmt-kwds)) nil) (t (quot= e maybe)))) (if (looking-at "\\s(") (if passed-paren (if (and (eq passed-pa= ren 91) (eq ... 91)) (quote maybe)) (setq passed-paren (char-after)) (quote= maybe)) (quote maybe))))) (let ((res (quote maybe)) passed-paren (closest-lim (or containing-sexp l= im (point-min))) (block-follows (and (eq (char-after) 123) (point)))) (whil= e (and (eq res (quote maybe)) (progn (c-backward-syntactic-ws) (> (point) c= losest-lim)) (not (bobp)) (progn (backward-char) (looking-at "[]).]\\|\\w\\= |\\s_")) (c-safe (forward-char) (goto-char (scan-sexps (point) -1)))) (setq= res (if (looking-at c-keywords-regexp) (let ((kw-sym (c-keyword-sym ...)))= (cond ((and block-follows ...) (and ... ... ...)) ((c-keyword-member kw-sy= m ...) (when ... ...)) ((c-keyword-member kw-sym ...) (when ... ...)) ((c-k= eyword-member kw-sym ...) nil) (t (quote maybe)))) (if (looking-at "\\s(") = (if passed-paren (if (and ... ...) (quote maybe)) (setq passed-paren (char-= after)) (quote maybe)) (quote maybe))))) (if (eq res (quote maybe)) (when (= and c-recognize-paren-inexpr-blocks block-follows containing-sexp (eq (char= -after containing-sexp) 40)) (goto-char containing-sexp) (if (or (save-excu= rsion (c-backward-syntactic-ws lim) (and (> ... ...) (c-on-identifier))) (a= nd c-special-brace-lists (c-looking-at-special-brace-list))) nil (cons (quo= te inexpr-statement) (point)))) res)) (save-excursion (let ((res (quote maybe)) passed-paren (closest-lim (or c= ontaining-sexp lim (point-min))) (block-follows (and (eq (char-after) 123) = (point)))) (while (and (eq res (quote maybe)) (progn (c-backward-syntactic-= ws) (> (point) closest-lim)) (not (bobp)) (progn (backward-char) (looking-a= t "[]).]\\|\\w\\|\\s_")) (c-safe (forward-char) (goto-char (scan-sexps (poi= nt) -1)))) (setq res (if (looking-at c-keywords-regexp) (let ((kw-sym ...))= (cond (... ...) (... ...) (... ...) (... nil) (t ...))) (if (looking-at "\= \s(") (if passed-paren (if ... ...) (setq passed-paren ...) (quote maybe)) = (quote maybe))))) (if (eq res (quote maybe)) (when (and c-recognize-paren-i= nexpr-blocks block-follows containing-sexp (eq (char-after containing-sexp)= 40)) (goto-char containing-sexp) (if (or (save-excursion (c-backward-synta= ctic-ws lim) (and ... ...)) (and c-special-brace-lists (c-looking-at-specia= l-brace-list))) nil (cons (quote inexpr-statement) (point)))) res))) c-looking-at-inexpr-block((13067 . 13237) (13067 . 13237)) (if (c-looking-at-inexpr-block next-containing next-containing) (setq con= taining-sexp nil) (setq braceassignp (quote dontknow)) (c-backward-token-2 = 1 t lim) (when (and c-opt-inexpr-brace-list-key (eq (char-after) 91)) (whil= e (eq braceassignp (quote dontknow)) (setq braceassignp (cond ((/=3D (c-bac= kward-token-2 1 t lim) 0) nil) ((looking-at c-opt-inexpr-brace-list-key) t)= ((looking-at "\\sw\\|\\s_\\|[.[]") (quote dontknow)) (t nil))))) (while (e= q braceassignp (quote dontknow)) (cond ((eq (char-after) 59) (setq braceass= ignp nil)) ((and class-key (looking-at class-key)) (setq braceassignp nil))= ((eq (char-after) 61) (setq braceassignp (quote maybe)) (while (and (eq br= aceassignp (quote maybe)) (zerop (c-backward-token-2 1 t lim))) (setq brace= assignp (cond (... nil) (... nil) (... ...) (... nil) (t t)))))) (if (and (= eq braceassignp (quote dontknow)) (/=3D (c-backward-token-2 1 t lim) 0)) (s= etq braceassignp nil))) (if (not braceassignp) (if (eq (char-after) 59) (se= tq containing-sexp nil) (setq containing-sexp next-containing lim nil next-= containing nil)) (c-beginning-of-statement-1 (c-most-enclosing-brace paren-= state)) (setq bufpos (point)))) (while (and (not bufpos) containing-sexp) (when paren-state (if (consp (c= ar paren-state)) (setq lim (cdr (car paren-state)) paren-state (cdr paren-s= tate)) (setq lim (car paren-state))) (when paren-state (setq next-containin= g (car paren-state) paren-state (cdr paren-state)))) (goto-char containing-= sexp) (if (c-looking-at-inexpr-block next-containing next-containing) (setq= containing-sexp nil) (setq braceassignp (quote dontknow)) (c-backward-toke= n-2 1 t lim) (when (and c-opt-inexpr-brace-list-key (eq (char-after) 91)) (= while (eq braceassignp (quote dontknow)) (setq braceassignp (cond ((/=3D ..= . 0) nil) ((looking-at c-opt-inexpr-brace-list-key) t) ((looking-at "\\sw\\= |\\s_\\|[.[]") (quote dontknow)) (t nil))))) (while (eq braceassignp (quote= dontknow)) (cond ((eq (char-after) 59) (setq braceassignp nil)) ((and clas= s-key (looking-at class-key)) (setq braceassignp nil)) ((eq (char-after) 61= ) (setq braceassignp (quote maybe)) (while (and (eq braceassignp ...) (zero= p ...)) (setq braceassignp (cond ... ... ... ... ...))))) (if (and (eq brac= eassignp (quote dontknow)) (/=3D (c-backward-token-2 1 t lim) 0)) (setq bra= ceassignp nil))) (if (not braceassignp) (if (eq (char-after) 59) (setq cont= aining-sexp nil) (setq containing-sexp next-containing lim nil next-contain= ing nil)) (c-beginning-of-statement-1 (c-most-enclosing-brace paren-state))= (setq bufpos (point))))) (let ((class-key (and (c-major-mode-is (quote pike-mode)) c-decl-block-ke= y)) bufpos braceassignp lim next-containing) (while (and (not bufpos) conta= ining-sexp) (when paren-state (if (consp (car paren-state)) (setq lim (cdr = (car paren-state)) paren-state (cdr paren-state)) (setq lim (car paren-stat= e))) (when paren-state (setq next-containing (car paren-state) paren-state = (cdr paren-state)))) (goto-char containing-sexp) (if (c-looking-at-inexpr-b= lock next-containing next-containing) (setq containing-sexp nil) (setq brac= eassignp (quote dontknow)) (c-backward-token-2 1 t lim) (when (and c-opt-in= expr-brace-list-key (eq (char-after) 91)) (while (eq braceassignp (quote do= ntknow)) (setq braceassignp (cond (... nil) (... t) (... ...) (t nil))))) (= while (eq braceassignp (quote dontknow)) (cond ((eq (char-after) 59) (setq = braceassignp nil)) ((and class-key (looking-at class-key)) (setq braceassig= np nil)) ((eq (char-after) 61) (setq braceassignp (quote maybe)) (while (an= d ... ...) (setq braceassignp ...)))) (if (and (eq braceassignp (quote dont= know)) (/=3D (c-backward-token-2 1 t lim) 0)) (setq braceassignp nil))) (if= (not braceassignp) (if (eq (char-after) 59) (setq containing-sexp nil) (se= tq containing-sexp next-containing lim nil next-containing nil)) (c-beginni= ng-of-statement-1 (c-most-enclosing-brace paren-state)) (setq bufpos (point= ))))) bufpos) (save-excursion (let ((class-key (and (c-major-mode-is (quote pike-mode))= c-decl-block-key)) bufpos braceassignp lim next-containing) (while (and (n= ot bufpos) containing-sexp) (when paren-state (if (consp (car paren-state))= (setq lim (cdr (car paren-state)) paren-state (cdr paren-state)) (setq lim= (car paren-state))) (when paren-state (setq next-containing (car paren-sta= te) paren-state (cdr paren-state)))) (goto-char containing-sexp) (if (c-loo= king-at-inexpr-block next-containing next-containing) (setq containing-sexp= nil) (setq braceassignp (quote dontknow)) (c-backward-token-2 1 t lim) (wh= en (and c-opt-inexpr-brace-list-key (eq (char-after) 91)) (while (eq bracea= ssignp (quote dontknow)) (setq braceassignp (cond ... ... ... ...)))) (whil= e (eq braceassignp (quote dontknow)) (cond ((eq ... 59) (setq braceassignp = nil)) ((and class-key ...) (setq braceassignp nil)) ((eq ... 61) (setq brac= eassignp ...) (while ... ...))) (if (and (eq braceassignp ...) (/=3D ... 0)= ) (setq braceassignp nil))) (if (not braceassignp) (if (eq (char-after) 59)= (setq containing-sexp nil) (setq containing-sexp next-containing lim nil n= ext-containing nil)) (c-beginning-of-statement-1 (c-most-enclosing-brace pa= ren-state)) (setq bufpos (point))))) bufpos)) (or (c-safe (save-excursion (goto-char containing-sexp) (c-forward-sexp -= 1) (let (bracepos) (if (and (or (looking-at c-brace-list-key) (progn ... ..= .)) (setq bracepos (c-down-list-forward ...)) (not (c-crosses-statement-bar= rier-p ... ...))) (point))))) (save-excursion (let ((class-key (and (c-majo= r-mode-is (quote pike-mode)) c-decl-block-key)) bufpos braceassignp lim nex= t-containing) (while (and (not bufpos) containing-sexp) (when paren-state (= if (consp (car paren-state)) (setq lim (cdr ...) paren-state (cdr paren-sta= te)) (setq lim (car paren-state))) (when paren-state (setq next-containing = (car paren-state) paren-state (cdr paren-state)))) (goto-char containing-se= xp) (if (c-looking-at-inexpr-block next-containing next-containing) (setq c= ontaining-sexp nil) (setq braceassignp (quote dontknow)) (c-backward-token-= 2 1 t lim) (when (and c-opt-inexpr-brace-list-key (eq ... 91)) (while (eq b= raceassignp ...) (setq braceassignp ...))) (while (eq braceassignp (quote d= ontknow)) (cond (... ...) (... ...) (... ... ...)) (if (and ... ...) (setq = braceassignp nil))) (if (not braceassignp) (if (eq ... 59) (setq containing= -sexp nil) (setq containing-sexp next-containing lim nil next-containing ni= l)) (c-beginning-of-statement-1 (c-most-enclosing-brace paren-state)) (setq= bufpos (point))))) bufpos))) c-inside-bracelist-p(13243 ((13067 . 13237) 10676 13243 (9637 . 9744) (13= 067 . 13237) 10676 13199 (9637 . 9744) (13067 . 13193) 10676 13199 (9637 . = 9744) (13067 . 13193) 10676 13199 (9637 . 9744) (13067 . 13193) 10676 13199= (13067 . 13193) 10676 14405 14168 13990 (13739 . 13984) 13199 (13067 . 131= 93) 10676 14405 14168 13990 (13739 . 13984) 13199 (13067 . 13193) 10676 144= 05 14168 13990 (13739 . 13984) 13199 (13067 . 13193) 10676 (9637 . 9744) 15= 532 (15359 . 15395) 15271 15187 (9212 . 15122))) (or (and c-special-brace-lists (save-excursion (goto-char containing-sexp= ) (c-looking-at-special-brace-list))) (c-inside-bracelist-p containing-sexp= paren-state)) (setq special-brace-list (or (and c-special-brace-lists (save-excursion (= goto-char containing-sexp) (c-looking-at-special-brace-list))) (c-inside-br= acelist-p containing-sexp paren-state))) (and (not (c-major-mode-is (quote awk-mode))) (setq special-brace-list (o= r (and c-special-brace-lists (save-excursion (goto-char containing-sexp) (c= -looking-at-special-brace-list))) (c-inside-bracelist-p containing-sexp par= en-state)))) (cond ((eq literal (quote string)) (c-add-syntax (quote string) (c-point = (quote bopl)))) ((and (memq literal (quote (c c++))) (setq placeholder (c-l= iteral-limits lim))) (c-add-syntax literal (car placeholder))) ((and (save-= excursion (when (c-beginning-of-macro) (setq macro-start (point)))) (/=3D m= acro-start (c-point (quote boi))) (progn (setq tmpsymbol (quote cpp-macro-c= ont)) (or (not c-syntactic-indentation-in-macros) (save-excursion (goto-cha= r macro-start) (if (c-forward-to-cpp-define-body) (let ... ... ...) (setq i= n-macro-expr t) nil))))) (c-add-syntax tmpsymbol macro-start) (setq macro-s= tart nil)) ((looking-at "else\\>[^_]") (c-beginning-of-statement-1 containi= ng-sexp) (c-add-stmt-syntax (quote else-clause) nil t containing-sexp paren= -state)) ((and (looking-at "while\\>[^_]") (save-excursion (prog1 (eq (c-be= ginning-of-statement-1 containing-sexp) (quote beginning)) (setq placeholde= r (point))))) (goto-char placeholder) (c-add-stmt-syntax (quote do-while-cl= osure) nil t containing-sexp paren-state)) ((save-excursion (and (cond ((c-= major-mode-is (quote c++-mode)) (looking-at "catch\\>[^_]")) ((c-major-mode= -is (quote java-mode)) (looking-at "\\(catch\\|finally\\)\\>[^_]"))) (and (= c-safe (c-backward-syntactic-ws) (c-backward-sexp) t) (eq (char-after) 123)= (c-safe (c-backward-syntactic-ws) (c-backward-sexp) t) (if (eq (char-after= ) 40) (c-safe (c-backward-sexp) t) t)) (looking-at "\\(try\\|catch\\)\\>[^_= ]") (setq placeholder (point)))) (goto-char placeholder) (c-add-stmt-syntax= (quote catch-clause) nil t containing-sexp paren-state)) ((save-excursion = (and c-opt-block-stmt-key (not (eq char-before-ip 59)) (not (c-at-vsemi-p b= efore-ws-ip)) (not (memq char-after-ip (quote (41 93 44)))) (or (not (eq ch= ar-before-ip 125)) (c-looking-at-inexpr-block-backward c-state-cache)) (> (= point) (progn (setq placeholder (point)) (while (eq ... ...)) (if (eq step-= type ...) (goto-char placeholder) (setq placeholder ...) (if ... ...)) plac= eholder)) (if (looking-at c-block-stmt-2-key) (and (zerop (c-forward-token-= 2 1 nil)) (eq (char-after) 40)) (looking-at c-opt-block-stmt-key)))) (if (e= q step-type (quote up)) (progn (goto-char placeholder) (cond ((eq char-afte= r-ip 123) (c-add-stmt-syntax (quote substatement-open) nil nil containing-s= exp paren-state)) ((save-excursion (goto-char indent-point) (back-to-indent= ation) (c-forward-label)) (c-add-stmt-syntax (quote substatement-label) nil= nil containing-sexp paren-state)) (t (c-add-stmt-syntax (quote substatemen= t) nil nil containing-sexp paren-state)))) (c-guess-continued-construct ind= ent-point char-after-ip placeholder lim paren-state))) ((looking-at c-label= -kwds-regexp) (if containing-sexp (progn (goto-char containing-sexp) (setq = lim (c-most-enclosing-brace c-state-cache containing-sexp)) (c-backward-to-= block-anchor lim) (c-add-stmt-syntax (quote case-label) nil t lim paren-sta= te)) (c-add-syntax (quote case-label) (point-min)))) ((save-excursion (back= -to-indentation) (and (not (looking-at c-syntactic-ws-start)) (c-forward-la= bel))) (cond (containing-decl-open (setq placeholder (c-add-class-syntax (q= uote inclass) containing-decl-open containing-decl-start containing-decl-kw= d paren-state)) (c-append-syntax (quote access-label) placeholder)) (contai= ning-sexp (goto-char containing-sexp) (setq lim (c-most-enclosing-brace c-s= tate-cache containing-sexp)) (save-excursion (setq tmpsymbol (if (and ... .= ..) (quote case-label) (quote label)))) (c-backward-to-block-anchor lim) (c= -add-stmt-syntax tmpsymbol nil t lim paren-state)) (t (c-add-syntax (quote = access-label) (point-min))))) ((setq placeholder (c-looking-at-inexpr-block= (c-safe-position containing-sexp paren-state) containing-sexp t)) (setq tm= psymbol (assq (car placeholder) (quote ((inexpr-class . class-open) (inexpr= -statement . block-open))))) (if tmpsymbol (setq tmpsymbol (cdr tmpsymbol))= (setq tmpsymbol (if (eq char-after-ip 123) (quote inline-open) (quote lamb= da-intro-cont)))) (goto-char (cdr placeholder)) (back-to-indentation) (c-ad= d-stmt-syntax tmpsymbol nil t (c-most-enclosing-brace c-state-cache (point)= ) paren-state) (unless (eq (point) (cdr placeholder)) (c-add-syntax (car pl= aceholder)))) ((or containing-decl-open (null containing-sexp)) (cond ((set= q special-brace-list (or (and c-special-brace-lists (c-looking-at-special-b= race-list)) (eq char-after-ip 123))) (cond ((save-excursion (let ... ...)) = (goto-char placeholder) (c-add-stmt-syntax (if ... ... ...) nil t containin= g-sexp paren-state)) ((save-excursion (goto-char indent-point) (skip-chars-= forward " ") (and ... ... ...)) (c-add-syntax (quote class-open) placehold= er)) ((save-excursion (c-beginning-of-decl-1 lim) (while ... ... ...) (setq= placeholder ...) (or ... ...)) (if (and ... ... ...) (progn ... ...) (c-ad= d-syntax ... placeholder))) ((and containing-decl-open (not ...)) (c-add-sy= ntax (quote inline-open)) (c-add-class-syntax (quote inclass) containing-de= cl-open containing-decl-start containing-decl-kwd paren-state)) (t (save-ex= cursion (c-beginning-of-decl-1 lim) (while ... ... ...) (c-add-syntax ... .= ..))))) ((save-excursion (when (setq placeholder (c-just-after-func-arglist= -p lim)) (setq tmp-pos (point)))) (cond ((eq (char-after tmp-pos) 58) (if (= or ... ...) (progn ... ...) (goto-char ...) (c-forward-syntactic-ws) (c-add= -syntax ... ...))) ((and c-recognize-knr-p (c-in-knr-argdecl lim)) (c-begin= ning-of-statement-1 lim) (c-add-syntax (quote knr-argdecl-intro) (c-point .= ..)) (if containing-decl-open (c-add-class-syntax ... containing-decl-open = containing-decl-start containing-decl-kwd paren-state))) (t (c-beginning-of= -statement-1 lim) (c-add-syntax (quote func-decl-cont) (c-point ...))))) ((= or (and (c-major-mode-is (quote c++-mode)) (progn (when ... ... ...) (looki= ng-at c-opt-postfix-decl-spec-key))) (and (or (eq char-before-ip 58) (save-= excursion ...)) (save-excursion (c-backward-syntactic-ws lim) (if ... ...) = (back-to-indentation) (looking-at c-class-key))) (and (c-major-mode-is (quo= te java-mode)) (let (... cont done) (save-excursion ...) injava-inher) (not= (c-crosses-statement-barrier-p ... ...)))) (cond ((eq char-after-ip 58) (c= -beginning-of-statement-1 lim) (c-add-syntax (quote inher-intro) (c-point .= ..))) ((eq char-before-ip 58) (c-beginning-of-statement-1 lim) (c-add-synta= x (quote inher-intro) (c-point ...)) (if containing-decl-open (c-add-class-= syntax ... containing-decl-open containing-decl-start containing-decl-kwd p= aren-state))) (injava-inher (let (... ...) (goto-char where) (cond ... ... = ...))) (t (c-beginning-of-inheritance-list lim) (c-add-syntax (quote inher-= cont) (point))))) ((save-excursion (if c-recognize-<>-arglists (while (and = ... ...)) (c-syntactic-skip-backward "^;,=3D" lim t)) (memq (char-before) (= quote (44 61 60)))) (cond ((and (c-major-mode-is ...) (save-excursion ...))= (c-with-syntax-table c++-template-syntax-table (goto-char placeholder) (c-= beginning-of-statement-1 lim t) (if ... ... ...)) (c-add-syntax (quote temp= late-args-cont) (point) placeholder)) ((and (c-major-mode-is ...) (save-exc= ursion ... ... ... ...)) (goto-char placeholder) (c-add-syntax (quote inher= -cont) (c-point ...))) (t (while (and ... ... ... ...)) (c-add-stmt-syntax = (cond ... ... ...) nil nil containing-sexp paren-state)))) ((and (eq char-a= fter-ip 125) (c-keyword-member containing-decl-kwd (quote c-other-block-dec= l-kwds))) (goto-char containing-decl-start) (c-add-stmt-syntax (if (string-= equal (symbol-name containing-decl-kwd) "extern") (quote extern-lang-close)= (intern (concat ... "-close"))) nil t (c-most-enclosing-brace paren-state = (point)) paren-state)) ((and containing-sexp (eq char-after-ip 125) (eq con= taining-decl-open containing-sexp)) (c-add-class-syntax (quote class-close)= containing-decl-open containing-decl-start containing-decl-kwd paren-state= )) ((and c-recognize-knr-p (not containing-sexp) (not (eq char-before-ip 12= 5)) (save-excursion (setq placeholder (cdr ...)) (and placeholder (not ...)= )) (< placeholder indent-point)) (goto-char placeholder) (c-add-syntax (quo= te knr-argdecl) (point))) ((and c-opt-method-key (looking-at c-opt-method-k= ey)) (c-beginning-of-statement-1 nil t) (if (=3D (point) indent-point) (got= o-char (point-min))) (c-add-syntax (quote objc-method-intro) (c-point (quot= e boi)))) ((c-major-mode-is (quote awk-mode)) (setq placeholder (point)) (c= -add-stmt-syntax (if (and (eq ... ...) (/=3D ... placeholder)) (quote topmo= st-intro-cont) (quote topmost-intro)) nil nil containing-sexp paren-state))= ((progn (c-backward-syntactic-ws lim) (and (eq (char-before) 125) (save-ex= cursion (let ... ... ... ... ...)))) (goto-char placeholder) (c-add-stmt-sy= ntax (quote topmost-intro-cont) nil nil containing-sexp paren-state)) ((and= (not (and macro-start (> indent-point macro-start))) (save-excursion (setq= placeholder (point)) (or (memq char-before-ip ...) (c-at-vsemi-p before-ws= -ip) (when ... ... ...) (and ... ...)))) (goto-char placeholder) (c-add-syn= tax (quote topmost-intro) (c-point (quote bol))) (if containing-decl-open (= if (c-keyword-member containing-decl-kwd (quote c-other-block-decl-kwds)) (= progn (goto-char ...) (c-add-stmt-syntax ... nil t ... paren-state)) (c-add= -class-syntax (quote inclass) containing-decl-open containing-decl-start co= ntaining-decl-kwd paren-state))) (when (and c-syntactic-indentation-in-macr= os macro-start (/=3D macro-start (c-point ... indent-point))) (c-add-syntax= (quote cpp-define-intro)) (setq macro-start nil))) ((and c-opt-method-key = (save-excursion (c-beginning-of-statement-1 lim) (beginning-of-line) (when = (looking-at c-opt-method-key) (setq placeholder ...)))) (c-add-syntax (quot= e objc-method-args-cont) placeholder)) ((and c-recognize-<>-arglists (eq (c= har-before) 60) (not (and c-overloadable-operators-regexp (c-after-special-= operator-id lim)))) (c-beginning-of-statement-1 (c-safe-position (point) pa= ren-state)) (c-add-syntax (quote template-args-cont) (c-point (quote boi)))= ) (macro-start (c-beginning-of-statement-1 containing-sexp) (c-add-stmt-syn= tax (quote statement) nil t containing-sexp paren-state)) ((and (c-major-mo= de-is (quote java-mode)) (setq placeholder (point)) (c-beginning-of-stateme= nt-1) (progn (while (and ...) (c-forward-syntactic-ws)) t) (prog1 (>=3D (po= int) placeholder) (goto-char placeholder))) (c-add-syntax (quote annotation= -top-cont) (c-point (quote boi)))) (t (c-beginning-of-statement-1 (c-safe-p= osition (point) paren-state)) (when (c-major-mode-is (quote objc-mode)) (se= tq placeholder (point)) (while (and (c-forward-objc-directive) (< ... inden= t-point)) (c-forward-syntactic-ws) (setq placeholder (point))) (goto-char p= laceholder)) (c-add-syntax (quote topmost-intro-cont) (c-point (quote boi))= )))) ((not (or (and c-special-brace-lists (save-excursion (goto-char contai= ning-sexp) (c-looking-at-special-brace-list))) (eq (char-after containing-s= exp) 123))) (cond ((memq char-after-ip (quote (41 93))) (goto-char containi= ng-sexp) (setq placeholder (c-point (quote boi))) (if (and (c-safe (backwar= d-up-list 1) t) (>=3D (point) placeholder)) (progn (forward-char) (skip-cha= rs-forward " ")) (goto-char placeholder)) (c-add-stmt-syntax (quote arglis= t-close) (list containing-sexp) t (c-most-enclosing-brace paren-state (poin= t)) paren-state)) ((and c-recognize-<>-arglists (setq containing-< (c-up-li= st-backward indent-point containing-sexp)) (eq (char-after containing-<) 60= )) (setq placeholder (c-point (quote boi) containing-<)) (goto-char contain= ing-sexp) (if (>=3D (point) placeholder) (progn (forward-char) (skip-chars-= forward " ")) (goto-char placeholder)) (c-add-stmt-syntax (quote template-= args-cont) (list containing-<) t (c-most-enclosing-brace c-state-cache (poi= nt)) paren-state)) ((and (eq char-after-ip 123) (progn (setq placeholder (c= -inside-bracelist-p ... paren-state)) (if placeholder (setq tmpsymbol ...) = (setq tmpsymbol ... placeholder ...)))) (goto-char placeholder) (back-to-in= dentation) (c-add-stmt-syntax (car tmpsymbol) nil t (c-most-enclosing-brace= paren-state (point)) paren-state) (if (/=3D (point) placeholder) (c-add-sy= ntax (cdr tmpsymbol)))) ((memq char-before-ip (quote (40 91))) (goto-char c= ontaining-sexp) (setq placeholder (c-point (quote boi))) (if (and (c-safe (= backward-up-list 1) t) (>=3D (point) placeholder)) (progn (forward-char) (s= kip-chars-forward " ")) (goto-char placeholder)) (c-add-stmt-syntax (quote= arglist-intro) (list containing-sexp) t (c-most-enclosing-brace paren-stat= e (point)) paren-state)) ((progn (goto-char containing-sexp) (and (c-safe (= c-forward-sexp -1) t) (looking-at "\\[^_]"))) (goto-char (1+ contain= ing-sexp)) (c-forward-syntactic-ws indent-point) (if (eq char-before-ip 59)= (c-add-syntax (quote statement) (point)) (c-add-syntax (quote statement-co= nt) (point)))) ((and c-opt-method-key (eq (char-after containing-sexp) 91) = (progn (goto-char (1- containing-sexp)) (c-backward-syntactic-ws (c-point .= ..)) (if (not ...) (c-add-syntax ... containing-sexp))))) ((progn (goto-cha= r (1+ containing-sexp)) (< (save-excursion (c-forward-syntactic-ws) (point)= ) (c-point (quote bonl)))) (goto-char containing-sexp) (setq placeholder (c= -point (quote boi))) (if (and (c-safe (backward-up-list 1) t) (>=3D (point)= placeholder)) (progn (forward-char) (skip-chars-forward " ")) (goto-char = placeholder)) (c-add-stmt-syntax (quote arglist-cont-nonempty) (list contai= ning-sexp) t (c-most-enclosing-brace c-state-cache (point)) paren-state)) (= t (c-forward-syntactic-ws indent-point) (c-add-syntax (quote arglist-cont) = (c-point (quote boi)))))) ((and (c-major-mode-is (quote c++-mode)) (save-ex= cursion (goto-char indent-point) (skip-chars-forward " ") (looking-at c-op= t-postfix-decl-spec-key))) (goto-char indent-point) (skip-chars-forward " = ") (cond ((eq char-after-ip 58) (c-backward-syntactic-ws lim) (c-add-syntax= (quote inher-intro) (c-point (quote boi)))) ((eq char-before-ip 58) (c-add= -syntax (quote inher-intro) (c-point (quote boi)))) (t (c-beginning-of-inhe= ritance-list lim) (c-add-syntax (quote inher-cont) (point))))) ((and (not (= c-major-mode-is (quote awk-mode))) (setq special-brace-list (or (and c-spec= ial-brace-lists (save-excursion (goto-char containing-sexp) (c-looking-at-s= pecial-brace-list))) (c-inside-bracelist-p containing-sexp paren-state)))) = (cond ((and (consp special-brace-list) (save-excursion (goto-char containin= g-sexp) (eq (char-after) 40)) (eq char-after-ip (car (cdr special-brace-lis= t)))) (goto-char (car (car special-brace-list))) (skip-chars-backward " ")= (if (and (bolp) (assoc (quote statement-cont) (setq placeholder ...))) (se= tq c-syntactic-context placeholder) (c-beginning-of-statement-1 (c-safe-pos= ition (1- containing-sexp) paren-state)) (c-forward-token-2 0) (while (look= ing-at c-specifier-key) (goto-char (match-end 1)) (c-forward-syntactic-ws))= (c-add-syntax (quote brace-list-open) (c-point (quote boi))))) ((if (consp= special-brace-list) (progn (goto-char (car ...)) (save-excursion (goto-cha= r indent-point) (back-to-indentation) (or ... ...))) (and (eq char-after-ip= 125) (c-safe (goto-char ...) t) (=3D (point) containing-sexp))) (if (eq (p= oint) (c-point (quote boi))) (c-add-syntax (quote brace-list-close) (point)= ) (setq lim (c-most-enclosing-brace c-state-cache (point))) (c-beginning-of= -statement-1 lim) (c-add-stmt-syntax (quote brace-list-close) nil t lim par= en-state))) (t (if (consp special-brace-list) (progn (goto-char (car ...)) = (c-forward-token-2 1 nil indent-point)) (goto-char containing-sexp)) (forwa= rd-char) (let ((start (point))) (c-forward-syntactic-ws indent-point) (goto= -char (max start (c-point ...)))) (c-skip-ws-forward indent-point) (cond ((= =3D (point) indent-point) (if (consp special-brace-list) (goto-char ...) (g= oto-char containing-sexp)) (if (eq ... ...) (c-add-syntax ... ...) (setq li= m ...) (c-beginning-of-statement-1 lim) (c-add-stmt-syntax ... nil t lim pa= ren-state))) (t (if (or ... ...) (c-add-syntax ... ...) (c-add-syntax ... .= ..))))))) ((and (not (memq char-before-ip (quote (59 58)))) (not (c-at-vsem= i-p before-ws-ip)) (or (not (eq char-before-ip 125)) (c-looking-at-inexpr-b= lock-backward c-state-cache)) (> (point) (save-excursion (c-beginning-of-st= atement-1 containing-sexp) (setq placeholder (point)))) (/=3D placeholder c= ontaining-sexp)) (c-guess-continued-construct indent-point char-after-ip pl= aceholder containing-sexp paren-state)) ((eq char-after-ip 125) (setq lim (= c-most-enclosing-brace paren-state)) (goto-char containing-sexp) (cond ((c-= after-conditional) (c-backward-to-block-anchor lim) (c-add-stmt-syntax (quo= te block-close) nil t lim paren-state)) ((setq placeholder (c-looking-at-in= expr-block (c-safe-position containing-sexp paren-state) nil)) (setq tmpsym= bol (if (eq (car placeholder) (quote inlambda)) (quote inline-close) (quote= block-close))) (goto-char containing-sexp) (back-to-indentation) (if (=3D = containing-sexp (point)) (c-add-syntax tmpsymbol (point)) (goto-char (cdr p= laceholder)) (back-to-indentation) (c-add-stmt-syntax tmpsymbol nil t (c-mo= st-enclosing-brace paren-state (point)) paren-state) (if (/=3D (point) (cdr= placeholder)) (c-add-syntax (car placeholder))))) ((save-excursion (and li= m (progn (goto-char lim) (c-looking-at-decl-block ... nil)) (setq placehold= er (point)))) (c-backward-to-decl-anchor lim) (back-to-indentation) (if (sa= ve-excursion (goto-char placeholder) (looking-at c-other-decl-block-key)) (= c-add-syntax (quote defun-close) (point)) (c-add-syntax (quote inline-close= ) (point)))) ((save-excursion (and (not (c-at-statement-start-p)) (eq (c-be= ginning-of-statement-1 lim nil nil t) (quote same)) (setq placeholder (poin= t)) (let (...) (c-forward-decl-or-cast-1 ... nil nil)))) (back-to-indentati= on) (if (/=3D (point) containing-sexp) (goto-char placeholder)) (c-add-stmt= -syntax (quote defun-close) nil t lim paren-state)) (lim (while (and (/=3D = (setq placeholder ...) (c-point ...)) (eq (c-beginning-of-statement-1 lim) = (quote label)))) (goto-char placeholder) (if (looking-at c-label-kwds-regex= p) (c-add-syntax (quote block-close) (point)) (goto-char containing-sexp) (= c-add-stmt-syntax (quote block-close) nil t lim paren-state))) (t (goto-cha= r containing-sexp) (c-backward-to-decl-anchor lim) (c-add-stmt-syntax (quot= e defun-close) nil nil (c-most-enclosing-brace paren-state) paren-state))))= (t (goto-char indent-point) (while (let* ((prev-point (point)) (last-step-= type (c-beginning-of-statement-1 containing-sexp))) (if (=3D (point) prev-p= oint) (progn (setq step-type (or step-type last-step-type)) nil) (setq step= -type last-step-type) (/=3D (point) (c-point (quote boi)))))) (cond ((and (= eq step-type (quote same)) (/=3D (point) indent-point)) (c-add-stmt-syntax = (quote statement-cont) nil nil containing-sexp paren-state)) ((progn (while= (and (eq step-type ...) (not ...)) (setq step-type (c-beginning-of-stateme= nt-1 containing-sexp))) (eq step-type (quote label))) (c-add-stmt-syntax (i= f (eq char-after-ip 123) (quote statement-case-open) (quote statement-case-= intro)) nil t containing-sexp paren-state)) ((progn (while (eq step-type (q= uote label)) (setq step-type (c-beginning-of-statement-1 containing-sexp)))= (eq step-type (quote previous))) (c-add-stmt-syntax (quote statement) nil = t containing-sexp paren-state) (if (eq char-after-ip 123) (c-add-syntax (qu= ote block-open)))) ((progn (goto-char containing-sexp) (setq lim (c-most-en= closing-brace paren-state containing-sexp)) (c-after-conditional)) (c-backw= ard-to-block-anchor lim) (c-add-stmt-syntax (quote statement-block-intro) n= il t lim paren-state) (if (eq char-after-ip 123) (c-add-syntax (quote block= -open)))) ((setq placeholder (c-looking-at-inexpr-block (c-safe-position co= ntaining-sexp paren-state) nil)) (setq tmpsymbol (if (eq (car placeholder) = (quote inlambda)) (quote defun-block-intro) (quote statement-block-intro)))= (back-to-indentation) (if (=3D containing-sexp (point)) (c-add-syntax tmps= ymbol (point)) (goto-char (cdr placeholder)) (back-to-indentation) (c-add-s= tmt-syntax tmpsymbol nil t (c-most-enclosing-brace c-state-cache (point)) p= aren-state) (if (/=3D (point) (cdr placeholder)) (c-add-syntax (car placeho= lder)))) (if (eq char-after-ip 123) (c-add-syntax (quote block-open)))) ((s= ave-excursion (or (not (setq placeholder ...)) (and (progn ... ...) (c-look= ing-at-decl-block ... nil)))) (c-backward-to-decl-anchor lim) (back-to-inde= ntation) (c-add-syntax (quote defun-block-intro) (point))) ((save-excursion= (and (not (c-at-statement-start-p)) (eq (c-beginning-of-statement-1 lim ni= l nil t) (quote same)) (setq placeholder (point)) (let (...) (c-forward-dec= l-or-cast-1 ... nil nil)))) (back-to-indentation) (if (/=3D (point) contain= ing-sexp) (goto-char placeholder)) (c-add-stmt-syntax (quote defun-block-in= tro) nil t lim paren-state)) (t (while (and (/=3D (setq placeholder ...) (c= -point ...)) (eq (c-beginning-of-statement-1 lim) (quote label)))) (goto-ch= ar placeholder) (if (looking-at c-label-kwds-regexp) (c-add-syntax (quote s= tatement-block-intro) (point)) (goto-char containing-sexp) (c-add-stmt-synt= ax (quote statement-block-intro) nil t lim paren-state)) (if (eq char-after= -ip 123) (c-add-syntax (quote block-open))))))) (progn (when (and (setq containing-sexp (c-most-enclosing-brace paren-sta= te)) (progn (goto-char containing-sexp) (eq (char-after) 123)) (setq placeh= older (c-looking-at-decl-block (c-most-enclosing-brace paren-state containi= ng-sexp) t))) (setq containing-decl-open containing-sexp containing-decl-st= art (point) containing-sexp nil) (goto-char placeholder) (setq containing-d= ecl-kwd (and (looking-at c-keywords-regexp) (c-keyword-sym (match-string 1)= )))) (if c-state-cache (progn (setq containing-sexp (car paren-state) paren= -state (cdr paren-state)) (if (consp containing-sexp) (progn (setq lim (cdr= containing-sexp)) (if (cdr c-state-cache) (setq containing-sexp (car ...) = paren-state (cdr paren-state)) (setq paren-state (cons containing-sexp pare= n-state) containing-sexp nil))) (setq lim (1+ containing-sexp)))) (setq lim= (point-min))) (when (and containing-sexp (eq (char-after containing-sexp) = 40)) (setq c-stmt-delim-chars c-stmt-delim-chars-with-comma)) (goto-char in= dent-point) (c-backward-syntactic-ws lim) (setq before-ws-ip (point) char-b= efore-ip (char-before)) (goto-char indent-point) (skip-chars-forward " ") = (setq char-after-ip (char-after)) (setq literal (c-in-literal lim)) (cond (= (eq literal (quote string)) (c-add-syntax (quote string) (c-point (quote bo= pl)))) ((and (memq literal (quote (c c++))) (setq placeholder (c-literal-li= mits lim))) (c-add-syntax literal (car placeholder))) ((and (save-excursion= (when (c-beginning-of-macro) (setq macro-start (point)))) (/=3D macro-star= t (c-point (quote boi))) (progn (setq tmpsymbol (quote cpp-macro-cont)) (or= (not c-syntactic-indentation-in-macros) (save-excursion (goto-char macro-s= tart) (if ... ... ... nil))))) (c-add-syntax tmpsymbol macro-start) (setq m= acro-start nil)) ((looking-at "else\\>[^_]") (c-beginning-of-statement-1 co= ntaining-sexp) (c-add-stmt-syntax (quote else-clause) nil t containing-sexp= paren-state)) ((and (looking-at "while\\>[^_]") (save-excursion (prog1 (eq= (c-beginning-of-statement-1 containing-sexp) (quote beginning)) (setq plac= eholder (point))))) (goto-char placeholder) (c-add-stmt-syntax (quote do-wh= ile-closure) nil t containing-sexp paren-state)) ((save-excursion (and (con= d ((c-major-mode-is ...) (looking-at "catch\\>[^_]")) ((c-major-mode-is ...= ) (looking-at "\\(catch\\|finally\\)\\>[^_]"))) (and (c-safe (c-backward-sy= ntactic-ws) (c-backward-sexp) t) (eq (char-after) 123) (c-safe (c-backward-= syntactic-ws) (c-backward-sexp) t) (if (eq ... 40) (c-safe ... t) t)) (look= ing-at "\\(try\\|catch\\)\\>[^_]") (setq placeholder (point)))) (goto-char = placeholder) (c-add-stmt-syntax (quote catch-clause) nil t containing-sexp = paren-state)) ((save-excursion (and c-opt-block-stmt-key (not (eq char-befo= re-ip 59)) (not (c-at-vsemi-p before-ws-ip)) (not (memq char-after-ip (quot= e ...))) (or (not (eq char-before-ip 125)) (c-looking-at-inexpr-block-backw= ard c-state-cache)) (> (point) (progn (setq placeholder ...) (while ...) (i= f ... ... ... ...) placeholder)) (if (looking-at c-block-stmt-2-key) (and (= zerop ...) (eq ... 40)) (looking-at c-opt-block-stmt-key)))) (if (eq step-t= ype (quote up)) (progn (goto-char placeholder) (cond ((eq char-after-ip 123= ) (c-add-stmt-syntax ... nil nil containing-sexp paren-state)) ((save-excur= sion ... ... ...) (c-add-stmt-syntax ... nil nil containing-sexp paren-stat= e)) (t (c-add-stmt-syntax ... nil nil containing-sexp paren-state)))) (c-gu= ess-continued-construct indent-point char-after-ip placeholder lim paren-st= ate))) ((looking-at c-label-kwds-regexp) (if containing-sexp (progn (goto-c= har containing-sexp) (setq lim (c-most-enclosing-brace c-state-cache contai= ning-sexp)) (c-backward-to-block-anchor lim) (c-add-stmt-syntax (quote case= -label) nil t lim paren-state)) (c-add-syntax (quote case-label) (point-min= )))) ((save-excursion (back-to-indentation) (and (not (looking-at c-syntact= ic-ws-start)) (c-forward-label))) (cond (containing-decl-open (setq placeho= lder (c-add-class-syntax (quote inclass) containing-decl-open containing-de= cl-start containing-decl-kwd paren-state)) (c-append-syntax (quote access-l= abel) placeholder)) (containing-sexp (goto-char containing-sexp) (setq lim = (c-most-enclosing-brace c-state-cache containing-sexp)) (save-excursion (se= tq tmpsymbol (if ... ... ...))) (c-backward-to-block-anchor lim) (c-add-stm= t-syntax tmpsymbol nil t lim paren-state)) (t (c-add-syntax (quote access-l= abel) (point-min))))) ((setq placeholder (c-looking-at-inexpr-block (c-safe= -position containing-sexp paren-state) containing-sexp t)) (setq tmpsymbol = (assq (car placeholder) (quote ((inexpr-class . class-open) (inexpr-stateme= nt . block-open))))) (if tmpsymbol (setq tmpsymbol (cdr tmpsymbol)) (setq t= mpsymbol (if (eq char-after-ip 123) (quote inline-open) (quote lambda-intro= -cont)))) (goto-char (cdr placeholder)) (back-to-indentation) (c-add-stmt-s= yntax tmpsymbol nil t (c-most-enclosing-brace c-state-cache (point)) paren-= state) (unless (eq (point) (cdr placeholder)) (c-add-syntax (car placeholde= r)))) ((or containing-decl-open (null containing-sexp)) (cond ((setq specia= l-brace-list (or (and c-special-brace-lists ...) (eq char-after-ip 123))) (= cond ((save-excursion ...) (goto-char placeholder) (c-add-stmt-syntax ... n= il t containing-sexp paren-state)) ((save-excursion ... ... ...) (c-add-syn= tax ... placeholder)) ((save-excursion ... ... ... ...) (if ... ... ...)) (= (and containing-decl-open ...) (c-add-syntax ...) (c-add-class-syntax ... c= ontaining-decl-open containing-decl-start containing-decl-kwd paren-state))= (t (save-excursion ... ... ...)))) ((save-excursion (when (setq placeholde= r ...) (setq tmp-pos ...))) (cond ((eq ... 58) (if ... ... ... ... ...)) ((= and c-recognize-knr-p ...) (c-beginning-of-statement-1 lim) (c-add-syntax .= .. ...) (if containing-decl-open ...)) (t (c-beginning-of-statement-1 lim) = (c-add-syntax ... ...)))) ((or (and (c-major-mode-is ...) (progn ... ...)) = (and (or ... ...) (save-excursion ... ... ... ...)) (and (c-major-mode-is .= ..) (let ... ... injava-inher) (not ...))) (cond ((eq char-after-ip 58) (c-= beginning-of-statement-1 lim) (c-add-syntax ... ...)) ((eq char-before-ip 5= 8) (c-beginning-of-statement-1 lim) (c-add-syntax ... ...) (if containing-d= ecl-open ...)) (injava-inher (let ... ... ...)) (t (c-beginning-of-inherita= nce-list lim) (c-add-syntax ... ...)))) ((save-excursion (if c-recognize-<>= -arglists (while ...) (c-syntactic-skip-backward "^;,=3D" lim t)) (memq (ch= ar-before) (quote ...))) (cond ((and ... ...) (c-with-syntax-table c++-temp= late-syntax-table ... ... ...) (c-add-syntax ... ... placeholder)) ((and ..= . ...) (goto-char placeholder) (c-add-syntax ... ...)) (t (while ...) (c-ad= d-stmt-syntax ... nil nil containing-sexp paren-state)))) ((and (eq char-af= ter-ip 125) (c-keyword-member containing-decl-kwd (quote c-other-block-decl= -kwds))) (goto-char containing-decl-start) (c-add-stmt-syntax (if (string-e= qual ... "extern") (quote extern-lang-close) (intern ...)) nil t (c-most-en= closing-brace paren-state (point)) paren-state)) ((and containing-sexp (eq = char-after-ip 125) (eq containing-decl-open containing-sexp)) (c-add-class-= syntax (quote class-close) containing-decl-open containing-decl-start conta= ining-decl-kwd paren-state)) ((and c-recognize-knr-p (not containing-sexp) = (not (eq char-before-ip 125)) (save-excursion (setq placeholder ...) (and p= laceholder ...)) (< placeholder indent-point)) (goto-char placeholder) (c-a= dd-syntax (quote knr-argdecl) (point))) ((and c-opt-method-key (looking-at = c-opt-method-key)) (c-beginning-of-statement-1 nil t) (if (=3D (point) inde= nt-point) (goto-char (point-min))) (c-add-syntax (quote objc-method-intro) = (c-point (quote boi)))) ((c-major-mode-is (quote awk-mode)) (setq placehold= er (point)) (c-add-stmt-syntax (if (and ... ...) (quote topmost-intro-cont)= (quote topmost-intro)) nil nil containing-sexp paren-state)) ((progn (c-ba= ckward-syntactic-ws lim) (and (eq ... 125) (save-excursion ...))) (goto-cha= r placeholder) (c-add-stmt-syntax (quote topmost-intro-cont) nil nil contai= ning-sexp paren-state)) ((and (not (and macro-start ...)) (save-excursion (= setq placeholder ...) (or ... ... ... ...))) (goto-char placeholder) (c-add= -syntax (quote topmost-intro) (c-point (quote bol))) (if containing-decl-op= en (if (c-keyword-member containing-decl-kwd ...) (progn ... ...) (c-add-cl= ass-syntax ... containing-decl-open containing-decl-start containing-decl-k= wd paren-state))) (when (and c-syntactic-indentation-in-macros macro-start = (/=3D macro-start ...)) (c-add-syntax (quote cpp-define-intro)) (setq macro= -start nil))) ((and c-opt-method-key (save-excursion (c-beginning-of-statem= ent-1 lim) (beginning-of-line) (when ... ...))) (c-add-syntax (quote objc-m= ethod-args-cont) placeholder)) ((and c-recognize-<>-arglists (eq (char-befo= re) 60) (not (and c-overloadable-operators-regexp ...))) (c-beginning-of-st= atement-1 (c-safe-position (point) paren-state)) (c-add-syntax (quote templ= ate-args-cont) (c-point (quote boi)))) (macro-start (c-beginning-of-stateme= nt-1 containing-sexp) (c-add-stmt-syntax (quote statement) nil t containing= -sexp paren-state)) ((and (c-major-mode-is (quote java-mode)) (setq placeho= lder (point)) (c-beginning-of-statement-1) (progn (while ... ...) t) (prog1= (>=3D ... placeholder) (goto-char placeholder))) (c-add-syntax (quote anno= tation-top-cont) (c-point (quote boi)))) (t (c-beginning-of-statement-1 (c-= safe-position (point) paren-state)) (when (c-major-mode-is (quote objc-mode= )) (setq placeholder (point)) (while (and ... ...) (c-forward-syntactic-ws)= (setq placeholder ...)) (goto-char placeholder)) (c-add-syntax (quote topm= ost-intro-cont) (c-point (quote boi)))))) ((not (or (and c-special-brace-li= sts (save-excursion (goto-char containing-sexp) (c-looking-at-special-brace= -list))) (eq (char-after containing-sexp) 123))) (cond ((memq char-after-ip= (quote (41 93))) (goto-char containing-sexp) (setq placeholder (c-point (q= uote boi))) (if (and (c-safe ... t) (>=3D ... placeholder)) (progn (forward= -char) (skip-chars-forward " ")) (goto-char placeholder)) (c-add-stmt-synt= ax (quote arglist-close) (list containing-sexp) t (c-most-enclosing-brace p= aren-state (point)) paren-state)) ((and c-recognize-<>-arglists (setq conta= ining-< (c-up-list-backward indent-point containing-sexp)) (eq (char-after = containing-<) 60)) (setq placeholder (c-point (quote boi) containing-<)) (g= oto-char containing-sexp) (if (>=3D (point) placeholder) (progn (forward-ch= ar) (skip-chars-forward " ")) (goto-char placeholder)) (c-add-stmt-syntax = (quote template-args-cont) (list containing-<) t (c-most-enclosing-brace c-= state-cache (point)) paren-state)) ((and (eq char-after-ip 123) (progn (set= q placeholder ...) (if placeholder ... ...))) (goto-char placeholder) (back= -to-indentation) (c-add-stmt-syntax (car tmpsymbol) nil t (c-most-enclosing= -brace paren-state (point)) paren-state) (if (/=3D (point) placeholder) (c-= add-syntax (cdr tmpsymbol)))) ((memq char-before-ip (quote (40 91))) (goto-= char containing-sexp) (setq placeholder (c-point (quote boi))) (if (and (c-= safe ... t) (>=3D ... placeholder)) (progn (forward-char) (skip-chars-forwa= rd " ")) (goto-char placeholder)) (c-add-stmt-syntax (quote arglist-intro)= (list containing-sexp) t (c-most-enclosing-brace paren-state (point)) pare= n-state)) ((progn (goto-char containing-sexp) (and (c-safe ... t) (looking-= at "\\[^_]"))) (goto-char (1+ containing-sexp)) (c-forward-syntactic= -ws indent-point) (if (eq char-before-ip 59) (c-add-syntax (quote statement= ) (point)) (c-add-syntax (quote statement-cont) (point)))) ((and c-opt-meth= od-key (eq (char-after containing-sexp) 91) (progn (goto-char ...) (c-backw= ard-syntactic-ws ...) (if ... ...)))) ((progn (goto-char (1+ containing-sex= p)) (< (save-excursion ... ...) (c-point ...))) (goto-char containing-sexp)= (setq placeholder (c-point (quote boi))) (if (and (c-safe ... t) (>=3D ...= placeholder)) (progn (forward-char) (skip-chars-forward " ")) (goto-char = placeholder)) (c-add-stmt-syntax (quote arglist-cont-nonempty) (list contai= ning-sexp) t (c-most-enclosing-brace c-state-cache (point)) paren-state)) (= t (c-forward-syntactic-ws indent-point) (c-add-syntax (quote arglist-cont) = (c-point (quote boi)))))) ((and (c-major-mode-is (quote c++-mode)) (save-ex= cursion (goto-char indent-point) (skip-chars-forward " ") (looking-at c-op= t-postfix-decl-spec-key))) (goto-char indent-point) (skip-chars-forward " = ") (cond ((eq char-after-ip 58) (c-backward-syntactic-ws lim) (c-add-syntax= (quote inher-intro) (c-point (quote boi)))) ((eq char-before-ip 58) (c-add= -syntax (quote inher-intro) (c-point (quote boi)))) (t (c-beginning-of-inhe= ritance-list lim) (c-add-syntax (quote inher-cont) (point))))) ((and (not (= c-major-mode-is (quote awk-mode))) (setq special-brace-list (or (and c-spec= ial-brace-lists (save-excursion ... ...)) (c-inside-bracelist-p containing-= sexp paren-state)))) (cond ((and (consp special-brace-list) (save-excursion= (goto-char containing-sexp) (eq ... 40)) (eq char-after-ip (car ...))) (go= to-char (car (car special-brace-list))) (skip-chars-backward " ") (if (and= (bolp) (assoc ... ...)) (setq c-syntactic-context placeholder) (c-beginnin= g-of-statement-1 (c-safe-position ... paren-state)) (c-forward-token-2 0) (= while (looking-at c-specifier-key) (goto-char ...) (c-forward-syntactic-ws)= ) (c-add-syntax (quote brace-list-open) (c-point ...)))) ((if (consp specia= l-brace-list) (progn (goto-char ...) (save-excursion ... ... ...)) (and (eq= char-after-ip 125) (c-safe ... t) (=3D ... containing-sexp))) (if (eq (poi= nt) (c-point ...)) (c-add-syntax (quote brace-list-close) (point)) (setq li= m (c-most-enclosing-brace c-state-cache ...)) (c-beginning-of-statement-1 l= im) (c-add-stmt-syntax (quote brace-list-close) nil t lim paren-state))) (t= (if (consp special-brace-list) (progn (goto-char ...) (c-forward-token-2 1= nil indent-point)) (goto-char containing-sexp)) (forward-char) (let ((star= t ...)) (c-forward-syntactic-ws indent-point) (goto-char (max start ...))) = (c-skip-ws-forward indent-point) (cond ((=3D ... indent-point) (if ... ... = ...) (if ... ... ... ... ...)) (t (if ... ... ...)))))) ((and (not (memq ch= ar-before-ip (quote (59 58)))) (not (c-at-vsemi-p before-ws-ip)) (or (not (= eq char-before-ip 125)) (c-looking-at-inexpr-block-backward c-state-cache))= (> (point) (save-excursion (c-beginning-of-statement-1 containing-sexp) (s= etq placeholder (point)))) (/=3D placeholder containing-sexp)) (c-guess-con= tinued-construct indent-point char-after-ip placeholder containing-sexp par= en-state)) ((eq char-after-ip 125) (setq lim (c-most-enclosing-brace paren-= state)) (goto-char containing-sexp) (cond ((c-after-conditional) (c-backwar= d-to-block-anchor lim) (c-add-stmt-syntax (quote block-close) nil t lim par= en-state)) ((setq placeholder (c-looking-at-inexpr-block (c-safe-position c= ontaining-sexp paren-state) nil)) (setq tmpsymbol (if (eq ... ...) (quote i= nline-close) (quote block-close))) (goto-char containing-sexp) (back-to-ind= entation) (if (=3D containing-sexp (point)) (c-add-syntax tmpsymbol (point)= ) (goto-char (cdr placeholder)) (back-to-indentation) (c-add-stmt-syntax tm= psymbol nil t (c-most-enclosing-brace paren-state ...) paren-state) (if (/= =3D ... ...) (c-add-syntax ...)))) ((save-excursion (and lim (progn ... ...= ) (setq placeholder ...))) (c-backward-to-decl-anchor lim) (back-to-indenta= tion) (if (save-excursion (goto-char placeholder) (looking-at c-other-decl-= block-key)) (c-add-syntax (quote defun-close) (point)) (c-add-syntax (quote= inline-close) (point)))) ((save-excursion (and (not ...) (eq ... ...) (set= q placeholder ...) (let ... ...))) (back-to-indentation) (if (/=3D (point) = containing-sexp) (goto-char placeholder)) (c-add-stmt-syntax (quote defun-c= lose) nil t lim paren-state)) (lim (while (and (/=3D ... ...) (eq ... ...))= ) (goto-char placeholder) (if (looking-at c-label-kwds-regexp) (c-add-synta= x (quote block-close) (point)) (goto-char containing-sexp) (c-add-stmt-synt= ax (quote block-close) nil t lim paren-state))) (t (goto-char containing-se= xp) (c-backward-to-decl-anchor lim) (c-add-stmt-syntax (quote defun-close) = nil nil (c-most-enclosing-brace paren-state) paren-state)))) (t (goto-char = indent-point) (while (let* ((prev-point (point)) (last-step-type (c-beginni= ng-of-statement-1 containing-sexp))) (if (=3D (point) prev-point) (progn (s= etq step-type ...) nil) (setq step-type last-step-type) (/=3D (point) (c-po= int ...))))) (cond ((and (eq step-type (quote same)) (/=3D (point) indent-p= oint)) (c-add-stmt-syntax (quote statement-cont) nil nil containing-sexp pa= ren-state)) ((progn (while (and ... ...) (setq step-type ...)) (eq step-typ= e (quote label))) (c-add-stmt-syntax (if (eq char-after-ip 123) (quote stat= ement-case-open) (quote statement-case-intro)) nil t containing-sexp paren-= state)) ((progn (while (eq step-type ...) (setq step-type ...)) (eq step-ty= pe (quote previous))) (c-add-stmt-syntax (quote statement) nil t containing= -sexp paren-state) (if (eq char-after-ip 123) (c-add-syntax (quote block-op= en)))) ((progn (goto-char containing-sexp) (setq lim (c-most-enclosing-brac= e paren-state containing-sexp)) (c-after-conditional)) (c-backward-to-block= -anchor lim) (c-add-stmt-syntax (quote statement-block-intro) nil t lim par= en-state) (if (eq char-after-ip 123) (c-add-syntax (quote block-open)))) ((= setq placeholder (c-looking-at-inexpr-block (c-safe-position containing-sex= p paren-state) nil)) (setq tmpsymbol (if (eq ... ...) (quote defun-block-in= tro) (quote statement-block-intro))) (back-to-indentation) (if (=3D contain= ing-sexp (point)) (c-add-syntax tmpsymbol (point)) (goto-char (cdr placehol= der)) (back-to-indentation) (c-add-stmt-syntax tmpsymbol nil t (c-most-encl= osing-brace c-state-cache ...) paren-state) (if (/=3D ... ...) (c-add-synta= x ...))) (if (eq char-after-ip 123) (c-add-syntax (quote block-open)))) ((s= ave-excursion (or (not ...) (and ... ...))) (c-backward-to-decl-anchor lim)= (back-to-indentation) (c-add-syntax (quote defun-block-intro) (point))) ((= save-excursion (and (not ...) (eq ... ...) (setq placeholder ...) (let ... = ...))) (back-to-indentation) (if (/=3D (point) containing-sexp) (goto-char = placeholder)) (c-add-stmt-syntax (quote defun-block-intro) nil t lim paren-= state)) (t (while (and (/=3D ... ...) (eq ... ...))) (goto-char placeholder= ) (if (looking-at c-label-kwds-regexp) (c-add-syntax (quote statement-block= -intro) (point)) (goto-char containing-sexp) (c-add-stmt-syntax (quote stat= ement-block-intro) nil t lim paren-state)) (if (eq char-after-ip 123) (c-ad= d-syntax (quote block-open))))))) (goto-char indent-point) (skip-chars-forw= ard " ") (when (and (looking-at c-comment-start-regexp) (/=3D (c-forward-t= oken-2 0 nil (c-point (quote eol))) 0)) (c-append-syntax (quote comment-int= ro))) (when (and c-opt-friend-key (looking-at c-opt-friend-key)) (c-append-= syntax (quote friend))) (let ((p c-syntactic-context)) (while (and p (if (i= ntegerp (c-langelem-pos (car p))) (progn (setq syntactic-relpos (c-langelem= -pos ...)) nil) t)) (setq p (cdr p)))) (if (and macro-start (eq macro-start= (c-point (quote boi))) (not (and (c-major-mode-is (quote pike-mode)) (eq (= char-after (1+ macro-start)) 34)))) (c-append-syntax (quote cpp-macro)) (wh= en (and c-syntactic-indentation-in-macros macro-start) (if in-macro-expr (w= hen (or (< syntactic-relpos macro-start) (not (or ... ... ... ...))) (setq = c-syntactic-context nil) (c-add-syntax (quote cpp-macro-cont) macro-start))= (when (and (eq macro-start syntactic-relpos) (not (assq ... c-syntactic-co= ntext)) (save-excursion (goto-char macro-start) (or ... ...))) (c-add-synta= x (quote cpp-define-intro)))))) c-syntactic-context) (unwind-protect (progn (when (and (setq containing-sexp (c-most-enclosing= -brace paren-state)) (progn (goto-char containing-sexp) (eq (char-after) 12= 3)) (setq placeholder (c-looking-at-decl-block (c-most-enclosing-brace pare= n-state containing-sexp) t))) (setq containing-decl-open containing-sexp co= ntaining-decl-start (point) containing-sexp nil) (goto-char placeholder) (s= etq containing-decl-kwd (and (looking-at c-keywords-regexp) (c-keyword-sym = (match-string 1))))) (if c-state-cache (progn (setq containing-sexp (car pa= ren-state) paren-state (cdr paren-state)) (if (consp containing-sexp) (prog= n (setq lim (cdr containing-sexp)) (if (cdr c-state-cache) (setq containing= -sexp ... paren-state ...) (setq paren-state ... containing-sexp nil))) (se= tq lim (1+ containing-sexp)))) (setq lim (point-min))) (when (and containin= g-sexp (eq (char-after containing-sexp) 40)) (setq c-stmt-delim-chars c-stm= t-delim-chars-with-comma)) (goto-char indent-point) (c-backward-syntactic-w= s lim) (setq before-ws-ip (point) char-before-ip (char-before)) (goto-char = indent-point) (skip-chars-forward " ") (setq char-after-ip (char-after)) (= setq literal (c-in-literal lim)) (cond ((eq literal (quote string)) (c-add-= syntax (quote string) (c-point (quote bopl)))) ((and (memq literal (quote (= c c++))) (setq placeholder (c-literal-limits lim))) (c-add-syntax literal (= car placeholder))) ((and (save-excursion (when (c-beginning-of-macro) (setq= macro-start ...))) (/=3D macro-start (c-point (quote boi))) (progn (setq t= mpsymbol (quote cpp-macro-cont)) (or (not c-syntactic-indentation-in-macros= ) (save-excursion ... ...)))) (c-add-syntax tmpsymbol macro-start) (setq ma= cro-start nil)) ((looking-at "else\\>[^_]") (c-beginning-of-statement-1 con= taining-sexp) (c-add-stmt-syntax (quote else-clause) nil t containing-sexp = paren-state)) ((and (looking-at "while\\>[^_]") (save-excursion (prog1 (eq = ... ...) (setq placeholder ...)))) (goto-char placeholder) (c-add-stmt-synt= ax (quote do-while-closure) nil t containing-sexp paren-state)) ((save-excu= rsion (and (cond (... ...) (... ...)) (and (c-safe ... ... t) (eq ... 123) = (c-safe ... ... t) (if ... ... t)) (looking-at "\\(try\\|catch\\)\\>[^_]") = (setq placeholder (point)))) (goto-char placeholder) (c-add-stmt-syntax (qu= ote catch-clause) nil t containing-sexp paren-state)) ((save-excursion (and= c-opt-block-stmt-key (not (eq char-before-ip 59)) (not (c-at-vsemi-p befor= e-ws-ip)) (not (memq char-after-ip ...)) (or (not ...) (c-looking-at-inexpr= -block-backward c-state-cache)) (> (point) (progn ... ... ... placeholder))= (if (looking-at c-block-stmt-2-key) (and ... ...) (looking-at c-opt-block-= stmt-key)))) (if (eq step-type (quote up)) (progn (goto-char placeholder) (= cond (... ...) (... ...) (t ...))) (c-guess-continued-construct indent-poin= t char-after-ip placeholder lim paren-state))) ((looking-at c-label-kwds-re= gexp) (if containing-sexp (progn (goto-char containing-sexp) (setq lim (c-m= ost-enclosing-brace c-state-cache containing-sexp)) (c-backward-to-block-an= chor lim) (c-add-stmt-syntax (quote case-label) nil t lim paren-state)) (c-= add-syntax (quote case-label) (point-min)))) ((save-excursion (back-to-inde= ntation) (and (not (looking-at c-syntactic-ws-start)) (c-forward-label))) (= cond (containing-decl-open (setq placeholder (c-add-class-syntax ... contai= ning-decl-open containing-decl-start containing-decl-kwd paren-state)) (c-a= ppend-syntax (quote access-label) placeholder)) (containing-sexp (goto-char= containing-sexp) (setq lim (c-most-enclosing-brace c-state-cache containin= g-sexp)) (save-excursion (setq tmpsymbol ...)) (c-backward-to-block-anchor = lim) (c-add-stmt-syntax tmpsymbol nil t lim paren-state)) (t (c-add-syntax = (quote access-label) (point-min))))) ((setq placeholder (c-looking-at-inexp= r-block (c-safe-position containing-sexp paren-state) containing-sexp t)) (= setq tmpsymbol (assq (car placeholder) (quote (... ...)))) (if tmpsymbol (s= etq tmpsymbol (cdr tmpsymbol)) (setq tmpsymbol (if (eq char-after-ip 123) (= quote inline-open) (quote lambda-intro-cont)))) (goto-char (cdr placeholder= )) (back-to-indentation) (c-add-stmt-syntax tmpsymbol nil t (c-most-enclosi= ng-brace c-state-cache (point)) paren-state) (unless (eq (point) (cdr place= holder)) (c-add-syntax (car placeholder)))) ((or containing-decl-open (null= containing-sexp)) (cond ((setq special-brace-list (or ... ...)) (cond (...= ... ...) (... ...) (... ...) (... ... ...) (t ...))) ((save-excursion (whe= n ... ...)) (cond (... ...) (... ... ... ...) (t ... ...))) ((or (and ... .= ..) (and ... ...) (and ... ... ...)) (cond (... ... ...) (... ... ... ...) = (injava-inher ...) (t ... ...))) ((save-excursion (if c-recognize-<>-arglis= ts ... ...) (memq ... ...)) (cond (... ... ...) (... ... ...) (t ... ...)))= ((and (eq char-after-ip 125) (c-keyword-member containing-decl-kwd ...)) (= goto-char containing-decl-start) (c-add-stmt-syntax (if ... ... ...) nil t = (c-most-enclosing-brace paren-state ...) paren-state)) ((and containing-sex= p (eq char-after-ip 125) (eq containing-decl-open containing-sexp)) (c-add-= class-syntax (quote class-close) containing-decl-open containing-decl-start= containing-decl-kwd paren-state)) ((and c-recognize-knr-p (not containing-= sexp) (not ...) (save-excursion ... ...) (< placeholder indent-point)) (got= o-char placeholder) (c-add-syntax (quote knr-argdecl) (point))) ((and c-opt= -method-key (looking-at c-opt-method-key)) (c-beginning-of-statement-1 nil = t) (if (=3D ... indent-point) (goto-char ...)) (c-add-syntax (quote objc-me= thod-intro) (c-point ...))) ((c-major-mode-is (quote awk-mode)) (setq place= holder (point)) (c-add-stmt-syntax (if ... ... ...) nil nil containing-sexp= paren-state)) ((progn (c-backward-syntactic-ws lim) (and ... ...)) (goto-c= har placeholder) (c-add-stmt-syntax (quote topmost-intro-cont) nil nil cont= aining-sexp paren-state)) ((and (not ...) (save-excursion ... ...)) (goto-c= har placeholder) (c-add-syntax (quote topmost-intro) (c-point ...)) (if con= taining-decl-open (if ... ... ...)) (when (and c-syntactic-indentation-in-m= acros macro-start ...) (c-add-syntax ...) (setq macro-start nil))) ((and c-= opt-method-key (save-excursion ... ... ...)) (c-add-syntax (quote objc-meth= od-args-cont) placeholder)) ((and c-recognize-<>-arglists (eq ... 60) (not = ...)) (c-beginning-of-statement-1 (c-safe-position ... paren-state)) (c-add= -syntax (quote template-args-cont) (c-point ...))) (macro-start (c-beginnin= g-of-statement-1 containing-sexp) (c-add-stmt-syntax (quote statement) nil = t containing-sexp paren-state)) ((and (c-major-mode-is ...) (setq placehold= er ...) (c-beginning-of-statement-1) (progn ... t) (prog1 ... ...)) (c-add-= syntax (quote annotation-top-cont) (c-point ...))) (t (c-beginning-of-state= ment-1 (c-safe-position ... paren-state)) (when (c-major-mode-is ...) (setq= placeholder ...) (while ... ... ...) (goto-char placeholder)) (c-add-synta= x (quote topmost-intro-cont) (c-point ...))))) ((not (or (and c-special-bra= ce-lists (save-excursion ... ...)) (eq (char-after containing-sexp) 123))) = (cond ((memq char-after-ip (quote ...)) (goto-char containing-sexp) (setq p= laceholder (c-point ...)) (if (and ... ...) (progn ... ...) (goto-char plac= eholder)) (c-add-stmt-syntax (quote arglist-close) (list containing-sexp) t= (c-most-enclosing-brace paren-state ...) paren-state)) ((and c-recognize-<= >-arglists (setq containing-< ...) (eq ... 60)) (setq placeholder (c-point = ... containing-<)) (goto-char containing-sexp) (if (>=3D ... placeholder) (= progn ... ...) (goto-char placeholder)) (c-add-stmt-syntax (quote template-= args-cont) (list containing-<) t (c-most-enclosing-brace c-state-cache ...)= paren-state)) ((and (eq char-after-ip 123) (progn ... ...)) (goto-char pla= ceholder) (back-to-indentation) (c-add-stmt-syntax (car tmpsymbol) nil t (c= -most-enclosing-brace paren-state ...) paren-state) (if (/=3D ... placehold= er) (c-add-syntax ...))) ((memq char-before-ip (quote ...)) (goto-char cont= aining-sexp) (setq placeholder (c-point ...)) (if (and ... ...) (progn ... = ...) (goto-char placeholder)) (c-add-stmt-syntax (quote arglist-intro) (lis= t containing-sexp) t (c-most-enclosing-brace paren-state ...) paren-state))= ((progn (goto-char containing-sexp) (and ... ...)) (goto-char (1+ containi= ng-sexp)) (c-forward-syntactic-ws indent-point) (if (eq char-before-ip 59) = (c-add-syntax ... ...) (c-add-syntax ... ...))) ((and c-opt-method-key (eq = ... 91) (progn ... ... ...))) ((progn (goto-char ...) (< ... ...)) (goto-ch= ar containing-sexp) (setq placeholder (c-point ...)) (if (and ... ...) (pro= gn ... ...) (goto-char placeholder)) (c-add-stmt-syntax (quote arglist-cont= -nonempty) (list containing-sexp) t (c-most-enclosing-brace c-state-cache .= ..) paren-state)) (t (c-forward-syntactic-ws indent-point) (c-add-syntax (q= uote arglist-cont) (c-point ...))))) ((and (c-major-mode-is (quote c++-mode= )) (save-excursion (goto-char indent-point) (skip-chars-forward " ") (look= ing-at c-opt-postfix-decl-spec-key))) (goto-char indent-point) (skip-chars-= forward " ") (cond ((eq char-after-ip 58) (c-backward-syntactic-ws lim) (c= -add-syntax (quote inher-intro) (c-point ...))) ((eq char-before-ip 58) (c-= add-syntax (quote inher-intro) (c-point ...))) (t (c-beginning-of-inheritan= ce-list lim) (c-add-syntax (quote inher-cont) (point))))) ((and (not (c-maj= or-mode-is (quote awk-mode))) (setq special-brace-list (or (and c-special-b= race-lists ...) (c-inside-bracelist-p containing-sexp paren-state)))) (cond= ((and (consp special-brace-list) (save-excursion ... ...) (eq char-after-i= p ...)) (goto-char (car ...)) (skip-chars-backward " ") (if (and ... ...) = (setq c-syntactic-context placeholder) (c-beginning-of-statement-1 ...) (c-= forward-token-2 0) (while ... ... ...) (c-add-syntax ... ...))) ((if (consp= special-brace-list) (progn ... ...) (and ... ... ...)) (if (eq ... ...) (c= -add-syntax ... ...) (setq lim ...) (c-beginning-of-statement-1 lim) (c-add= -stmt-syntax ... nil t lim paren-state))) (t (if (consp special-brace-list)= (progn ... ...) (goto-char containing-sexp)) (forward-char) (let (...) (c-= forward-syntactic-ws indent-point) (goto-char ...)) (c-skip-ws-forward inde= nt-point) (cond (... ... ...) (t ...))))) ((and (not (memq char-before-ip (= quote ...))) (not (c-at-vsemi-p before-ws-ip)) (or (not (eq char-before-ip = 125)) (c-looking-at-inexpr-block-backward c-state-cache)) (> (point) (save-= excursion (c-beginning-of-statement-1 containing-sexp) (setq placeholder ..= .))) (/=3D placeholder containing-sexp)) (c-guess-continued-construct inden= t-point char-after-ip placeholder containing-sexp paren-state)) ((eq char-a= fter-ip 125) (setq lim (c-most-enclosing-brace paren-state)) (goto-char con= taining-sexp) (cond ((c-after-conditional) (c-backward-to-block-anchor lim)= (c-add-stmt-syntax (quote block-close) nil t lim paren-state)) ((setq plac= eholder (c-looking-at-inexpr-block ... nil)) (setq tmpsymbol (if ... ... ..= .)) (goto-char containing-sexp) (back-to-indentation) (if (=3D containing-s= exp ...) (c-add-syntax tmpsymbol ...) (goto-char ...) (back-to-indentation)= (c-add-stmt-syntax tmpsymbol nil t ... paren-state) (if ... ...))) ((save-= excursion (and lim ... ...)) (c-backward-to-decl-anchor lim) (back-to-inden= tation) (if (save-excursion ... ...) (c-add-syntax ... ...) (c-add-syntax .= .. ...))) ((save-excursion (and ... ... ... ...)) (back-to-indentation) (if= (/=3D ... containing-sexp) (goto-char placeholder)) (c-add-stmt-syntax (qu= ote defun-close) nil t lim paren-state)) (lim (while (and ... ...)) (goto-c= har placeholder) (if (looking-at c-label-kwds-regexp) (c-add-syntax ... ...= ) (goto-char containing-sexp) (c-add-stmt-syntax ... nil t lim paren-state)= )) (t (goto-char containing-sexp) (c-backward-to-decl-anchor lim) (c-add-st= mt-syntax (quote defun-close) nil nil (c-most-enclosing-brace paren-state) = paren-state)))) (t (goto-char indent-point) (while (let* ((prev-point ...) = (last-step-type ...)) (if (=3D ... prev-point) (progn ... nil) (setq step-t= ype last-step-type) (/=3D ... ...)))) (cond ((and (eq step-type ...) (/=3D = ... indent-point)) (c-add-stmt-syntax (quote statement-cont) nil nil contai= ning-sexp paren-state)) ((progn (while ... ...) (eq step-type ...)) (c-add-= stmt-syntax (if ... ... ...) nil t containing-sexp paren-state)) ((progn (w= hile ... ...) (eq step-type ...)) (c-add-stmt-syntax (quote statement) nil = t containing-sexp paren-state) (if (eq char-after-ip 123) (c-add-syntax ...= ))) ((progn (goto-char containing-sexp) (setq lim ...) (c-after-conditional= )) (c-backward-to-block-anchor lim) (c-add-stmt-syntax (quote statement-blo= ck-intro) nil t lim paren-state) (if (eq char-after-ip 123) (c-add-syntax .= ..))) ((setq placeholder (c-looking-at-inexpr-block ... nil)) (setq tmpsymb= ol (if ... ... ...)) (back-to-indentation) (if (=3D containing-sexp ...) (c= -add-syntax tmpsymbol ...) (goto-char ...) (back-to-indentation) (c-add-stm= t-syntax tmpsymbol nil t ... paren-state) (if ... ...)) (if (eq char-after-= ip 123) (c-add-syntax ...))) ((save-excursion (or ... ...)) (c-backward-to-= decl-anchor lim) (back-to-indentation) (c-add-syntax (quote defun-block-int= ro) (point))) ((save-excursion (and ... ... ... ...)) (back-to-indentation)= (if (/=3D ... containing-sexp) (goto-char placeholder)) (c-add-stmt-syntax= (quote defun-block-intro) nil t lim paren-state)) (t (while (and ... ...))= (goto-char placeholder) (if (looking-at c-label-kwds-regexp) (c-add-syntax= ... ...) (goto-char containing-sexp) (c-add-stmt-syntax ... nil t lim pare= n-state)) (if (eq char-after-ip 123) (c-add-syntax ...)))))) (goto-char ind= ent-point) (skip-chars-forward " ") (when (and (looking-at c-comment-start= -regexp) (/=3D (c-forward-token-2 0 nil (c-point (quote eol))) 0)) (c-appen= d-syntax (quote comment-intro))) (when (and c-opt-friend-key (looking-at c-= opt-friend-key)) (c-append-syntax (quote friend))) (let ((p c-syntactic-con= text)) (while (and p (if (integerp (c-langelem-pos ...)) (progn (setq synta= ctic-relpos ...) nil) t)) (setq p (cdr p)))) (if (and macro-start (eq macro= -start (c-point (quote boi))) (not (and (c-major-mode-is (quote pike-mode))= (eq (char-after ...) 34)))) (c-append-syntax (quote cpp-macro)) (when (and= c-syntactic-indentation-in-macros macro-start) (if in-macro-expr (when (or= (< syntactic-relpos macro-start) (not ...)) (setq c-syntactic-context nil)= (c-add-syntax (quote cpp-macro-cont) macro-start)) (when (and (eq macro-st= art syntactic-relpos) (not ...) (save-excursion ... ...)) (c-add-syntax (qu= ote cpp-define-intro)))))) c-syntactic-context) (and (not modified) (buffer= -modified-p) (set-buffer-modified-p nil))) (let* ((modified (buffer-modified-p)) (buffer-undo-list t) (inhibit-read-= only t) (inhibit-point-motion-hooks t) before-change-functions after-change= -functions deactivate-mark buffer-file-name buffer-file-truename (indent-po= int (point)) (case-fold-search nil) literal char-before-ip before-ws-ip cha= r-after-ip macro-start in-macro-expr c-syntactic-context placeholder c-in-l= iteral-cache step-type tmpsymbol keyword injava-inher special-brace-list tm= p-pos containing-< containing-decl-open containing-decl-start containing-de= cl-kwd containing-sexp lim (paren-state (c-parse-state)) syntactic-relpos (= c-stmt-delim-chars c-stmt-delim-chars)) (unwind-protect (progn (when (and (= setq containing-sexp (c-most-enclosing-brace paren-state)) (progn (goto-cha= r containing-sexp) (eq (char-after) 123)) (setq placeholder (c-looking-at-d= ecl-block (c-most-enclosing-brace paren-state containing-sexp) t))) (setq c= ontaining-decl-open containing-sexp containing-decl-start (point) containin= g-sexp nil) (goto-char placeholder) (setq containing-decl-kwd (and (looking= -at c-keywords-regexp) (c-keyword-sym (match-string 1))))) (if c-state-cach= e (progn (setq containing-sexp (car paren-state) paren-state (cdr paren-sta= te)) (if (consp containing-sexp) (progn (setq lim ...) (if ... ... ...)) (s= etq lim (1+ containing-sexp)))) (setq lim (point-min))) (when (and containi= ng-sexp (eq (char-after containing-sexp) 40)) (setq c-stmt-delim-chars c-st= mt-delim-chars-with-comma)) (goto-char indent-point) (c-backward-syntactic-= ws lim) (setq before-ws-ip (point) char-before-ip (char-before)) (goto-char= indent-point) (skip-chars-forward " ") (setq char-after-ip (char-after)) = (setq literal (c-in-literal lim)) (cond ((eq literal (quote string)) (c-add= -syntax (quote string) (c-point (quote bopl)))) ((and (memq literal (quote = ...)) (setq placeholder (c-literal-limits lim))) (c-add-syntax literal (car= placeholder))) ((and (save-excursion (when ... ...)) (/=3D macro-start (c-= point ...)) (progn (setq tmpsymbol ...) (or ... ...))) (c-add-syntax tmpsym= bol macro-start) (setq macro-start nil)) ((looking-at "else\\>[^_]") (c-beg= inning-of-statement-1 containing-sexp) (c-add-stmt-syntax (quote else-claus= e) nil t containing-sexp paren-state)) ((and (looking-at "while\\>[^_]") (s= ave-excursion (prog1 ... ...))) (goto-char placeholder) (c-add-stmt-syntax = (quote do-while-closure) nil t containing-sexp paren-state)) ((save-excursi= on (and (cond ... ...) (and ... ... ... ...) (looking-at "\\(try\\|catch\\)= \\>[^_]") (setq placeholder ...))) (goto-char placeholder) (c-add-stmt-synt= ax (quote catch-clause) nil t containing-sexp paren-state)) ((save-excursio= n (and c-opt-block-stmt-key (not ...) (not ...) (not ...) (or ... ...) (> .= .. ...) (if ... ... ...))) (if (eq step-type (quote up)) (progn (goto-char = placeholder) (cond ... ... ...)) (c-guess-continued-construct indent-point = char-after-ip placeholder lim paren-state))) ((looking-at c-label-kwds-rege= xp) (if containing-sexp (progn (goto-char containing-sexp) (setq lim ...) (= c-backward-to-block-anchor lim) (c-add-stmt-syntax ... nil t lim paren-stat= e)) (c-add-syntax (quote case-label) (point-min)))) ((save-excursion (back-= to-indentation) (and (not ...) (c-forward-label))) (cond (containing-decl-o= pen (setq placeholder ...) (c-append-syntax ... placeholder)) (containing-s= exp (goto-char containing-sexp) (setq lim ...) (save-excursion ...) (c-back= ward-to-block-anchor lim) (c-add-stmt-syntax tmpsymbol nil t lim paren-stat= e)) (t (c-add-syntax ... ...)))) ((setq placeholder (c-looking-at-inexpr-bl= ock (c-safe-position containing-sexp paren-state) containing-sexp t)) (setq= tmpsymbol (assq (car placeholder) (quote ...))) (if tmpsymbol (setq tmpsym= bol (cdr tmpsymbol)) (setq tmpsymbol (if ... ... ...))) (goto-char (cdr pla= ceholder)) (back-to-indentation) (c-add-stmt-syntax tmpsymbol nil t (c-most= -enclosing-brace c-state-cache (point)) paren-state) (unless (eq (point) (c= dr placeholder)) (c-add-syntax (car placeholder)))) ((or containing-decl-op= en (null containing-sexp)) (cond ((setq special-brace-list ...) (cond ... .= .. ... ... ...)) ((save-excursion ...) (cond ... ... ...)) ((or ... ... ...= ) (cond ... ... ... ...)) ((save-excursion ... ...) (cond ... ... ...)) ((a= nd ... ...) (goto-char containing-decl-start) (c-add-stmt-syntax ... nil t = ... paren-state)) ((and containing-sexp ... ...) (c-add-class-syntax ... co= ntaining-decl-open containing-decl-start containing-decl-kwd paren-state)) = ((and c-recognize-knr-p ... ... ... ...) (goto-char placeholder) (c-add-syn= tax ... ...)) ((and c-opt-method-key ...) (c-beginning-of-statement-1 nil t= ) (if ... ...) (c-add-syntax ... ...)) ((c-major-mode-is ...) (setq placeho= lder ...) (c-add-stmt-syntax ... nil nil containing-sexp paren-state)) ((pr= ogn ... ...) (goto-char placeholder) (c-add-stmt-syntax ... nil nil contain= ing-sexp paren-state)) ((and ... ...) (goto-char placeholder) (c-add-syntax= ... ...) (if containing-decl-open ...) (when ... ... ...)) ((and c-opt-met= hod-key ...) (c-add-syntax ... placeholder)) ((and c-recognize-<>-arglists = ... ...) (c-beginning-of-statement-1 ...) (c-add-syntax ... ...)) (macro-st= art (c-beginning-of-statement-1 containing-sexp) (c-add-stmt-syntax ... nil= t containing-sexp paren-state)) ((and ... ... ... ... ...) (c-add-syntax .= .. ...)) (t (c-beginning-of-statement-1 ...) (when ... ... ... ...) (c-add-= syntax ... ...)))) ((not (or (and c-special-brace-lists ...) (eq ... 123)))= (cond ((memq char-after-ip ...) (goto-char containing-sexp) (setq placehol= der ...) (if ... ... ...) (c-add-stmt-syntax ... ... t ... paren-state)) ((= and c-recognize-<>-arglists ... ...) (setq placeholder ...) (goto-char cont= aining-sexp) (if ... ... ...) (c-add-stmt-syntax ... ... t ... paren-state)= ) ((and ... ...) (goto-char placeholder) (back-to-indentation) (c-add-stmt-= syntax ... nil t ... paren-state) (if ... ...)) ((memq char-before-ip ...) = (goto-char containing-sexp) (setq placeholder ...) (if ... ... ...) (c-add-= stmt-syntax ... ... t ... paren-state)) ((progn ... ...) (goto-char ...) (c= -forward-syntactic-ws indent-point) (if ... ... ...)) ((and c-opt-method-ke= y ... ...)) ((progn ... ...) (goto-char containing-sexp) (setq placeholder = ...) (if ... ... ...) (c-add-stmt-syntax ... ... t ... paren-state)) (t (c-= forward-syntactic-ws indent-point) (c-add-syntax ... ...)))) ((and (c-major= -mode-is (quote c++-mode)) (save-excursion (goto-char indent-point) (skip-c= hars-forward " ") (looking-at c-opt-postfix-decl-spec-key))) (goto-char in= dent-point) (skip-chars-forward " ") (cond ((eq char-after-ip 58) (c-backw= ard-syntactic-ws lim) (c-add-syntax ... ...)) ((eq char-before-ip 58) (c-ad= d-syntax ... ...)) (t (c-beginning-of-inheritance-list lim) (c-add-syntax .= .. ...)))) ((and (not (c-major-mode-is ...)) (setq special-brace-list (or .= .. ...))) (cond ((and ... ... ...) (goto-char ...) (skip-chars-backward " = ") (if ... ... ... ... ... ...)) ((if ... ... ...) (if ... ... ... ... ...)= ) (t (if ... ... ...) (forward-char) (let ... ... ...) (c-skip-ws-forward i= ndent-point) (cond ... ...)))) ((and (not (memq char-before-ip ...)) (not (= c-at-vsemi-p before-ws-ip)) (or (not ...) (c-looking-at-inexpr-block-backwa= rd c-state-cache)) (> (point) (save-excursion ... ...)) (/=3D placeholder c= ontaining-sexp)) (c-guess-continued-construct indent-point char-after-ip pl= aceholder containing-sexp paren-state)) ((eq char-after-ip 125) (setq lim (= c-most-enclosing-brace paren-state)) (goto-char containing-sexp) (cond ((c-= after-conditional) (c-backward-to-block-anchor lim) (c-add-stmt-syntax ... = nil t lim paren-state)) ((setq placeholder ...) (setq tmpsymbol ...) (goto-= char containing-sexp) (back-to-indentation) (if ... ... ... ... ... ...)) (= (save-excursion ...) (c-backward-to-decl-anchor lim) (back-to-indentation) = (if ... ... ...)) ((save-excursion ...) (back-to-indentation) (if ... ...) = (c-add-stmt-syntax ... nil t lim paren-state)) (lim (while ...) (goto-char = placeholder) (if ... ... ... ...)) (t (goto-char containing-sexp) (c-backwa= rd-to-decl-anchor lim) (c-add-stmt-syntax ... nil nil ... paren-state)))) (= t (goto-char indent-point) (while (let* (... ...) (if ... ... ... ...))) (c= ond ((and ... ...) (c-add-stmt-syntax ... nil nil containing-sexp paren-sta= te)) ((progn ... ...) (c-add-stmt-syntax ... nil t containing-sexp paren-st= ate)) ((progn ... ...) (c-add-stmt-syntax ... nil t containing-sexp paren-s= tate) (if ... ...)) ((progn ... ... ...) (c-backward-to-block-anchor lim) (= c-add-stmt-syntax ... nil t lim paren-state) (if ... ...)) ((setq placehold= er ...) (setq tmpsymbol ...) (back-to-indentation) (if ... ... ... ... ... = ...) (if ... ...)) ((save-excursion ...) (c-backward-to-decl-anchor lim) (b= ack-to-indentation) (c-add-syntax ... ...)) ((save-excursion ...) (back-to-= indentation) (if ... ...) (c-add-stmt-syntax ... nil t lim paren-state)) (t= (while ...) (goto-char placeholder) (if ... ... ... ...) (if ... ...))))) = (goto-char indent-point) (skip-chars-forward " ") (when (and (looking-at c= -comment-start-regexp) (/=3D (c-forward-token-2 0 nil (c-point ...)) 0)) (c= -append-syntax (quote comment-intro))) (when (and c-opt-friend-key (looking= -at c-opt-friend-key)) (c-append-syntax (quote friend))) (let ((p c-syntact= ic-context)) (while (and p (if (integerp ...) (progn ... nil) t)) (setq p (= cdr p)))) (if (and macro-start (eq macro-start (c-point (quote boi))) (not = (and (c-major-mode-is ...) (eq ... 34)))) (c-append-syntax (quote cpp-macro= )) (when (and c-syntactic-indentation-in-macros macro-start) (if in-macro-e= xpr (when (or ... ...) (setq c-syntactic-context nil) (c-add-syntax ... mac= ro-start)) (when (and ... ... ...) (c-add-syntax ...))))) c-syntactic-conte= xt) (and (not modified) (buffer-modified-p) (set-buffer-modified-p nil)))) (c-save-buffer-state ((indent-point (point)) (case-fold-search nil) liter= al char-before-ip before-ws-ip char-after-ip macro-start in-macro-expr c-sy= ntactic-context placeholder c-in-literal-cache step-type tmpsymbol keyword = injava-inher special-brace-list tmp-pos containing-< containing-decl-open c= ontaining-decl-start containing-decl-kwd containing-sexp lim (paren-state (= c-parse-state)) syntactic-relpos (c-stmt-delim-chars c-stmt-delim-chars)) (= when (and (setq containing-sexp (c-most-enclosing-brace paren-state)) (prog= n (goto-char containing-sexp) (eq (char-after) 123)) (setq placeholder (c-l= ooking-at-decl-block (c-most-enclosing-brace paren-state containing-sexp) t= ))) (setq containing-decl-open containing-sexp containing-decl-start (point= ) containing-sexp nil) (goto-char placeholder) (setq containing-decl-kwd (a= nd (looking-at c-keywords-regexp) (c-keyword-sym (match-string 1))))) (if c= -state-cache (progn (setq containing-sexp (car paren-state) paren-state (cd= r paren-state)) (if (consp containing-sexp) (progn (setq lim (cdr containin= g-sexp)) (if (cdr c-state-cache) (setq containing-sexp (car ...) paren-stat= e (cdr paren-state)) (setq paren-state (cons containing-sexp paren-state) c= ontaining-sexp nil))) (setq lim (1+ containing-sexp)))) (setq lim (point-mi= n))) (when (and containing-sexp (eq (char-after containing-sexp) 40)) (setq= c-stmt-delim-chars c-stmt-delim-chars-with-comma)) (goto-char indent-point= ) (c-backward-syntactic-ws lim) (setq before-ws-ip (point) char-before-ip (= char-before)) (goto-char indent-point) (skip-chars-forward " ") (setq char= -after-ip (char-after)) (setq literal (c-in-literal lim)) (cond ((eq litera= l (quote string)) (c-add-syntax (quote string) (c-point (quote bopl)))) ((a= nd (memq literal (quote (c c++))) (setq placeholder (c-literal-limits lim))= ) (c-add-syntax literal (car placeholder))) ((and (save-excursion (when (c-= beginning-of-macro) (setq macro-start (point)))) (/=3D macro-start (c-point= (quote boi))) (progn (setq tmpsymbol (quote cpp-macro-cont)) (or (not c-sy= ntactic-indentation-in-macros) (save-excursion (goto-char macro-start) (if = ... ... ... nil))))) (c-add-syntax tmpsymbol macro-start) (setq macro-start= nil)) ((looking-at "else\\>[^_]") (c-beginning-of-statement-1 containing-s= exp) (c-add-stmt-syntax (quote else-clause) nil t containing-sexp paren-sta= te)) ((and (looking-at "while\\>[^_]") (save-excursion (prog1 (eq (c-beginn= ing-of-statement-1 containing-sexp) (quote beginning)) (setq placeholder (p= oint))))) (goto-char placeholder) (c-add-stmt-syntax (quote do-while-closur= e) nil t containing-sexp paren-state)) ((save-excursion (and (cond ((c-majo= r-mode-is ...) (looking-at "catch\\>[^_]")) ((c-major-mode-is ...) (looking= -at "\\(catch\\|finally\\)\\>[^_]"))) (and (c-safe (c-backward-syntactic-ws= ) (c-backward-sexp) t) (eq (char-after) 123) (c-safe (c-backward-syntactic-= ws) (c-backward-sexp) t) (if (eq ... 40) (c-safe ... t) t)) (looking-at "\\= (try\\|catch\\)\\>[^_]") (setq placeholder (point)))) (goto-char placeholde= r) (c-add-stmt-syntax (quote catch-clause) nil t containing-sexp paren-stat= e)) ((save-excursion (and c-opt-block-stmt-key (not (eq char-before-ip 59))= (not (c-at-vsemi-p before-ws-ip)) (not (memq char-after-ip (quote ...))) (= or (not (eq char-before-ip 125)) (c-looking-at-inexpr-block-backward c-stat= e-cache)) (> (point) (progn (setq placeholder ...) (while ...) (if ... ... = ... ...) placeholder)) (if (looking-at c-block-stmt-2-key) (and (zerop ...)= (eq ... 40)) (looking-at c-opt-block-stmt-key)))) (if (eq step-type (quote= up)) (progn (goto-char placeholder) (cond ((eq char-after-ip 123) (c-add-s= tmt-syntax ... nil nil containing-sexp paren-state)) ((save-excursion ... .= .. ...) (c-add-stmt-syntax ... nil nil containing-sexp paren-state)) (t (c-= add-stmt-syntax ... nil nil containing-sexp paren-state)))) (c-guess-contin= ued-construct indent-point char-after-ip placeholder lim paren-state))) ((l= ooking-at c-label-kwds-regexp) (if containing-sexp (progn (goto-char contai= ning-sexp) (setq lim (c-most-enclosing-brace c-state-cache containing-sexp)= ) (c-backward-to-block-anchor lim) (c-add-stmt-syntax (quote case-label) ni= l t lim paren-state)) (c-add-syntax (quote case-label) (point-min)))) ((sav= e-excursion (back-to-indentation) (and (not (looking-at c-syntactic-ws-star= t)) (c-forward-label))) (cond (containing-decl-open (setq placeholder (c-ad= d-class-syntax (quote inclass) containing-decl-open containing-decl-start c= ontaining-decl-kwd paren-state)) (c-append-syntax (quote access-label) plac= eholder)) (containing-sexp (goto-char containing-sexp) (setq lim (c-most-en= closing-brace c-state-cache containing-sexp)) (save-excursion (setq tmpsymb= ol (if ... ... ...))) (c-backward-to-block-anchor lim) (c-add-stmt-syntax t= mpsymbol nil t lim paren-state)) (t (c-add-syntax (quote access-label) (poi= nt-min))))) ((setq placeholder (c-looking-at-inexpr-block (c-safe-position = containing-sexp paren-state) containing-sexp t)) (setq tmpsymbol (assq (car= placeholder) (quote ((inexpr-class . class-open) (inexpr-statement . block= -open))))) (if tmpsymbol (setq tmpsymbol (cdr tmpsymbol)) (setq tmpsymbol (= if (eq char-after-ip 123) (quote inline-open) (quote lambda-intro-cont)))) = (goto-char (cdr placeholder)) (back-to-indentation) (c-add-stmt-syntax tmps= ymbol nil t (c-most-enclosing-brace c-state-cache (point)) paren-state) (un= less (eq (point) (cdr placeholder)) (c-add-syntax (car placeholder)))) ((or= containing-decl-open (null containing-sexp)) (cond ((setq special-brace-li= st (or (and c-special-brace-lists ...) (eq char-after-ip 123))) (cond ((sav= e-excursion ...) (goto-char placeholder) (c-add-stmt-syntax ... nil t conta= ining-sexp paren-state)) ((save-excursion ... ... ...) (c-add-syntax ... pl= aceholder)) ((save-excursion ... ... ... ...) (if ... ... ...)) ((and conta= ining-decl-open ...) (c-add-syntax ...) (c-add-class-syntax ... containing-= decl-open containing-decl-start containing-decl-kwd paren-state)) (t (save-= excursion ... ... ...)))) ((save-excursion (when (setq placeholder ...) (se= tq tmp-pos ...))) (cond ((eq ... 58) (if ... ... ... ... ...)) ((and c-reco= gnize-knr-p ...) (c-beginning-of-statement-1 lim) (c-add-syntax ... ...) (i= f containing-decl-open ...)) (t (c-beginning-of-statement-1 lim) (c-add-syn= tax ... ...)))) ((or (and (c-major-mode-is ...) (progn ... ...)) (and (or .= .. ...) (save-excursion ... ... ... ...)) (and (c-major-mode-is ...) (let .= .. ... injava-inher) (not ...))) (cond ((eq char-after-ip 58) (c-beginning-= of-statement-1 lim) (c-add-syntax ... ...)) ((eq char-before-ip 58) (c-begi= nning-of-statement-1 lim) (c-add-syntax ... ...) (if containing-decl-open .= ..)) (injava-inher (let ... ... ...)) (t (c-beginning-of-inheritance-list l= im) (c-add-syntax ... ...)))) ((save-excursion (if c-recognize-<>-arglists = (while ...) (c-syntactic-skip-backward "^;,=3D" lim t)) (memq (char-before)= (quote ...))) (cond ((and ... ...) (c-with-syntax-table c++-template-synta= x-table ... ... ...) (c-add-syntax ... ... placeholder)) ((and ... ...) (go= to-char placeholder) (c-add-syntax ... ...)) (t (while ...) (c-add-stmt-syn= tax ... nil nil containing-sexp paren-state)))) ((and (eq char-after-ip 125= ) (c-keyword-member containing-decl-kwd (quote c-other-block-decl-kwds))) (= goto-char containing-decl-start) (c-add-stmt-syntax (if (string-equal ... "= extern") (quote extern-lang-close) (intern ...)) nil t (c-most-enclosing-br= ace paren-state (point)) paren-state)) ((and containing-sexp (eq char-after= -ip 125) (eq containing-decl-open containing-sexp)) (c-add-class-syntax (qu= ote class-close) containing-decl-open containing-decl-start containing-decl= -kwd paren-state)) ((and c-recognize-knr-p (not containing-sexp) (not (eq c= har-before-ip 125)) (save-excursion (setq placeholder ...) (and placeholder= ...)) (< placeholder indent-point)) (goto-char placeholder) (c-add-syntax = (quote knr-argdecl) (point))) ((and c-opt-method-key (looking-at c-opt-meth= od-key)) (c-beginning-of-statement-1 nil t) (if (=3D (point) indent-point) = (goto-char (point-min))) (c-add-syntax (quote objc-method-intro) (c-point (= quote boi)))) ((c-major-mode-is (quote awk-mode)) (setq placeholder (point)= ) (c-add-stmt-syntax (if (and ... ...) (quote topmost-intro-cont) (quote to= pmost-intro)) nil nil containing-sexp paren-state)) ((progn (c-backward-syn= tactic-ws lim) (and (eq ... 125) (save-excursion ...))) (goto-char placehol= der) (c-add-stmt-syntax (quote topmost-intro-cont) nil nil containing-sexp = paren-state)) ((and (not (and macro-start ...)) (save-excursion (setq place= holder ...) (or ... ... ... ...))) (goto-char placeholder) (c-add-syntax (q= uote topmost-intro) (c-point (quote bol))) (if containing-decl-open (if (c-= keyword-member containing-decl-kwd ...) (progn ... ...) (c-add-class-syntax= ... containing-decl-open containing-decl-start containing-decl-kwd paren-s= tate))) (when (and c-syntactic-indentation-in-macros macro-start (/=3D macr= o-start ...)) (c-add-syntax (quote cpp-define-intro)) (setq macro-start nil= ))) ((and c-opt-method-key (save-excursion (c-beginning-of-statement-1 lim)= (beginning-of-line) (when ... ...))) (c-add-syntax (quote objc-method-args= -cont) placeholder)) ((and c-recognize-<>-arglists (eq (char-before) 60) (n= ot (and c-overloadable-operators-regexp ...))) (c-beginning-of-statement-1 = (c-safe-position (point) paren-state)) (c-add-syntax (quote template-args-c= ont) (c-point (quote boi)))) (macro-start (c-beginning-of-statement-1 conta= ining-sexp) (c-add-stmt-syntax (quote statement) nil t containing-sexp pare= n-state)) ((and (c-major-mode-is (quote java-mode)) (setq placeholder (poin= t)) (c-beginning-of-statement-1) (progn (while ... ...) t) (prog1 (>=3D ...= placeholder) (goto-char placeholder))) (c-add-syntax (quote annotation-top= -cont) (c-point (quote boi)))) (t (c-beginning-of-statement-1 (c-safe-posit= ion (point) paren-state)) (when (c-major-mode-is (quote objc-mode)) (setq p= laceholder (point)) (while (and ... ...) (c-forward-syntactic-ws) (setq pla= ceholder ...)) (goto-char placeholder)) (c-add-syntax (quote topmost-intro-= cont) (c-point (quote boi)))))) ((not (or (and c-special-brace-lists (save-= excursion (goto-char containing-sexp) (c-looking-at-special-brace-list))) (= eq (char-after containing-sexp) 123))) (cond ((memq char-after-ip (quote (4= 1 93))) (goto-char containing-sexp) (setq placeholder (c-point (quote boi))= ) (if (and (c-safe ... t) (>=3D ... placeholder)) (progn (forward-char) (sk= ip-chars-forward " ")) (goto-char placeholder)) (c-add-stmt-syntax (quote = arglist-close) (list containing-sexp) t (c-most-enclosing-brace paren-state= (point)) paren-state)) ((and c-recognize-<>-arglists (setq containing-< (c= -up-list-backward indent-point containing-sexp)) (eq (char-after containing= -<) 60)) (setq placeholder (c-point (quote boi) containing-<)) (goto-char c= ontaining-sexp) (if (>=3D (point) placeholder) (progn (forward-char) (skip-= chars-forward " ")) (goto-char placeholder)) (c-add-stmt-syntax (quote tem= plate-args-cont) (list containing-<) t (c-most-enclosing-brace c-state-cach= e (point)) paren-state)) ((and (eq char-after-ip 123) (progn (setq placehol= der ...) (if placeholder ... ...))) (goto-char placeholder) (back-to-indent= ation) (c-add-stmt-syntax (car tmpsymbol) nil t (c-most-enclosing-brace par= en-state (point)) paren-state) (if (/=3D (point) placeholder) (c-add-syntax= (cdr tmpsymbol)))) ((memq char-before-ip (quote (40 91))) (goto-char conta= ining-sexp) (setq placeholder (c-point (quote boi))) (if (and (c-safe ... t= ) (>=3D ... placeholder)) (progn (forward-char) (skip-chars-forward " ")) = (goto-char placeholder)) (c-add-stmt-syntax (quote arglist-intro) (list con= taining-sexp) t (c-most-enclosing-brace paren-state (point)) paren-state)) = ((progn (goto-char containing-sexp) (and (c-safe ... t) (looking-at "\\[^_]"))) (goto-char (1+ containing-sexp)) (c-forward-syntactic-ws indent= -point) (if (eq char-before-ip 59) (c-add-syntax (quote statement) (point))= (c-add-syntax (quote statement-cont) (point)))) ((and c-opt-method-key (eq= (char-after containing-sexp) 91) (progn (goto-char ...) (c-backward-syntac= tic-ws ...) (if ... ...)))) ((progn (goto-char (1+ containing-sexp)) (< (sa= ve-excursion ... ...) (c-point ...))) (goto-char containing-sexp) (setq pla= ceholder (c-point (quote boi))) (if (and (c-safe ... t) (>=3D ... placehold= er)) (progn (forward-char) (skip-chars-forward " ")) (goto-char placeholde= r)) (c-add-stmt-syntax (quote arglist-cont-nonempty) (list containing-sexp)= t (c-most-enclosing-brace c-state-cache (point)) paren-state)) (t (c-forwa= rd-syntactic-ws indent-point) (c-add-syntax (quote arglist-cont) (c-point (= quote boi)))))) ((and (c-major-mode-is (quote c++-mode)) (save-excursion (g= oto-char indent-point) (skip-chars-forward " ") (looking-at c-opt-postfix-= decl-spec-key))) (goto-char indent-point) (skip-chars-forward " ") (cond (= (eq char-after-ip 58) (c-backward-syntactic-ws lim) (c-add-syntax (quote in= her-intro) (c-point (quote boi)))) ((eq char-before-ip 58) (c-add-syntax (q= uote inher-intro) (c-point (quote boi)))) (t (c-beginning-of-inheritance-li= st lim) (c-add-syntax (quote inher-cont) (point))))) ((and (not (c-major-mo= de-is (quote awk-mode))) (setq special-brace-list (or (and c-special-brace-= lists (save-excursion ... ...)) (c-inside-bracelist-p containing-sexp paren= -state)))) (cond ((and (consp special-brace-list) (save-excursion (goto-cha= r containing-sexp) (eq ... 40)) (eq char-after-ip (car ...))) (goto-char (c= ar (car special-brace-list))) (skip-chars-backward " ") (if (and (bolp) (a= ssoc ... ...)) (setq c-syntactic-context placeholder) (c-beginning-of-state= ment-1 (c-safe-position ... paren-state)) (c-forward-token-2 0) (while (loo= king-at c-specifier-key) (goto-char ...) (c-forward-syntactic-ws)) (c-add-s= yntax (quote brace-list-open) (c-point ...)))) ((if (consp special-brace-li= st) (progn (goto-char ...) (save-excursion ... ... ...)) (and (eq char-afte= r-ip 125) (c-safe ... t) (=3D ... containing-sexp))) (if (eq (point) (c-poi= nt ...)) (c-add-syntax (quote brace-list-close) (point)) (setq lim (c-most-= enclosing-brace c-state-cache ...)) (c-beginning-of-statement-1 lim) (c-add= -stmt-syntax (quote brace-list-close) nil t lim paren-state))) (t (if (cons= p special-brace-list) (progn (goto-char ...) (c-forward-token-2 1 nil inden= t-point)) (goto-char containing-sexp)) (forward-char) (let ((start ...)) (c= -forward-syntactic-ws indent-point) (goto-char (max start ...))) (c-skip-ws= -forward indent-point) (cond ((=3D ... indent-point) (if ... ... ...) (if .= .. ... ... ... ...)) (t (if ... ... ...)))))) ((and (not (memq char-before-= ip (quote (59 58)))) (not (c-at-vsemi-p before-ws-ip)) (or (not (eq char-be= fore-ip 125)) (c-looking-at-inexpr-block-backward c-state-cache)) (> (point= ) (save-excursion (c-beginning-of-statement-1 containing-sexp) (setq placeh= older (point)))) (/=3D placeholder containing-sexp)) (c-guess-continued-con= struct indent-point char-after-ip placeholder containing-sexp paren-state))= ((eq char-after-ip 125) (setq lim (c-most-enclosing-brace paren-state)) (g= oto-char containing-sexp) (cond ((c-after-conditional) (c-backward-to-block= -anchor lim) (c-add-stmt-syntax (quote block-close) nil t lim paren-state))= ((setq placeholder (c-looking-at-inexpr-block (c-safe-position containing-= sexp paren-state) nil)) (setq tmpsymbol (if (eq ... ...) (quote inline-clos= e) (quote block-close))) (goto-char containing-sexp) (back-to-indentation) = (if (=3D containing-sexp (point)) (c-add-syntax tmpsymbol (point)) (goto-ch= ar (cdr placeholder)) (back-to-indentation) (c-add-stmt-syntax tmpsymbol ni= l t (c-most-enclosing-brace paren-state ...) paren-state) (if (/=3D ... ...= ) (c-add-syntax ...)))) ((save-excursion (and lim (progn ... ...) (setq pla= ceholder ...))) (c-backward-to-decl-anchor lim) (back-to-indentation) (if (= save-excursion (goto-char placeholder) (looking-at c-other-decl-block-key))= (c-add-syntax (quote defun-close) (point)) (c-add-syntax (quote inline-clo= se) (point)))) ((save-excursion (and (not ...) (eq ... ...) (setq placehold= er ...) (let ... ...))) (back-to-indentation) (if (/=3D (point) containing-= sexp) (goto-char placeholder)) (c-add-stmt-syntax (quote defun-close) nil t= lim paren-state)) (lim (while (and (/=3D ... ...) (eq ... ...))) (goto-cha= r placeholder) (if (looking-at c-label-kwds-regexp) (c-add-syntax (quote bl= ock-close) (point)) (goto-char containing-sexp) (c-add-stmt-syntax (quote b= lock-close) nil t lim paren-state))) (t (goto-char containing-sexp) (c-back= ward-to-decl-anchor lim) (c-add-stmt-syntax (quote defun-close) nil nil (c-= most-enclosing-brace paren-state) paren-state)))) (t (goto-char indent-poin= t) (while (let* ((prev-point (point)) (last-step-type (c-beginning-of-state= ment-1 containing-sexp))) (if (=3D (point) prev-point) (progn (setq step-ty= pe ...) nil) (setq step-type last-step-type) (/=3D (point) (c-point ...))))= ) (cond ((and (eq step-type (quote same)) (/=3D (point) indent-point)) (c-a= dd-stmt-syntax (quote statement-cont) nil nil containing-sexp paren-state))= ((progn (while (and ... ...) (setq step-type ...)) (eq step-type (quote la= bel))) (c-add-stmt-syntax (if (eq char-after-ip 123) (quote statement-case-= open) (quote statement-case-intro)) nil t containing-sexp paren-state)) ((p= rogn (while (eq step-type ...) (setq step-type ...)) (eq step-type (quote p= revious))) (c-add-stmt-syntax (quote statement) nil t containing-sexp paren= -state) (if (eq char-after-ip 123) (c-add-syntax (quote block-open)))) ((pr= ogn (goto-char containing-sexp) (setq lim (c-most-enclosing-brace paren-sta= te containing-sexp)) (c-after-conditional)) (c-backward-to-block-anchor lim= ) (c-add-stmt-syntax (quote statement-block-intro) nil t lim paren-state) (= if (eq char-after-ip 123) (c-add-syntax (quote block-open)))) ((setq placeh= older (c-looking-at-inexpr-block (c-safe-position containing-sexp paren-sta= te) nil)) (setq tmpsymbol (if (eq ... ...) (quote defun-block-intro) (quote= statement-block-intro))) (back-to-indentation) (if (=3D containing-sexp (p= oint)) (c-add-syntax tmpsymbol (point)) (goto-char (cdr placeholder)) (back= -to-indentation) (c-add-stmt-syntax tmpsymbol nil t (c-most-enclosing-brace= c-state-cache ...) paren-state) (if (/=3D ... ...) (c-add-syntax ...))) (i= f (eq char-after-ip 123) (c-add-syntax (quote block-open)))) ((save-excursi= on (or (not ...) (and ... ...))) (c-backward-to-decl-anchor lim) (back-to-i= ndentation) (c-add-syntax (quote defun-block-intro) (point))) ((save-excurs= ion (and (not ...) (eq ... ...) (setq placeholder ...) (let ... ...))) (bac= k-to-indentation) (if (/=3D (point) containing-sexp) (goto-char placeholder= )) (c-add-stmt-syntax (quote defun-block-intro) nil t lim paren-state)) (t = (while (and (/=3D ... ...) (eq ... ...))) (goto-char placeholder) (if (look= ing-at c-label-kwds-regexp) (c-add-syntax (quote statement-block-intro) (po= int)) (goto-char containing-sexp) (c-add-stmt-syntax (quote statement-block= -intro) nil t lim paren-state)) (if (eq char-after-ip 123) (c-add-syntax (q= uote block-open))))))) (goto-char indent-point) (skip-chars-forward " ") (= when (and (looking-at c-comment-start-regexp) (/=3D (c-forward-token-2 0 ni= l (c-point (quote eol))) 0)) (c-append-syntax (quote comment-intro))) (when= (and c-opt-friend-key (looking-at c-opt-friend-key)) (c-append-syntax (quo= te friend))) (let ((p c-syntactic-context)) (while (and p (if (integerp (c-= langelem-pos (car p))) (progn (setq syntactic-relpos (c-langelem-pos ...)) = nil) t)) (setq p (cdr p)))) (if (and macro-start (eq macro-start (c-point (= quote boi))) (not (and (c-major-mode-is (quote pike-mode)) (eq (char-after = (1+ macro-start)) 34)))) (c-append-syntax (quote cpp-macro)) (when (and c-s= yntactic-indentation-in-macros macro-start) (if in-macro-expr (when (or (< = syntactic-relpos macro-start) (not (or ... ... ... ...))) (setq c-syntactic= -context nil) (c-add-syntax (quote cpp-macro-cont) macro-start)) (when (and= (eq macro-start syntactic-relpos) (not (assq ... c-syntactic-context)) (sa= ve-excursion (goto-char macro-start) (or ... ...))) (c-add-syntax (quote cp= p-define-intro)))))) c-syntactic-context) (save-excursion (beginning-of-line) (c-save-buffer-state ((indent-point (= point)) (case-fold-search nil) literal char-before-ip before-ws-ip char-aft= er-ip macro-start in-macro-expr c-syntactic-context placeholder c-in-litera= l-cache step-type tmpsymbol keyword injava-inher special-brace-list tmp-pos= containing-< containing-decl-open containing-decl-start containing-decl-kw= d containing-sexp lim (paren-state (c-parse-state)) syntactic-relpos (c-stm= t-delim-chars c-stmt-delim-chars)) (when (and (setq containing-sexp (c-most= -enclosing-brace paren-state)) (progn (goto-char containing-sexp) (eq (char= -after) 123)) (setq placeholder (c-looking-at-decl-block (c-most-enclosing-= brace paren-state containing-sexp) t))) (setq containing-decl-open containi= ng-sexp containing-decl-start (point) containing-sexp nil) (goto-char place= holder) (setq containing-decl-kwd (and (looking-at c-keywords-regexp) (c-ke= yword-sym (match-string 1))))) (if c-state-cache (progn (setq containing-se= xp (car paren-state) paren-state (cdr paren-state)) (if (consp containing-s= exp) (progn (setq lim (cdr containing-sexp)) (if (cdr c-state-cache) (setq = containing-sexp ... paren-state ...) (setq paren-state ... containing-sexp = nil))) (setq lim (1+ containing-sexp)))) (setq lim (point-min))) (when (and= containing-sexp (eq (char-after containing-sexp) 40)) (setq c-stmt-delim-c= hars c-stmt-delim-chars-with-comma)) (goto-char indent-point) (c-backward-s= yntactic-ws lim) (setq before-ws-ip (point) char-before-ip (char-before)) (= goto-char indent-point) (skip-chars-forward " ") (setq char-after-ip (char= -after)) (setq literal (c-in-literal lim)) (cond ((eq literal (quote string= )) (c-add-syntax (quote string) (c-point (quote bopl)))) ((and (memq litera= l (quote (c c++))) (setq placeholder (c-literal-limits lim))) (c-add-syntax= literal (car placeholder))) ((and (save-excursion (when (c-beginning-of-ma= cro) (setq macro-start ...))) (/=3D macro-start (c-point (quote boi))) (pro= gn (setq tmpsymbol (quote cpp-macro-cont)) (or (not c-syntactic-indentation= -in-macros) (save-excursion ... ...)))) (c-add-syntax tmpsymbol macro-start= ) (setq macro-start nil)) ((looking-at "else\\>[^_]") (c-beginning-of-state= ment-1 containing-sexp) (c-add-stmt-syntax (quote else-clause) nil t contai= ning-sexp paren-state)) ((and (looking-at "while\\>[^_]") (save-excursion (= prog1 (eq ... ...) (setq placeholder ...)))) (goto-char placeholder) (c-add= -stmt-syntax (quote do-while-closure) nil t containing-sexp paren-state)) (= (save-excursion (and (cond (... ...) (... ...)) (and (c-safe ... ... t) (eq= ... 123) (c-safe ... ... t) (if ... ... t)) (looking-at "\\(try\\|catch\\)= \\>[^_]") (setq placeholder (point)))) (goto-char placeholder) (c-add-stmt-= syntax (quote catch-clause) nil t containing-sexp paren-state)) ((save-excu= rsion (and c-opt-block-stmt-key (not (eq char-before-ip 59)) (not (c-at-vse= mi-p before-ws-ip)) (not (memq char-after-ip ...)) (or (not ...) (c-looking= -at-inexpr-block-backward c-state-cache)) (> (point) (progn ... ... ... pla= ceholder)) (if (looking-at c-block-stmt-2-key) (and ... ...) (looking-at c-= opt-block-stmt-key)))) (if (eq step-type (quote up)) (progn (goto-char plac= eholder) (cond (... ...) (... ...) (t ...))) (c-guess-continued-construct i= ndent-point char-after-ip placeholder lim paren-state))) ((looking-at c-lab= el-kwds-regexp) (if containing-sexp (progn (goto-char containing-sexp) (set= q lim (c-most-enclosing-brace c-state-cache containing-sexp)) (c-backward-t= o-block-anchor lim) (c-add-stmt-syntax (quote case-label) nil t lim paren-s= tate)) (c-add-syntax (quote case-label) (point-min)))) ((save-excursion (ba= ck-to-indentation) (and (not (looking-at c-syntactic-ws-start)) (c-forward-= label))) (cond (containing-decl-open (setq placeholder (c-add-class-syntax = ... containing-decl-open containing-decl-start containing-decl-kwd paren-st= ate)) (c-append-syntax (quote access-label) placeholder)) (containing-sexp = (goto-char containing-sexp) (setq lim (c-most-enclosing-brace c-state-cache= containing-sexp)) (save-excursion (setq tmpsymbol ...)) (c-backward-to-blo= ck-anchor lim) (c-add-stmt-syntax tmpsymbol nil t lim paren-state)) (t (c-a= dd-syntax (quote access-label) (point-min))))) ((setq placeholder (c-lookin= g-at-inexpr-block (c-safe-position containing-sexp paren-state) containing-= sexp t)) (setq tmpsymbol (assq (car placeholder) (quote (... ...)))) (if tm= psymbol (setq tmpsymbol (cdr tmpsymbol)) (setq tmpsymbol (if (eq char-after= -ip 123) (quote inline-open) (quote lambda-intro-cont)))) (goto-char (cdr p= laceholder)) (back-to-indentation) (c-add-stmt-syntax tmpsymbol nil t (c-mo= st-enclosing-brace c-state-cache (point)) paren-state) (unless (eq (point) = (cdr placeholder)) (c-add-syntax (car placeholder)))) ((or containing-decl-= open (null containing-sexp)) (cond ((setq special-brace-list (or ... ...)) = (cond (... ... ...) (... ...) (... ...) (... ... ...) (t ...))) ((save-excu= rsion (when ... ...)) (cond (... ...) (... ... ... ...) (t ... ...))) ((or = (and ... ...) (and ... ...) (and ... ... ...)) (cond (... ... ...) (... ...= ... ...) (injava-inher ...) (t ... ...))) ((save-excursion (if c-recognize= -<>-arglists ... ...) (memq ... ...)) (cond (... ... ...) (... ... ...) (t = ... ...))) ((and (eq char-after-ip 125) (c-keyword-member containing-decl-k= wd ...)) (goto-char containing-decl-start) (c-add-stmt-syntax (if ... ... .= ..) nil t (c-most-enclosing-brace paren-state ...) paren-state)) ((and cont= aining-sexp (eq char-after-ip 125) (eq containing-decl-open containing-sexp= )) (c-add-class-syntax (quote class-close) containing-decl-open containing-= decl-start containing-decl-kwd paren-state)) ((and c-recognize-knr-p (not c= ontaining-sexp) (not ...) (save-excursion ... ...) (< placeholder indent-po= int)) (goto-char placeholder) (c-add-syntax (quote knr-argdecl) (point))) (= (and c-opt-method-key (looking-at c-opt-method-key)) (c-beginning-of-statem= ent-1 nil t) (if (=3D ... indent-point) (goto-char ...)) (c-add-syntax (quo= te objc-method-intro) (c-point ...))) ((c-major-mode-is (quote awk-mode)) (= setq placeholder (point)) (c-add-stmt-syntax (if ... ... ...) nil nil conta= ining-sexp paren-state)) ((progn (c-backward-syntactic-ws lim) (and ... ...= )) (goto-char placeholder) (c-add-stmt-syntax (quote topmost-intro-cont) ni= l nil containing-sexp paren-state)) ((and (not ...) (save-excursion ... ...= )) (goto-char placeholder) (c-add-syntax (quote topmost-intro) (c-point ...= )) (if containing-decl-open (if ... ... ...)) (when (and c-syntactic-indent= ation-in-macros macro-start ...) (c-add-syntax ...) (setq macro-start nil))= ) ((and c-opt-method-key (save-excursion ... ... ...)) (c-add-syntax (quote= objc-method-args-cont) placeholder)) ((and c-recognize-<>-arglists (eq ...= 60) (not ...)) (c-beginning-of-statement-1 (c-safe-position ... paren-stat= e)) (c-add-syntax (quote template-args-cont) (c-point ...))) (macro-start (= c-beginning-of-statement-1 containing-sexp) (c-add-stmt-syntax (quote state= ment) nil t containing-sexp paren-state)) ((and (c-major-mode-is ...) (setq= placeholder ...) (c-beginning-of-statement-1) (progn ... t) (prog1 ... ...= )) (c-add-syntax (quote annotation-top-cont) (c-point ...))) (t (c-beginnin= g-of-statement-1 (c-safe-position ... paren-state)) (when (c-major-mode-is = ...) (setq placeholder ...) (while ... ... ...) (goto-char placeholder)) (c= -add-syntax (quote topmost-intro-cont) (c-point ...))))) ((not (or (and c-s= pecial-brace-lists (save-excursion ... ...)) (eq (char-after containing-sex= p) 123))) (cond ((memq char-after-ip (quote ...)) (goto-char containing-sex= p) (setq placeholder (c-point ...)) (if (and ... ...) (progn ... ...) (goto= -char placeholder)) (c-add-stmt-syntax (quote arglist-close) (list containi= ng-sexp) t (c-most-enclosing-brace paren-state ...) paren-state)) ((and c-r= ecognize-<>-arglists (setq containing-< ...) (eq ... 60)) (setq placeholder= (c-point ... containing-<)) (goto-char containing-sexp) (if (>=3D ... plac= eholder) (progn ... ...) (goto-char placeholder)) (c-add-stmt-syntax (quote= template-args-cont) (list containing-<) t (c-most-enclosing-brace c-state-= cache ...) paren-state)) ((and (eq char-after-ip 123) (progn ... ...)) (got= o-char placeholder) (back-to-indentation) (c-add-stmt-syntax (car tmpsymbol= ) nil t (c-most-enclosing-brace paren-state ...) paren-state) (if (/=3D ...= placeholder) (c-add-syntax ...))) ((memq char-before-ip (quote ...)) (goto= -char containing-sexp) (setq placeholder (c-point ...)) (if (and ... ...) (= progn ... ...) (goto-char placeholder)) (c-add-stmt-syntax (quote arglist-i= ntro) (list containing-sexp) t (c-most-enclosing-brace paren-state ...) par= en-state)) ((progn (goto-char containing-sexp) (and ... ...)) (goto-char (1= + containing-sexp)) (c-forward-syntactic-ws indent-point) (if (eq char-befo= re-ip 59) (c-add-syntax ... ...) (c-add-syntax ... ...))) ((and c-opt-metho= d-key (eq ... 91) (progn ... ... ...))) ((progn (goto-char ...) (< ... ...)= ) (goto-char containing-sexp) (setq placeholder (c-point ...)) (if (and ...= ...) (progn ... ...) (goto-char placeholder)) (c-add-stmt-syntax (quote ar= glist-cont-nonempty) (list containing-sexp) t (c-most-enclosing-brace c-sta= te-cache ...) paren-state)) (t (c-forward-syntactic-ws indent-point) (c-add= -syntax (quote arglist-cont) (c-point ...))))) ((and (c-major-mode-is (quot= e c++-mode)) (save-excursion (goto-char indent-point) (skip-chars-forward "= ") (looking-at c-opt-postfix-decl-spec-key))) (goto-char indent-point) (s= kip-chars-forward " ") (cond ((eq char-after-ip 58) (c-backward-syntactic-= ws lim) (c-add-syntax (quote inher-intro) (c-point ...))) ((eq char-before-= ip 58) (c-add-syntax (quote inher-intro) (c-point ...))) (t (c-beginning-of= -inheritance-list lim) (c-add-syntax (quote inher-cont) (point))))) ((and (= not (c-major-mode-is (quote awk-mode))) (setq special-brace-list (or (and c= -special-brace-lists ...) (c-inside-bracelist-p containing-sexp paren-state= )))) (cond ((and (consp special-brace-list) (save-excursion ... ...) (eq ch= ar-after-ip ...)) (goto-char (car ...)) (skip-chars-backward " ") (if (and= ... ...) (setq c-syntactic-context placeholder) (c-beginning-of-statement-= 1 ...) (c-forward-token-2 0) (while ... ... ...) (c-add-syntax ... ...))) (= (if (consp special-brace-list) (progn ... ...) (and ... ... ...)) (if (eq .= .. ...) (c-add-syntax ... ...) (setq lim ...) (c-beginning-of-statement-1 l= im) (c-add-stmt-syntax ... nil t lim paren-state))) (t (if (consp special-b= race-list) (progn ... ...) (goto-char containing-sexp)) (forward-char) (let= (...) (c-forward-syntactic-ws indent-point) (goto-char ...)) (c-skip-ws-fo= rward indent-point) (cond (... ... ...) (t ...))))) ((and (not (memq char-b= efore-ip (quote ...))) (not (c-at-vsemi-p before-ws-ip)) (or (not (eq char-= before-ip 125)) (c-looking-at-inexpr-block-backward c-state-cache)) (> (poi= nt) (save-excursion (c-beginning-of-statement-1 containing-sexp) (setq plac= eholder ...))) (/=3D placeholder containing-sexp)) (c-guess-continued-const= ruct indent-point char-after-ip placeholder containing-sexp paren-state)) (= (eq char-after-ip 125) (setq lim (c-most-enclosing-brace paren-state)) (got= o-char containing-sexp) (cond ((c-after-conditional) (c-backward-to-block-a= nchor lim) (c-add-stmt-syntax (quote block-close) nil t lim paren-state)) (= (setq placeholder (c-looking-at-inexpr-block ... nil)) (setq tmpsymbol (if = ... ... ...)) (goto-char containing-sexp) (back-to-indentation) (if (=3D co= ntaining-sexp ...) (c-add-syntax tmpsymbol ...) (goto-char ...) (back-to-in= dentation) (c-add-stmt-syntax tmpsymbol nil t ... paren-state) (if ... ...)= )) ((save-excursion (and lim ... ...)) (c-backward-to-decl-anchor lim) (bac= k-to-indentation) (if (save-excursion ... ...) (c-add-syntax ... ...) (c-ad= d-syntax ... ...))) ((save-excursion (and ... ... ... ...)) (back-to-indent= ation) (if (/=3D ... containing-sexp) (goto-char placeholder)) (c-add-stmt-= syntax (quote defun-close) nil t lim paren-state)) (lim (while (and ... ...= )) (goto-char placeholder) (if (looking-at c-label-kwds-regexp) (c-add-synt= ax ... ...) (goto-char containing-sexp) (c-add-stmt-syntax ... nil t lim pa= ren-state))) (t (goto-char containing-sexp) (c-backward-to-decl-anchor lim)= (c-add-stmt-syntax (quote defun-close) nil nil (c-most-enclosing-brace par= en-state) paren-state)))) (t (goto-char indent-point) (while (let* ((prev-p= oint ...) (last-step-type ...)) (if (=3D ... prev-point) (progn ... nil) (s= etq step-type last-step-type) (/=3D ... ...)))) (cond ((and (eq step-type .= ..) (/=3D ... indent-point)) (c-add-stmt-syntax (quote statement-cont) nil = nil containing-sexp paren-state)) ((progn (while ... ...) (eq step-type ...= )) (c-add-stmt-syntax (if ... ... ...) nil t containing-sexp paren-state)) = ((progn (while ... ...) (eq step-type ...)) (c-add-stmt-syntax (quote state= ment) nil t containing-sexp paren-state) (if (eq char-after-ip 123) (c-add-= syntax ...))) ((progn (goto-char containing-sexp) (setq lim ...) (c-after-c= onditional)) (c-backward-to-block-anchor lim) (c-add-stmt-syntax (quote sta= tement-block-intro) nil t lim paren-state) (if (eq char-after-ip 123) (c-ad= d-syntax ...))) ((setq placeholder (c-looking-at-inexpr-block ... nil)) (se= tq tmpsymbol (if ... ... ...)) (back-to-indentation) (if (=3D containing-se= xp ...) (c-add-syntax tmpsymbol ...) (goto-char ...) (back-to-indentation) = (c-add-stmt-syntax tmpsymbol nil t ... paren-state) (if ... ...)) (if (eq c= har-after-ip 123) (c-add-syntax ...))) ((save-excursion (or ... ...)) (c-ba= ckward-to-decl-anchor lim) (back-to-indentation) (c-add-syntax (quote defun= -block-intro) (point))) ((save-excursion (and ... ... ... ...)) (back-to-in= dentation) (if (/=3D ... containing-sexp) (goto-char placeholder)) (c-add-s= tmt-syntax (quote defun-block-intro) nil t lim paren-state)) (t (while (and= ... ...)) (goto-char placeholder) (if (looking-at c-label-kwds-regexp) (c-= add-syntax ... ...) (goto-char containing-sexp) (c-add-stmt-syntax ... nil = t lim paren-state)) (if (eq char-after-ip 123) (c-add-syntax ...)))))) (got= o-char indent-point) (skip-chars-forward " ") (when (and (looking-at c-com= ment-start-regexp) (/=3D (c-forward-token-2 0 nil (c-point (quote eol))) 0)= ) (c-append-syntax (quote comment-intro))) (when (and c-opt-friend-key (loo= king-at c-opt-friend-key)) (c-append-syntax (quote friend))) (let ((p c-syn= tactic-context)) (while (and p (if (integerp (c-langelem-pos ...)) (progn (= setq syntactic-relpos ...) nil) t)) (setq p (cdr p)))) (if (and macro-start= (eq macro-start (c-point (quote boi))) (not (and (c-major-mode-is (quote p= ike-mode)) (eq (char-after ...) 34)))) (c-append-syntax (quote cpp-macro)) = (when (and c-syntactic-indentation-in-macros macro-start) (if in-macro-expr= (when (or (< syntactic-relpos macro-start) (not ...)) (setq c-syntactic-co= ntext nil) (c-add-syntax (quote cpp-macro-cont) macro-start)) (when (and (e= q macro-start syntactic-relpos) (not ...) (save-excursion ... ...)) (c-add-= syntax (quote cpp-define-intro)))))) c-syntactic-context)) c-guess-basic-syntax() c-indent-line() #[nil "\302\303 !\210\304>\203.\212\305 \210\306\307x\210\305 \210\310 )= i\310 X\203'\311 !\202,\212\311 !))\207 \207" [indent-line-function column= syntax-propertize line-end-position (indent-relative indent-relative-maybe= ) beginning-of-line "\n " nil current-indentation indent-line-to] 2 192907= 0 nil]() c-indent-command(nil) c-indent-line-or-region(nil nil) call-interactively(c-indent-line-or-region nil nil) C variables are: (setq c-basic-offset 4 c-comment-only-line-offset '(0 . 0) c-indent-comment-alist '((anchored-comment column . 0) (end-block space . = 1) (cpp-end-block space . 2)) c-indent-comments-syntactically-p nil c-block-comment-prefix "* " c-comment-prefix-regexp '((pike-mode . "//+!?\\|\\**") (awk-mode . "#+") (other . "//+\\|\\**")) c-doc-comment-style '((java-mode . javadoc) (pike-mode . autodoc) (c-mode . gtkdoc)) c-cleanup-list '(scope-operator) c-hanging-braces-alist '((substatement-open before after) (arglist-cont-nonempty)) c-hanging-colons-alist nil c-hanging-semi&comma-criteria '(c-semi&comma-inside-parenlist) c-backslash-column 48 c-backslash-max-column 72 c-special-indent-hook '(c-gnu-impose-minimum) c-label-minimum-indentation 1 c-offsets-alist '((inexpr-class . +) (inexpr-statement . +) (lambda-intro-cont . +) (inlambda . c-lineup-inexpr-block) (template-args-cont c-lineup-template-args +) (incomposition . +) (inmodule . +) (innamespace . +) (inextern-lang . +) (composition-close . 0) (module-close . 0) (namespace-close . 0) (extern-lang-close . 0) (composition-open . 0) (module-open . 0) (namespace-open . 0) (extern-lang-open . 0) (objc-method-call-cont c-lineup-ObjC-method-call-colons c-lineup-ObjC-method-call + ) (objc-method-args-cont . c-lineup-ObjC-method-args) (objc-method-intro . [0]) (friend . 0) (cpp-define-intro c-lineup-cpp-define +) (cpp-macro-cont . +) (cpp-macro . [0]) (inclass . +) (stream-op . c-lineup-streamop) (arglist-cont-nonempty c-lineup-gcc-asm-reg c-lineup-arglist ) (arglist-cont c-lineup-gcc-asm-reg 0) (comment-intro c-lineup-knr-region-comment c-lineup-comment ) (catch-clause . 0) (else-clause . 0) (do-while-closure . 0) (access-label . -) (case-label . *) (substatement . +) (statement-case-intro . *) (statement . 0) (brace-entry-open . 0) (brace-list-entry . 0) (brace-list-intro . +) (brace-list-close . 0) (block-close . 0) (block-open . 0) (inher-cont . c-lineup-multi-inher) (inher-intro . +) (member-init-cont . c-lineup-multi-inher) (member-init-intro . +) (annotation-var-cont . +) (annotation-top-cont . 0) (topmost-intro . 0) (knr-argdecl . 0) (func-decl-cont . +) (inline-close . 0) (class-close . 0) (class-open . 0) (defun-block-intro . +) (defun-close . 0) (defun-open . 0) (c . c-lineup-C-comments) (string . c-lineup-dont-change) (topmost-intro-cont first c-lineup-topmost-intro-cont c-lineup-gnu-DEFUN-intro-cont ) (brace-list-open . +) (inline-open . 0) (arglist-close . c-lineup-arglist) (arglist-intro . +) (statement-cont . c-lineup-math) (statement-case-open . *) (label . *) (substatement-label . 0) (substatement-open . 0) (knr-argdecl-intro . 5) (statement-block-intro . +) ) c-buffer-is-cc-mode 'c-mode c-tab-always-indent t c-syntactic-indentation t c-syntactic-indentation-in-macros t c-ignore-auto-fill '(string cpp code) c-auto-align-backslashes t c-backspace-function 'backward-delete-char-untabify c-delete-function 'delete-char c-electric-pound-behavior nil c-default-style '((java-mode . "java") (awk-mode . "awk") (other . "gnu")) c-enable-xemacs-performance-kludge-p nil c-old-style-variable-behavior nil defun-prompt-regexp nil tab-width 8 comment-column 32 parse-sexp-ignore-comments t parse-sexp-lookup-properties t auto-fill-function nil comment-multi-line t comment-start-skip "\\(//+\\|/\\*+\\)\\s *" fill-prefix nil fill-column 70 paragraph-start "[ ]*\\(//+\\|\\**\\)[ ]*$\\|^\f" adaptive-fill-mode t adaptive-fill-regexp "[ ]*\\(//+\\|\\**\\)[ ]*\\([ ]*\\([-!|#%;>*=C2=B7= =E2=80=A2=E2=80=A3=E2=81=83=E2=97=A6]+[ ]*\\)*\\)" ) In GNU Emacs 24.0.50.1 (i686-pc-linux-gnu, GTK+ Version 2.10.4) of 2011-01-26 on waterbuck.yellow.cert.org Windowing system distributor `The X.Org Foundation', version 11.0.70101000 configured using `configure '--prefix=3D/home/mwd' '--without-toolkit-scro= ll-bars' '--with-gif=3Dno'' Important settings: value of $LC_ALL: nil value of $LC_COLLATE: nil value of $LC_CTYPE: nil value of $LC_MESSAGES: nil value of $LC_MONETARY: nil value of $LC_NUMERIC: nil value of $LC_TIME: nil value of $LANG: en_US.UTF-8 value of $XMODIFIERS: @im=3Dnone locale-coding-system: utf-8-unix default enable-multibyte-characters: t Major mode: Group Minor modes in effect: gnus-undo-mode: t display-time-mode: t diff-auto-refine-mode: t tooltip-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t Recent input: C-b C-f C-M-b C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n=20 C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n=20 C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n=20 C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n=20 C-n C-n C-n C-n C-n C-_ C-_ C-n C-p C-y C-p C-e =20 } SPC e l s e SPC { C-n C-a C-k C-n C-n C-n C-e C-b=20 C-M-f C-n C-b C-b C-b C-k C-k C-k C-k C-k C-k C-k C-k=20 C-k C-M-b C-n C-p C-d C-d SPC C-n =20 C-p C-e C-b C-b C-M-b C-M-f C-n M-b=20 M-b M-b M-b M-b M-b C-n C-p C-a C-SPC C-n C-n C-M-\=20 C-n C-p C-p C-d C-d C-d C-d C-n C-d C-d C-d C-d=20 C-n C-d C-d C-d C-d C-e C-b C-M-f C-n C-a C-k=20 C-k C-SPC C-M-b C-M-\ C-n C-n C-n C-n C-n C-n C-n C-n=20 C-n C-n C-n C-n C-p C-p C-p C-p C-p C-p C-p C-p C-p=20 C-p C-p C-p C-e C-p C-p C-p C-p C-e=20 M-b M-b M-b M-b M-b T h i s SPC p a c k e t SPC i s=20 SPC i n SPC s e q u e n c e . SPC SPC M-q C-n C-n C-n=20 C-n C-n C-p C-k M-; C-d C-p=20 C-p M-x d e b u g - o n e=20 M-b M-b M-b C-k M-x t C-h o g g l e - =20 o g=20 g l e - d e e C-x h M-w=20 M-x r e p o r t - e m =20 Recent messages: c-inside-bracelist-p: Wrong type argument: number-or-marker-p, (13067 . 132= 05) [2 times] c-inside-bracelist-p: Wrong type argument: number-or-marker-p, (13067 . 132= 01) Mark set Indenting region... done syntax: ((c 13081)), indent: 13 c-inside-bracelist-p: Wrong type argument: number-or-marker-p, (13067 . 132= 37) [3 times] read-extended-command: Command attempted to use minibuffer while in minibuf= fer Debug on Error enabled globally Entering debugger... Mark set [2 times] Load-path shadows: /afs/cert.org/usr/mwd/src/elisp/emacs-svn/psvn hides /afs/cert.org/usr/mwd/= src/elisp/psvn /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/nnir hides /afs/cert.org/usr/mwd/= src/elisp/nnir /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/password-cache hides /home/mwd/sh= are/emacs/24.0.50/lisp/password-cache /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/format-spec hides /home/mwd/share= /emacs/24.0.50/lisp/format-spec /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/md4 hides /home/mwd/share/emacs/2= 4.0.50/lisp/md4 /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/hex-util hides /home/mwd/share/em= acs/24.0.50/lisp/hex-util /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/sha1 hides /home/mwd/share/emacs/= 24.0.50/lisp/sha1 /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/color hides /home/mwd/share/emacs= /24.0.50/lisp/color /afs/cert.org/usr/mwd/src/elisp/emacs-svn/vc-svn hides /home/mwd/share/emac= s/24.0.50/lisp/vc/vc-svn /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/dns-mode hides /home/mwd/share/em= acs/24.0.50/lisp/textmodes/dns-mode /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/hmac-md5 hides /home/mwd/share/em= acs/24.0.50/lisp/net/hmac-md5 /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/dns hides /home/mwd/share/emacs/2= 4.0.50/lisp/net/dns /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/ntlm hides /home/mwd/share/emacs/= 24.0.50/lisp/net/ntlm /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/tls hides /home/mwd/share/emacs/2= 4.0.50/lisp/net/tls /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/hmac-def hides /home/mwd/share/em= acs/24.0.50/lisp/net/hmac-def /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/sasl hides /home/mwd/share/emacs/= 24.0.50/lisp/net/sasl /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/dig hides /home/mwd/share/emacs/2= 4.0.50/lisp/net/dig /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/sasl-cram hides /home/mwd/share/e= macs/24.0.50/lisp/net/sasl-cram /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/sasl-digest hides /home/mwd/share= /emacs/24.0.50/lisp/net/sasl-digest /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/sasl-ntlm hides /home/mwd/share/e= macs/24.0.50/lisp/net/sasl-ntlm /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/imap hides /home/mwd/share/emacs/= 24.0.50/lisp/net/imap /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/netrc hides /home/mwd/share/emacs= /24.0.50/lisp/net/netrc /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/binhex hides /home/mwd/share/emac= s/24.0.50/lisp/mail/binhex /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/uudecode hides /home/mwd/share/em= acs/24.0.50/lisp/mail/uudecode /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/hashcash hides /home/mwd/share/em= acs/24.0.50/lisp/mail/hashcash /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/gnus-mlspl hides /home/mwd/share/= emacs/24.0.50/lisp/gnus/gnus-mlspl /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/qp hides /home/mwd/share/emacs/24= .0.50/lisp/gnus/qp /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/gnus-range hides /home/mwd/share/= emacs/24.0.50/lisp/gnus/gnus-range /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/html2text hides /home/mwd/share/e= macs/24.0.50/lisp/gnus/html2text /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/gnus-util hides /home/mwd/share/e= macs/24.0.50/lisp/gnus/gnus-util /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/gnus-picon hides /home/mwd/share/= emacs/24.0.50/lisp/gnus/gnus-picon /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/gnus-mh hides /home/mwd/share/ema= cs/24.0.50/lisp/gnus/gnus-mh /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/nnimap hides /home/mwd/share/emac= s/24.0.50/lisp/gnus/nnimap /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/nnoo hides /home/mwd/share/emacs/= 24.0.50/lisp/gnus/nnoo /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/mail-prsvr hides /home/mwd/share/= emacs/24.0.50/lisp/gnus/mail-prsvr /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/proto-stream hides /home/mwd/shar= e/emacs/24.0.50/lisp/gnus/proto-stream /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/mml-sec hides /home/mwd/share/ema= cs/24.0.50/lisp/gnus/mml-sec /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/gnus-registry hides /home/mwd/sha= re/emacs/24.0.50/lisp/gnus/gnus-registry /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/nnmbox hides /home/mwd/share/emac= s/24.0.50/lisp/gnus/nnmbox /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/gnus-topic hides /home/mwd/share/= emacs/24.0.50/lisp/gnus/gnus-topic /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/gnus-group hides /home/mwd/share/= emacs/24.0.50/lisp/gnus/gnus-group /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/gnus-score hides /home/mwd/share/= emacs/24.0.50/lisp/gnus/gnus-score /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/gnus-cite hides /home/mwd/share/e= macs/24.0.50/lisp/gnus/gnus-cite /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/gnus-cus hides /home/mwd/share/em= acs/24.0.50/lisp/gnus/gnus-cus /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/nndir hides /home/mwd/share/emacs= /24.0.50/lisp/gnus/nndir /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/spam-stat hides /home/mwd/share/e= macs/24.0.50/lisp/gnus/spam-stat /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/deuglify hides /home/mwd/share/em= acs/24.0.50/lisp/gnus/deuglify /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/mml2015 hides /home/mwd/share/ema= cs/24.0.50/lisp/gnus/mml2015 /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/pop3 hides /home/mwd/share/emacs/= 24.0.50/lisp/gnus/pop3 /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/gnus-ml hides /home/mwd/share/ema= cs/24.0.50/lisp/gnus/gnus-ml /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/mm-partial hides /home/mwd/share/= emacs/24.0.50/lisp/gnus/mm-partial /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/rtree hides /home/mwd/share/emacs= /24.0.50/lisp/gnus/rtree /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/nnregistry hides /home/mwd/share/= emacs/24.0.50/lisp/gnus/nnregistry /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/gnus hides /home/mwd/share/emacs/= 24.0.50/lisp/gnus/gnus /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/mm-extern hides /home/mwd/share/e= macs/24.0.50/lisp/gnus/mm-extern /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/nnvirtual hides /home/mwd/share/e= macs/24.0.50/lisp/gnus/nnvirtual /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/nnbabyl hides /home/mwd/share/ema= cs/24.0.50/lisp/gnus/nnbabyl /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/gnus-start hides /home/mwd/share/= emacs/24.0.50/lisp/gnus/gnus-start /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/nnrss hides /home/mwd/share/emacs= /24.0.50/lisp/gnus/nnrss /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/gnus-dired hides /home/mwd/share/= emacs/24.0.50/lisp/gnus/gnus-dired /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/mm-uu hides /home/mwd/share/emacs= /24.0.50/lisp/gnus/mm-uu /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/mm-url hides /home/mwd/share/emac= s/24.0.50/lisp/gnus/mm-url /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/gnus-cache hides /home/mwd/share/= emacs/24.0.50/lisp/gnus/gnus-cache /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/gnus-draft hides /home/mwd/share/= emacs/24.0.50/lisp/gnus/gnus-draft /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/gnus-async hides /home/mwd/share/= emacs/24.0.50/lisp/gnus/gnus-async /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/gnus-setup hides /home/mwd/share/= emacs/24.0.50/lisp/gnus/gnus-setup /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/gnus-srvr hides /home/mwd/share/e= macs/24.0.50/lisp/gnus/gnus-srvr /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/nndiary hides /home/mwd/share/ema= cs/24.0.50/lisp/gnus/nndiary /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/sieve hides /home/mwd/share/emacs= /24.0.50/lisp/gnus/sieve /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/nnmairix hides /home/mwd/share/em= acs/24.0.50/lisp/gnus/nnmairix /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/messcompat hides /home/mwd/share/= emacs/24.0.50/lisp/gnus/messcompat /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/gnus-bookmark hides /home/mwd/sha= re/emacs/24.0.50/lisp/gnus/gnus-bookmark /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/gnus-bcklg hides /home/mwd/share/= emacs/24.0.50/lisp/gnus/gnus-bcklg /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/nnml hides /home/mwd/share/emacs/= 24.0.50/lisp/gnus/nnml /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/nnir hides /home/mwd/share/emacs/= 24.0.50/lisp/gnus/nnir /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/ietf-drums hides /home/mwd/share/= emacs/24.0.50/lisp/gnus/ietf-drums /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/yenc hides /home/mwd/share/emacs/= 24.0.50/lisp/gnus/yenc /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/nngateway hides /home/mwd/share/e= macs/24.0.50/lisp/gnus/nngateway /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/mml1991 hides /home/mwd/share/ema= cs/24.0.50/lisp/gnus/mml1991 /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/gnus-win hides /home/mwd/share/em= acs/24.0.50/lisp/gnus/gnus-win /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/gnus-eform hides /home/mwd/share/= emacs/24.0.50/lisp/gnus/gnus-eform /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/shr-color hides /home/mwd/share/e= macs/24.0.50/lisp/gnus/shr-color /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/gnus-html hides /home/mwd/share/e= macs/24.0.50/lisp/gnus/gnus-html /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/gnus-fun hides /home/mwd/share/em= acs/24.0.50/lisp/gnus/gnus-fun /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/gnus-delay hides /home/mwd/share/= emacs/24.0.50/lisp/gnus/gnus-delay /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/gravatar hides /home/mwd/share/em= acs/24.0.50/lisp/gnus/gravatar /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/gnus-demon hides /home/mwd/share/= emacs/24.0.50/lisp/gnus/gnus-demon /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/nndraft hides /home/mwd/share/ema= cs/24.0.50/lisp/gnus/nndraft /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/nnmh hides /home/mwd/share/emacs/= 24.0.50/lisp/gnus/nnmh /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/nnweb hides /home/mwd/share/emacs= /24.0.50/lisp/gnus/nnweb /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/nntp hides /home/mwd/share/emacs/= 24.0.50/lisp/gnus/nntp /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/score-mode hides /home/mwd/share/= emacs/24.0.50/lisp/gnus/score-mode /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/rfc2231 hides /home/mwd/share/ema= cs/24.0.50/lisp/gnus/rfc2231 /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/gnus-dup hides /home/mwd/share/em= acs/24.0.50/lisp/gnus/gnus-dup /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/smiley hides /home/mwd/share/emac= s/24.0.50/lisp/gnus/smiley /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/nnagent hides /home/mwd/share/ema= cs/24.0.50/lisp/gnus/nnagent /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/rfc2047 hides /home/mwd/share/ema= cs/24.0.50/lisp/gnus/rfc2047 /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/gnus-int hides /home/mwd/share/em= acs/24.0.50/lisp/gnus/gnus-int /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/rfc2045 hides /home/mwd/share/ema= cs/24.0.50/lisp/gnus/rfc2045 /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/nnfolder hides /home/mwd/share/em= acs/24.0.50/lisp/gnus/nnfolder /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/compface hides /home/mwd/share/em= acs/24.0.50/lisp/gnus/compface /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/mm-encode hides /home/mwd/share/e= macs/24.0.50/lisp/gnus/mm-encode /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/gnus-art hides /home/mwd/share/em= acs/24.0.50/lisp/gnus/gnus-art /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/sieve-manage hides /home/mwd/shar= e/emacs/24.0.50/lisp/gnus/sieve-manage /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/rfc2104 hides /home/mwd/share/ema= cs/24.0.50/lisp/gnus/rfc2104 /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/spam hides /home/mwd/share/emacs/= 24.0.50/lisp/gnus/spam /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/nnspool hides /home/mwd/share/ema= cs/24.0.50/lisp/gnus/nnspool /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/ecomplete hides /home/mwd/share/e= macs/24.0.50/lisp/gnus/ecomplete /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/gnus-vm hides /home/mwd/share/ema= cs/24.0.50/lisp/gnus/gnus-vm /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/gnus-undo hides /home/mwd/share/e= macs/24.0.50/lisp/gnus/gnus-undo /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/spam-report hides /home/mwd/share= /emacs/24.0.50/lisp/gnus/spam-report /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/mml-smime hides /home/mwd/share/e= macs/24.0.50/lisp/gnus/mml-smime /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/mm-util hides /home/mwd/share/ema= cs/24.0.50/lisp/gnus/mm-util /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/nndoc hides /home/mwd/share/emacs= /24.0.50/lisp/gnus/nndoc /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/starttls hides /home/mwd/share/em= acs/24.0.50/lisp/gnus/starttls /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/mm-bodies hides /home/mwd/share/e= macs/24.0.50/lisp/gnus/mm-bodies /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/nnmaildir hides /home/mwd/share/e= macs/24.0.50/lisp/gnus/nnmaildir /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/message hides /home/mwd/share/ema= cs/24.0.50/lisp/gnus/message /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/gnus-kill hides /home/mwd/share/e= macs/24.0.50/lisp/gnus/gnus-kill /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/gnus-sync hides /home/mwd/share/e= macs/24.0.50/lisp/gnus/gnus-sync /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/mm-decode hides /home/mwd/share/e= macs/24.0.50/lisp/gnus/mm-decode /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/mail-parse hides /home/mwd/share/= emacs/24.0.50/lisp/gnus/mail-parse /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/legacy-gnus-agent hides /home/mwd= /share/emacs/24.0.50/lisp/gnus/legacy-gnus-agent /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/smime hides /home/mwd/share/emacs= /24.0.50/lisp/gnus/smime /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/gnus-salt hides /home/mwd/share/e= macs/24.0.50/lisp/gnus/gnus-salt /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/gnus-gravatar hides /home/mwd/sha= re/emacs/24.0.50/lisp/gnus/gnus-gravatar /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/utf7 hides /home/mwd/share/emacs/= 24.0.50/lisp/gnus/utf7 /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/mailcap hides /home/mwd/share/ema= cs/24.0.50/lisp/gnus/mailcap /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/gnus-msg hides /home/mwd/share/em= acs/24.0.50/lisp/gnus/gnus-msg /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/mail-source hides /home/mwd/share= /emacs/24.0.50/lisp/gnus/mail-source /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/mml hides /home/mwd/share/emacs/2= 4.0.50/lisp/gnus/mml /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/canlock hides /home/mwd/share/ema= cs/24.0.50/lisp/gnus/canlock /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/gnus-ems hides /home/mwd/share/em= acs/24.0.50/lisp/gnus/gnus-ems /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/gnus-sum hides /home/mwd/share/em= acs/24.0.50/lisp/gnus/gnus-sum /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/nneething hides /home/mwd/share/e= macs/24.0.50/lisp/gnus/nneething /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/rfc1843 hides /home/mwd/share/ema= cs/24.0.50/lisp/gnus/rfc1843 /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/gnus-sieve hides /home/mwd/share/= emacs/24.0.50/lisp/gnus/gnus-sieve /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/gnus-diary hides /home/mwd/share/= emacs/24.0.50/lisp/gnus/gnus-diary /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/sieve-mode hides /home/mwd/share/= emacs/24.0.50/lisp/gnus/sieve-mode /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/nnmail hides /home/mwd/share/emac= s/24.0.50/lisp/gnus/nnmail /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/shr hides /home/mwd/share/emacs/2= 4.0.50/lisp/gnus/shr /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/spam-wash hides /home/mwd/share/e= macs/24.0.50/lisp/gnus/spam-wash /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/auth-source hides /home/mwd/share= /emacs/24.0.50/lisp/gnus/auth-source /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/gnus-agent hides /home/mwd/share/= emacs/24.0.50/lisp/gnus/gnus-agent /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/gnus-logic hides /home/mwd/share/= emacs/24.0.50/lisp/gnus/gnus-logic /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/nnheader hides /home/mwd/share/em= acs/24.0.50/lisp/gnus/nnheader /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/gmm-utils hides /home/mwd/share/e= macs/24.0.50/lisp/gnus/gmm-utils /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/.dir-locals hides /home/mwd/share= /emacs/24.0.50/lisp/gnus/.dir-locals /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/flow-fill hides /home/mwd/share/e= macs/24.0.50/lisp/gnus/flow-fill /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/mm-view hides /home/mwd/share/ema= cs/24.0.50/lisp/gnus/mm-view /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/gnus-uu hides /home/mwd/share/ema= cs/24.0.50/lisp/gnus/gnus-uu /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/gnus-spec hides /home/mwd/share/e= macs/24.0.50/lisp/gnus/gnus-spec /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/nnnil hides /home/mwd/share/emacs= /24.0.50/lisp/gnus/nnnil /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/time-date hides /home/mwd/share/e= macs/24.0.50/lisp/calendar/time-date /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/parse-time hides /home/mwd/share/= emacs/24.0.50/lisp/calendar/parse-time /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/pgg-def hides /home/mwd/share/ema= cs/24.0.50/lisp/obsolete/pgg-def /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/pgg hides /home/mwd/share/emacs/2= 4.0.50/lisp/obsolete/pgg /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/pgg-pgp5 hides /home/mwd/share/em= acs/24.0.50/lisp/obsolete/pgg-pgp5 /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/pgg-parse hides /home/mwd/share/e= macs/24.0.50/lisp/obsolete/pgg-parse /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/pgg-pgp hides /home/mwd/share/ema= cs/24.0.50/lisp/obsolete/pgg-pgp /afs/cert.org/usr/mwd/src/elisp/gnus/lisp/pgg-gpg hides /home/mwd/share/ema= cs/24.0.50/lisp/obsolete/pgg-gpg Features: (shadow emacsbug debug cus-start cus-load compile help-mode view time-stamp tabify whitespace calc-misc calc-menu calc calc-loaddefs calc-macs dabbrev multi-isearch vc-svn cc-mode cc-fonts cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs browse-url flow-fill copyright newcomment flyspell ispell mule-util sort ansi-color gnus-cite qp mail-extr gnus-async gnus-bcklg gnus-ml disp-table byte-opt bytecomp byte-compile nndraft nnmh nnml utf-7 nnimap parse-time utf7 gnus-agent gnus-srvr gnus-score score-mode nnvirtual gnus-msg gnus-art mm-uu mml2015 epg-config mm-view mml-smime mailcap gnus-cache edmacro kmacro nnir gnus-sum macroexp gnus-demon nntp gnus-group gnus-undo nnmail mail-source proto-stream starttls tls nnoo gnus-start gnus-spec gnus-int gnus-range gnus-win gnus-load woman man assoc uniquify tramp tramp-compat auth-source netrc format-spec tramp-loaddefs time smime password-cache dig comint server psvn advice help-fns advice-preload cl log-edit ring pcvs-util add-log diff-mode easy-mmode time-date pgg pgg-parse pgg-def message sendmail rfc822 mml easymenu mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils mailheader gnus gnus-ems nnheader gnus-util mail-utils mm-util mail-prsvr wid-edit generic-x dired-x dired-aux dired regexp-opt tooltip ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image fringe lisp-mode register page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev loaddefs button minibuffer faces cus-face files text-properties overlay md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote make-network-process dbusbind dynamic-setting system-font-setting font-render-setting move-toolbar gtk x-toolkit x multi-tty emacs) --=20 Michael Welsh Duggan (mwd@cert.org) From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 27 15:14:04 2011 Received: (at 7930) by debbugs.gnu.org; 27 Jan 2011 20:14:04 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1PiYEF-0005qy-R6 for submit@debbugs.gnu.org; Thu, 27 Jan 2011 15:14:04 -0500 Received: from upton.red.cert.org ([192.88.209.60]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1PiYED-0005qP-JJ for 7930@debbugs.gnu.org; Thu, 27 Jan 2011 15:14:02 -0500 Received: from bucknell.indigo.cert.org (bucknell.indigo.cert.org [10.60.10.121]) by upton.red.cert.org (8.13.8/8.13.8) with ESMTP id p0RKMCEY016788 for <7930@debbugs.gnu.org>; Thu, 27 Jan 2011 15:22:12 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cert.org; s=jthatj15xw2j; t=1296159732; bh=rsfRLLT/UwKca/qwPN1iuS8aD+KIAlNbJ6fUiL7zOHM=; h=From:To:Subject:References:Date:In-Reply-To:Message-ID: MIME-Version:Content-Type:Sender:Reply-To:Cc; b=UISX051INKoapPJEoCUbAORo6vW2CQ1GmSiUF4PAN6S+bxqImBzDnZTcYDhxWOpuz wQL3SbuyRntZnUNZ6ZJMP+LiWWb5PTC6MAoUViBAt5nDdpybxc6hFoezHG/vdDU9UH hF9xhl2QTtfv5jCMrZFN0jVp4YEO9ngIFtmXeBRU= Received: from waterbuck.yellow.cert.org (waterbuck.yellow.cert.org [10.20.128.84]) by bucknell.indigo.cert.org (8.13.8/8.13.8/2.79) with ESMTP id p0RKMCbD008069 for <7930@debbugs.gnu.org>; Thu, 27 Jan 2011 15:22:12 -0500 Received: (from mwd@localhost) by waterbuck.yellow.cert.org (8.13.8/8.13.8/Submit/1.6) id p0RKMBpk005430; Thu, 27 Jan 2011 15:22:11 -0500 X-Authentication-Warning: waterbuck.yellow.cert.org: mwd set sender to mwd@cert.org using -f From: Michael Welsh Duggan To: "7930\@debbugs.gnu.org" <7930@debbugs.gnu.org> Subject: Re: bug#7930: (24.0.50; Indentation problem in C-mode) References: Date: Thu, 27 Jan 2011 15:22:11 -0500 In-Reply-To: (GNU bug Tracking System's message of "Thu, 27 Jan 2011 13:55:02 -0500") Message-ID: User-Agent: Gnus/5.110011 (No Gnus v0.11) Emacs/24.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -3.5 (---) X-Debbugs-Envelope-To: 7930 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -3.4 (---) I now can recreate this problem, although not minimally. Using the included file pdusource.c: emacs -Q pdusource.c M-g g 549 RET TAB This will cause the wrong-type-argument error. A bisection shows that this error was introduced in commit 191882, acm@muc.de-20101009195828-ajo6zapkxu8oluwz: Enhance fontification of declarators to take account of the presence/absence of "typedef". cc-engine.el (c-forward-type): New &optional param "brace-block-too". (c-forward-decl-or-cast-1): cdr of return value now indicates the presence of either or both of a "struct"-like keyword and "typedef". cc-fonts.el (c-complex-decl-matchers): Remove the heuristic fontification of declarators which follow a "}". (c-font-lock-declarations): Fontify declarators according to the presence/absence of "typedef". cc-langs.el (c-typedef-kwds c-typedef-key): New lang variable for "typedef". (c-typedef-decl-key): New lang variable built from c-typedef-decl-kwds. -- Michael Welsh Duggan (mwd@cert.org) From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 27 15:52:40 2011 Received: (at 7930) by debbugs.gnu.org; 27 Jan 2011 20:52:41 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1PiYpb-0006ih-80 for submit@debbugs.gnu.org; Thu, 27 Jan 2011 15:52:40 -0500 Received: from upton.red.cert.org ([192.88.209.60]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1PiYpV-0006iR-Ra for 7930@debbugs.gnu.org; Thu, 27 Jan 2011 15:52:36 -0500 Received: from bucknell.indigo.cert.org (bucknell.indigo.cert.org [10.60.10.121]) by upton.red.cert.org (8.13.8/8.13.8) with ESMTP id p0RL0iou017620 for <7930@debbugs.gnu.org>; Thu, 27 Jan 2011 16:00:44 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cert.org; s=jthatj15xw2j; t=1296162044; bh=yfMxIy7EO4R6aE1z9pgUU8z1Xt+crmfcg0y0n9z0x+U=; h=From:To:Subject:Date:Message-ID:MIME-Version:Content-Type:Sender: Reply-To:Cc:In-Reply-To:References; b=TCL6hAClLaIAb0F0uwZPgKu0GrXyU6pPFS4hMg84XOA5Pvugaa4vEKRSp+BKoZRL8 faEJx2gIZnytUv8D4+v4W+UTKxleqXLa68O/K8cXy9sLOuu61ssv2uDikweu5In36/ MSNOGk+1/jJhMlCdk+WMxbFVR0dIGQg0u9fuImPI= Received: from waterbuck.yellow.cert.org (waterbuck.yellow.cert.org [10.20.128.84]) by bucknell.indigo.cert.org (8.13.8/8.13.8/2.79) with ESMTP id p0RL0ifD009383 for <7930@debbugs.gnu.org>; Thu, 27 Jan 2011 16:00:44 -0500 Received: (from mwd@localhost) by waterbuck.yellow.cert.org (8.13.8/8.13.8/Submit/1.6) id p0RL0h1i005830; Thu, 27 Jan 2011 16:00:43 -0500 X-Authentication-Warning: waterbuck.yellow.cert.org: mwd set sender to mwd@cert.org using -f From: Michael Welsh Duggan To: 7930@debbugs.gnu.org Subject: Forgot to include the file Date: Thu, 27 Jan 2011 15:26:57 -0500 Lines: 677 User-Agent: Gnus/5.110011 (No Gnus v0.11) Emacs/24.0.50 (gnu/linux) Message-ID: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -3.2 (---) X-Debbugs-Envelope-To: 7930 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -3.1 (---) --=-=-= Content-Type: text/plain Included is pdusource.c: --=-=-= Content-Type: text/plain Content-Disposition: attachment; filename=pdusource.c /* ** Copyright (C) 2004-2011 by Carnegie Mellon University. ** ** @OPENSOURCE_HEADER_START@ ** ** Use of the SILK system and related source code is subject to the terms ** of the following licenses: ** ** GNU Public License (GPL) Rights pursuant to Version 2, June 1991 ** Government Purpose License Rights (GPLR) pursuant to DFARS 252.227.7013 ** ** NO WARRANTY ** ** ANY INFORMATION, MATERIALS, SERVICES, INTELLECTUAL PROPERTY OR OTHER ** PROPERTY OR RIGHTS GRANTED OR PROVIDED BY CARNEGIE MELLON UNIVERSITY ** PURSUANT TO THIS LICENSE (HEREINAFTER THE "DELIVERABLES") ARE ON AN ** "AS-IS" BASIS. CARNEGIE MELLON UNIVERSITY MAKES NO WARRANTIES OF ANY ** KIND, EITHER EXPRESS OR IMPLIED AS TO ANY MATTER INCLUDING, BUT NOT ** LIMITED TO, WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE, ** MERCHANTABILITY, INFORMATIONAL CONTENT, NONINFRINGEMENT, OR ERROR-FREE ** OPERATION. CARNEGIE MELLON UNIVERSITY SHALL NOT BE LIABLE FOR INDIRECT, ** SPECIAL OR CONSEQUENTIAL DAMAGES, SUCH AS LOSS OF PROFITS OR INABILITY ** TO USE SAID INTELLECTUAL PROPERTY, UNDER THIS LICENSE, REGARDLESS OF ** WHETHER SUCH PARTY WAS AWARE OF THE POSSIBILITY OF SUCH DAMAGES. ** LICENSEE AGREES THAT IT WILL NOT MAKE ANY WARRANTY ON BEHALF OF ** CARNEGIE MELLON UNIVERSITY, EXPRESS OR IMPLIED, TO ANY PERSON ** CONCERNING THE APPLICATION OF OR THE RESULTS TO BE OBTAINED WITH THE ** DELIVERABLES UNDER THIS LICENSE. ** ** Licensee hereby agrees to defend, indemnify, and hold harmless Carnegie ** Mellon University, its trustees, officers, employees, and agents from ** all claims or demands made against them (and any related losses, ** expenses, or attorney's fees) arising out of, or relating to Licensee's ** and/or its sub licensees' negligent use or willful misuse of or ** negligent conduct or willful misconduct regarding the Software, ** facilities, or other rights or assistance granted by Carnegie Mellon ** University under this License, including, but not limited to, any ** claims of product liability, personal injury, death, damage to ** property, or violation of any laws or regulations. ** ** Carnegie Mellon University Software Engineering Institute authored ** documents are sponsored by the U.S. Department of Defense under ** Contract F19628-00-C-0003. Carnegie Mellon University retains ** copyrights in all material produced under this contract. The U.S. ** Government retains a non-exclusive, royalty-free license to publish or ** reproduce these documents, or allow others to do so, for U.S. ** Government purposes only pursuant to the copyright license under the ** contract clause at 252.227.7013. ** ** @OPENSOURCE_HEADER_END@ */ /* ** Interface to pull a single flow from a NetFlow v5 PDU ** */ #include RCSIDENT("$Id: pdusource.c 16619 2011-01-11 21:07:54Z mthomas $"); #include #include "v5pdu.h" #include "udpsource.h" #include #include /* Number of milliseconds the calculated router boot time for a PDU * packet must be beyond the last packet in order to consider the * router to have rebooted. */ #define ROUTER_BOOT_FUZZ 1e3 /* Encapsulate timing information from a NetFlow v5 PDU header. */ typedef struct cflowdTimeInfo_st { /* router boot time as milliseconds since the UNIX epoch */ intmax_t router_boot; /* milliseconds since the router booted */ intmax_t sysUptime; } cflowdTimeInfo_t; typedef struct pdu_source_st { flowsource_stats_t statistics; pthread_mutex_t stats_mutex; udpSource_t *source; cflowdTimeInfo_t ti; intmax_t last_router_boot; uint8_t count; /* Number of recs left in pdu */ v5PDU *pdu; /* Current pdu */ uint32_t flowSeqNumbers[0xffff]; BITMAP_DECLARE( engineMasks, 0xffff); uint8_t logopt; unsigned file : 1; /* File-based source */ unsigned stopped : 1; } pdu_source_t; /* typedef struct pdu_source_st *pduSource_t; // libflowsource.h */ #define COUNT_BAD_PACKET(source, pdu) \ { \ pthread_mutex_lock(&((source)->stats_mutex)); \ (source)->statistics.badPkts++; \ pthread_mutex_unlock(&((source)->stats_mutex)); \ } #define COUNT_BAD_RECORD(source, pdu) \ { \ pthread_mutex_lock(&((source)->stats_mutex)); \ (source)->statistics.badRecs++; \ pthread_mutex_unlock(&((source)->stats_mutex)); \ } /* * TIME VALUES IN THE NETFLOW V5 PDU * * The naive ordering of events with respect to time in the router * would be to collect the flows and generate the PDU. Thus, one * would expect: * * flow.Start < flow.End < hdr.sysUptime * * where all values are given as milliseconds since the router's * interface was booted, and hdr.sysUptime is advertised as the * "current" time. * * However, since values are given as 32bit numbers, the values will * roll-over after about 49.7 days. If the values roll-over in the * middle of writing the PDU, we will see one of these two * conditions: * * hdr.sysUptime << flow.Start < flow.End * * flow.End < hdr.sysUptime << flow.Start * * Thus, if flow.End less than flow.Start, we need to account for the * roll-over when computing the flow's duration. * * In practice, the PDU's header gets filled in before flows are * added, making the hdr.sysUptime not have any true time ordering * with respect to the flow.Start and flow.End, and we have seen * cases in real NetFlow data where hdr.sysUptime is slightly less * than flow.End: * * flow.Start < hdr.sysUptime < flow.End * * Moreover, some naive NetFlow PDU generators simply pin the * hdr.sysUptime to zero, and don't account for rollover at all. * This can make hdr.sysUptime much less than flow.Start. * * In order to make the determination whether the flow.Start or * hdr.sysUptime values have overflown their values and rolled-over, * we look at the difference between them. If the absolute value of * the difference is greater than some very large maximum defined in * maximumFlowTimeDeviation (currently 45 days), we assume that one * of the two has rolled over, and adjust based on that assumption. */ static const intmax_t maximumFlowTimeDeviation = (intmax_t)45 * 24 * 3600 * 1000; /* 45 days */ static const intmax_t maximumSequenceDeviation = (intmax_t)3600 * 1000; /* 1 hour of flows at 1k flows/sec */ #define ROLLOVER32 ((intmax_t)UINT32_MAX + 1) /* FUNCTION PROTOTYPES */ static void cflowdTimeInfoSetup( const v5Header *hdr, cflowdTimeInfo_t *ti); /* FUNCTION DEFINITIONS */ pduSource_t pduSourceCreate( const sk_sockaddr_array_t *from_address, const sk_sockaddr_array_t *listen_address, uint32_t max_pkts) { int rv; udpSource_t *udpsource; pduSource_t source; rv = udpSourceNetworkCreate(&udpsource, from_address, listen_address, V5PDU_LEN, max_pkts); if (rv != 0) { return NULL; } source = (pduSource_t)calloc(1, sizeof(*source)); if (source == NULL) { udpSourceDestroy(udpsource); return NULL; } source->source = udpsource; pthread_mutex_init(&source->stats_mutex, NULL); source->logopt = SOURCE_LOG_ALL; return source; } pduSource_t pduFileSourceCreate( const char *path) { udpSource_t *udpsource; pduSource_t source; int rv; rv = udpFileSourceCreate(&udpsource, path, V5PDU_LEN); if (rv != 0) { return NULL; } source = (pduSource_t)calloc(1, sizeof(*source)); if (source == NULL) { udpSourceDestroy(udpsource); return NULL; } source->file = 1; source->source = udpsource; return source; } void pduSourceStop(pduSource_t source) { source->stopped = 1; udpSourceStop(source->source); } void pduSourceDestroy(pduSource_t source) { if (!source->stopped) { pduSourceStop(source); } udpSourceDestroy(source->source); pthread_mutex_destroy(&source->stats_mutex); free(source); } /* * cflowdTimeInfoSetup(hdr, ti); * * Given the NetFlow v5 header 'hdr', initialize the time info * structure 'ti' with the boot time of the router. */ static void cflowdTimeInfoSetup( const v5Header *hdr, cflowdTimeInfo_t *ti) { intmax_t now; /* get the sysUptime, which is the current time in milliseconds * since the export device booted */ ti->sysUptime = ntohl(hdr->SysUptime); /* use the PDU header to get the "current" time as milliseconds * since the UNIX epoch; round nanoseconds by adding 5e5 before * dividing. */ now = ((intmax_t)1000 * ntohl(hdr->unix_secs) + ((ntohl(hdr->unix_nsecs) + 5e5L) / 1e6L)); /* subtract sysUpTime from current-time to get router boot time as * milliseconds since UNIX epoch */ ti->router_boot = now - ti->sysUptime; } static v5PDU *pduNext(pduSource_t source) { /* keep this array and the enum in sync. we use these and the * macro to count the number of invalid PDUs we saw consecutively, * and we print a log message for the bad PDUs as a group. */ static const char *err_msgs[] = { "No Error", "not marked as version 5", "reporting more than " V5PDU_MAX_RECS_STR " records", "reporting zero records" }; enum err_status_en { PDU_OK = 0, PDU_BAD_VERSION, PDU_ZERO_RECORDS, PDU_OVERFLOW_RECORDS } err_status = PDU_OK; uint32_t err_count = 0; #define LOG_BAD_PDUS(new_err_status) \ if (new_err_status == err_status) { \ ++err_count; \ } else { \ if (err_count) { \ assert(PDU_OK != err_status); \ NOTICEMSG(("Rejected %" PRIu32 " PDU record%s %s"), \ err_count, ((err_count == 1) ? "" : "s"), \ err_msgs[err_status]); \ } \ err_count = 1; \ err_status = new_err_status; \ } assert (source != NULL); /* Infloop; exit by return only */ for (;;) { v5PDU *pdu; uint16_t count; uint16_t engine; uint32_t flow_sequence; pdu = (v5PDU *)udpNext(source->source); if (pdu == NULL) { /* if we saw any bad PDUs, print message before returning */ LOG_BAD_PDUS(PDU_OK); return NULL; } pthread_mutex_lock(&source->stats_mutex); source->statistics.procPkts++; pthread_mutex_unlock(&source->stats_mutex); if (ntohs(pdu->hdr.version) != 5) { /* reject packet */ LOG_BAD_PDUS(PDU_BAD_VERSION); COUNT_BAD_PACKET(source, pdu); continue; } count = ntohs(pdu->hdr.count); if (count > V5PDU_MAX_RECS) { /* reject packet */ LOG_BAD_PDUS(PDU_OVERFLOW_RECORDS); COUNT_BAD_PACKET(source, pdu); continue; } if (count == 0) { /* reject packet */ LOG_BAD_PDUS(PDU_ZERO_RECORDS); COUNT_BAD_PACKET(source, pdu); continue; } /* at this point we are guaranteed to return from this * function. Use the PDU_OK "error" to log about any bad PDUs * we saw previously */ LOG_BAD_PDUS(PDU_OK); /* Calculate the offset from which times in the records are * calculated */ cflowdTimeInfoSetup(&pdu->hdr, &source->ti); /* Handle router reboots by resetting the engine masks */ if (((source->ti.router_boot > source->last_router_boot) && ((source->ti.router_boot - source->last_router_boot) > ROUTER_BOOT_FUZZ)) || ((source->last_router_boot - source->ti.router_boot) > ROUTER_BOOT_FUZZ)) { DEBUGMSG("Router reboot noticed"); BITMAP_INIT(source->engineMasks); } source->last_router_boot = source->ti.router_boot; /* handle seq numbers here */ flow_sequence = ntohl(pdu->hdr.flow_sequence); engine = (pdu->hdr.engine_type << 8) | pdu->hdr.engine_id; if (!BITMAP_GETBIT(source->engineMasks, engine)) { /* A new engine. Mark and record */ BITMAP_SETBIT(source->engineMasks, engine); source->flowSeqNumbers[engine] = flow_sequence + count; } else if (flow_sequence == source->flowSeqNumbers[engine]) { /* This packet is in sequence. Update the next expected * seq */ source->flowSeqNumbers[engine] = flow_sequence + count; } else { intmax_t expected; intmax_t actual; pthread_mutex_lock(&source->stats_mutex); actual = flow_sequence; expected = source->flowSeqNumbers[engine]; if (actual > expected) { if ((actual - expected) > maximumSequenceDeviation) { expected += ROLLOVER32; } } else if ((expected - actual) > maximumSequenceDeviation) { actual += ROLLOVER32; } if (actual < expected) { /* ** Out of sequence packet. Reduce missing flow count. ** However, do not change the expected seq num. */ source->statistics.missingRecs -= count; } else { /* Increase missing flow count */ source->statistics.missingRecs += actual - expected; if (source->logopt & SOURCE_LOG_MISSING) { uint64_t allrecs = source->statistics.goodRecs + source->statistics.badRecs + source->statistics.missingRecs; INFOMSG(("Missing netflow records: " "%" PRId64 "/%" PRIu64 " == %7.4g%%"), source->statistics.missingRecs, allrecs, ((float)source->statistics.missingRecs / (float)allrecs * 100.0)); } /* Update the next expected seq */ source->flowSeqNumbers[engine] = flow_sequence + count; } pthread_mutex_unlock(&source->stats_mutex); } return pdu; } } static v5Record *pduSourceGetNextRec( pduSource_t source) { assert (source != NULL); /* Infloop; exit by return only */ for (;;) { v5Record *v5RPtr; intmax_t difference; if (source->stopped) { return NULL; } /* If we need a pdu, get a new one, otherwise we are not finished with the last. */ if (source->count == 0) { source->pdu = pduNext(source); if (source->pdu == NULL) { return NULL; } source->count = ntohs(source->pdu->hdr.count); } /* Get next record, and decrement counter*/ v5RPtr = &source->pdu->data[ntohs(source->pdu->hdr.count) - source->count--]; /* Check for zero packets or bytes. No need for byteswapping when checking zero. */ if (v5RPtr->dPkts == 0 || v5RPtr->dOctets == 0) { if (source->logopt & SOURCE_LOG_BAD) { NOTICEMSG("Netflow record has zero packets or bytes."); } COUNT_BAD_RECORD(source, source->pdu); continue; } /* Check to see if more packets them bytes. */ if (ntohl(v5RPtr->dPkts) > ntohl(v5RPtr->dOctets)) { if (source->logopt & SOURCE_LOG_BAD) { NOTICEMSG("Netflow record has more packets them bytes."); } COUNT_BAD_RECORD(source, source->pdu); continue; } /* Check to see if the First and Last timestamps for the flow * record are reasonable, accounting for rollover. If the * absolute value of the difference is greater than * maximumFlowTimeDeviation, we assume it has rolled over. */ difference = (intmax_t)ntohl(v5RPtr->Last) - ntohl(v5RPtr->First); if ((difference > maximumFlowTimeDeviation) || ((difference < 0) && (difference > (-maximumFlowTimeDeviation)))) { if (source->logopt & SOURCE_LOG_BAD) { NOTICEMSG(("Netflow record has earlier end time" " than start time.")); } COUNT_BAD_RECORD(source, source->pdu); continue; } /* Check for bogosities in how the ICMP type/code are set. It should be in dest port, but sometimes it is backwards in src port. */ if (v5RPtr->prot == 1 && /* ICMP */ v5RPtr->dstport == 0) /* No byteswapping for check against 0 */ { uint32_t *ports = (uint32_t *)&v5RPtr->srcport; *ports = BSWAP32(*ports); /* This will swap src into dest, while byteswapping. */ } pthread_mutex_lock(&source->stats_mutex); source->statistics.goodRecs++; pthread_mutex_unlock(&source->stats_mutex); return v5RPtr; } } int pduSourceGetGeneric( pduSource_t source, rwRec *rwrec) { const v5Record *v5RPtr; intmax_t v5_first, v5_last; intmax_t sTime; intmax_t difference; v5RPtr = pduSourceGetNextRec(source); if (v5RPtr == NULL) { return -1; } /* Setup start and duration */ v5_first = ntohl(v5RPtr->First); v5_last = ntohl(v5RPtr->Last); if (v5_first > v5_last) { /* End has rolled over, while start has not. Adjust end by * 2^32 msecs in order to allow us to subtract start from end * and get a correct value for the duration. */ v5_last += ROLLOVER32; } /* v5_first is milliseconds since the router booted. To get UNIX * epoch milliseconds, add the router's boot time. */ sTime = v5_first + source->ti.router_boot; /* Check to see if the difference between the 32bit start time and * the sysUptime is overly large. If it is, one of the two has * more than likely rolled over. We need to adjust based on * this. */ difference = source->ti.sysUptime - v5_first; if (difference > maximumFlowTimeDeviation) { /* sTime rollover */ sTime += ROLLOVER32; } else if (difference < (-maximumFlowTimeDeviation)) { /* sysUptime rollover */ sTime -= ROLLOVER32; } RWREC_CLEAR(rwrec); /* Convert NetFlow v5 to SiLK */ rwRecSetSIPv4(rwrec, ntohl(v5RPtr->srcaddr)); rwRecSetDIPv4(rwrec, ntohl(v5RPtr->dstaddr)); rwRecSetSPort(rwrec, ntohs(v5RPtr->srcport)); rwRecSetDPort(rwrec, ntohs(v5RPtr->dstport)); rwRecSetProto(rwrec, v5RPtr->prot); rwRecSetFlags(rwrec, v5RPtr->tcp_flags); rwRecSetInput(rwrec, ntohs(v5RPtr->input)); rwRecSetOutput(rwrec, ntohs(v5RPtr->output)); rwRecSetNhIPv4(rwrec, ntohl(v5RPtr->nexthop)); rwRecSetStartTime(rwrec, (sktime_t)sTime); rwRecSetPkts(rwrec, ntohl(v5RPtr->dPkts)); rwRecSetBytes(rwrec, ntohl(v5RPtr->dOctets)); rwRecSetElapsed(rwrec, (uint32_t)(v5_last - v5_first)); rwRecSetRestFlags(rwrec, 0); rwRecSetTcpState(rwrec, SK_TCPSTATE_NO_INFO); #if SK_ENABLE_TOS_APPLICATION_HACK rwRecSetApplication(rwrec, v5RPtr->tos); #else rwRecSetApplication(rwrec, 0); #endif return 0; } pduSource_t pduSourceCreateFromProbeDef( const skpc_probe_t *probe, uint32_t max_pkts) { const sk_sockaddr_array_t *paddr; const sk_sockaddr_array_t *haddr; pduSource_t source; int rv; uint8_t flags; assert(probe); flags = skpcProbeGetLogFlags(probe); rv = skpcProbeGetListenOnSockaddr(probe, &paddr); if (rv == -1) { return NULL; } rv = skpcProbeGetAcceptFromHost(probe, &haddr); if (rv == -1) { haddr = NULL; } source = pduSourceCreate(haddr, paddr, max_pkts); if (source == NULL) { return NULL; } pduSourceSetLogopt(source, flags); return source; } /* Get statistics associated with a pdu source. */ void pduSourceGetStats(pduSource_t source, flowStats_t stats) { pthread_mutex_lock(&source->stats_mutex); *stats = source->statistics; pthread_mutex_unlock(&source->stats_mutex); } /* Clear out current statistics */ void pduSourceClearStats(pduSource_t source) { pthread_mutex_lock(&source->stats_mutex); memset(&source->statistics, 0, sizeof(source->statistics)); pthread_mutex_unlock(&source->stats_mutex); } /* Set logging options */ void pduSourceSetLogopt(pduSource_t source, uint8_t opt) { source->logopt = opt; } /* ** Local Variables: ** mode:c ** indent-tabs-mode:nil ** c-basic-offset:4 ** End: */ --=-=-= Content-Type: text/plain -- Michael Welsh Duggan (mwd@cert.org) --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Sun Feb 20 10:10:26 2011 Received: (at 7930) by debbugs.gnu.org; 20 Feb 2011 15:10:26 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1PrAvZ-0007Xg-3X for submit@debbugs.gnu.org; Sun, 20 Feb 2011 10:10:26 -0500 Received: from colin.muc.de ([193.149.48.1] helo=mail.muc.de) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1PrAvW-0007XT-CC for 7930@debbugs.gnu.org; Sun, 20 Feb 2011 10:10:23 -0500 Received: (qmail 58786 invoked by uid 3782); 20 Feb 2011 15:10:15 -0000 Received: from acm.muc.de (pD9E233A8.dip.t-dialin.net [217.226.51.168]) by colin2.muc.de (tmda-ofmipd) with ESMTP; Sun, 20 Feb 2011 16:10:12 +0100 Received: (qmail 1482 invoked by uid 1000); 20 Feb 2011 15:26:16 -0000 Date: Sun, 20 Feb 2011 15:26:16 +0000 To: Michael Welsh Duggan Subject: Re: bug#7930: Forgot to include the file Message-ID: <20110220152616.GA1249@muc.de> References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.9i X-Delivery-Agent: TMDA/1.1.5 (Fettercairn) From: Alan Mackenzie X-Primary-Address: acm@muc.de X-Spam-Score: -2.5 (--) X-Debbugs-Envelope-To: 7930 Cc: 7930@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.5 (--) Hi, Michael. Here's a patch for the bug. Would you please try it out and let me know it's OK. Thanks a lot for taking the trouble to pin this one down, and for reporting it in such a high quality fashion. It was a nasty little bug caused by a mistaken tacit assumption in an internal CC Mode cache. The cache in question maintains a list of "safe" positions every ~10,000 characters, and in your file position 10,001 was in the middle of a macro. It transpires that inside a macro is NOT a safe position ;-(. Here's the patch (don't worry that the line numbers don't match exactly): *** orig/cc-engine.el 2011-02-06 15:53:22.000000000 +0000 --- cc-engine.el 2011-02-18 20:59:13.854308264 +0000 *************** *** 2026,2034 **** (defvar c-state-nonlit-pos-cache nil) (make-variable-buffer-local 'c-state-nonlit-pos-cache) ! ;; A list of buffer positions which are known not to be in a literal. This is ! ;; ordered with higher positions at the front of the list. Only those which ! ;; are less than `c-state-nonlit-pos-cache-limit' are valid. (defvar c-state-nonlit-pos-cache-limit 1) (make-variable-buffer-local 'c-state-nonlit-pos-cache-limit) --- 2026,2034 ---- (defvar c-state-nonlit-pos-cache nil) (make-variable-buffer-local 'c-state-nonlit-pos-cache) ! ;; A list of buffer positions which are known not to be in a literal or a cpp ! ;; construct. This is ordered with higher positions at the front of the list. ! ;; Only those which are less than `c-state-nonlit-pos-cache-limit' are valid. (defvar c-state-nonlit-pos-cache-limit 1) (make-variable-buffer-local 'c-state-nonlit-pos-cache-limit) *************** *** 2059,2064 **** --- 2059,2070 ---- ;; This function is almost the same as `c-literal-limits'. It differs in ;; that it is a lower level function, and that it rigourously follows the ;; syntax from BOB, whereas `c-literal-limits' uses a "local" safe position. + ;; + ;; NOTE: This function manipulates `c-state-nonlit-pos-cache'. This cache + ;; MAY NOT contain any positions within macros, since macros are frequently + ;; turned into comments by use of the `c-cpp-delimiter' category properties. + ;; We cannot rely on this mechanism whilst determining a cache pos since + ;; this function is also called from outwith `c-parse-state'. (save-restriction (widen) (save-excursion *************** *** 2077,2082 **** --- 2083,2093 ---- here) (setq lit (c-state-pp-to-literal pos npos)) (setq pos (or (cdr lit) npos)) ; end of literal containing npos. + (goto-char pos) + (when (and (c-beginning-of-macro) (/= (point) pos)) + (c-syntactic-end-of-macro) + (or (eobp) (forward-char)) + (setq pos (point))) (setq c-state-nonlit-pos-cache (cons pos c-state-nonlit-pos-cache))) (if (> pos c-state-nonlit-pos-cache-limit) *************** *** 2161,2167 **** ;; of fruitless backward scans. (defvar c-state-brace-pair-desert nil) (make-variable-buffer-local 'c-state-brace-pair-desert) ! ;; Used only in `c-append-lower-brace-pair-to-state-cache'. It is set when an ;; that defun has searched backwards for a brace pair and not found one. Its ;; value is either nil or a cons (PA . FROM), where PA is the position of the ;; enclosing opening paren/brace/bracket which bounds the backwards search (or --- 2172,2178 ---- ;; of fruitless backward scans. (defvar c-state-brace-pair-desert nil) (make-variable-buffer-local 'c-state-brace-pair-desert) ! ;; Used only in `c-append-lower-brace-pair-to-state-cache'. It is set when ;; that defun has searched backwards for a brace pair and not found one. Its ;; value is either nil or a cons (PA . FROM), where PA is the position of the ;; enclosing opening paren/brace/bracket which bounds the backwards search (or *************** *** 2846,2851 **** --- 2857,2885 ---- c-state-old-cpp-end nil) (c-state-mark-point-min-literal)) + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ;; Debugging routines to dump `c-state-cache' in a "replayable" form. + ;; (defmacro c-sc-de (elt) ; "c-state-cache-dump-element" + ;; `(format ,(concat "(setq " (symbol-name elt) " %s) ") ,elt)) + ;; (defmacro c-sc-qde (elt) ; "c-state-cache-quote-dump-element" + ;; `(format ,(concat "(setq " (symbol-name elt) " '%s) ") ,elt)) + ;; (defun c-state-dump () + ;; ;; For debugging. + ;; ;(message + ;; (concat + ;; (c-sc-qde c-state-cache) + ;; (c-sc-de c-state-cache-good-pos) + ;; (c-sc-qde c-state-nonlit-pos-cache) + ;; (c-sc-de c-state-nonlit-pos-cache-limit) + ;; (c-sc-qde c-state-brace-pair-desert) + ;; (c-sc-de c-state-point-min) + ;; (c-sc-de c-state-point-min-lit-type) + ;; (c-sc-de c-state-point-min-lit-start) + ;; (c-sc-de c-state-min-scan-pos) + ;; (c-sc-de c-state-old-cpp-beg) + ;; (c-sc-de c-state-old-cpp-end))) + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + (defun c-invalidate-state-cache-1 (here) ;; Invalidate all info on `c-state-cache' that applies to the buffer at HERE ;; or higher and set `c-state-cache-good-pos' accordingly. The cache is On Thu, Jan 27, 2011 at 03:26:57PM -0500, Michael Welsh Duggan wrote: > Included is pdusource.c: > > /* > ** Copyright (C) 2004-2011 by Carnegie Mellon University. > ** > ** @OPENSOURCE_HEADER_START@ [ .... ] > > -- > Michael Welsh Duggan > (mwd@cert.org) -- Alan Mackenzie (Nuremberg, Germany). From debbugs-submit-bounces@debbugs.gnu.org Sun Feb 20 14:19:45 2011 Received: (at 7930) by debbugs.gnu.org; 20 Feb 2011 19:19:45 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1PrEoq-0004eA-Q4 for submit@debbugs.gnu.org; Sun, 20 Feb 2011 14:19:44 -0500 Received: from md5i.com ([75.151.244.229] helo=maru.md5i.com) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1PrEoo-0004dz-Ql for 7930@debbugs.gnu.org; Sun, 20 Feb 2011 14:19:43 -0500 Received: from md5i by maru.md5i.com with local (Exim 4.72) (envelope-from ) id 1PrEoh-0001QN-Pw; Sun, 20 Feb 2011 14:19:35 -0500 From: Michael Welsh Duggan To: Alan Mackenzie Subject: Re: bug#7930: Forgot to include the file References: <20110220152616.GA1249@muc.de> Date: Sun, 20 Feb 2011 14:19:35 -0500 In-Reply-To: <20110220152616.GA1249@muc.de> (Alan Mackenzie's message of "Sun, 20 Feb 2011 15:26:16 +0000") Message-ID: <87oc664ipk.fsf@maru.md5i.com> User-Agent: Gnus/5.110011 (No Gnus v0.11) Emacs/24.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.9 (--) X-Debbugs-Envelope-To: 7930 Cc: 7930@debbugs.gnu.org, Michael Welsh Duggan X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.9 (--) Alan Mackenzie writes: > Here's a patch for the bug. Would you please try it out and let me know > it's OK. > > Thanks a lot for taking the trouble to pin this one down, and for > reporting it in such a high quality fashion. It was a nasty little bug > caused by a mistaken tacit assumption in an internal CC Mode cache. > > The cache in question maintains a list of "safe" positions every ~10,000 > characters, and in your file position 10,001 was in the middle of a > macro. It transpires that inside a macro is NOT a safe position ;-(. Yes, those five lines seem to do the trick. Thank you very much for tracking this down. It seems like it was a fairly brutal piece of debugging. -- Michael Welsh Duggan (md5i@md5i.com) From debbugs-submit-bounces@debbugs.gnu.org Mon Feb 21 16:20:48 2011 Received: (at 7930-done) by debbugs.gnu.org; 21 Feb 2011 21:20:48 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1PrdBX-0005oX-KA for submit@debbugs.gnu.org; Mon, 21 Feb 2011 16:20:47 -0500 Received: from colin.muc.de ([193.149.48.1] helo=mail.muc.de) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1PrdBV-0005oJ-Pf for 7930-done@debbugs.gnu.org; Mon, 21 Feb 2011 16:20:46 -0500 Received: (qmail 9351 invoked by uid 3782); 21 Feb 2011 21:20:38 -0000 Received: from acm.muc.de (pD9E52AAD.dip.t-dialin.net [217.229.42.173]) by colin2.muc.de (tmda-ofmipd) with ESMTP; Mon, 21 Feb 2011 22:20:37 +0100 Received: (qmail 3776 invoked by uid 1000); 21 Feb 2011 21:36:45 -0000 Date: Mon, 21 Feb 2011 21:36:45 +0000 To: 7930-done@debbugs.gnu.org Subject: Bug #7930 fixed Message-ID: <20110221213645.GA3702@muc.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.9i X-Delivery-Agent: TMDA/1.1.5 (Fettercairn) From: Alan Mackenzie X-Primary-Address: acm@muc.de X-Spam-Score: -2.5 (--) X-Debbugs-Envelope-To: 7930-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.5 (--) Fixed by modifying c-state-literal-at (cc-engine.el) so that positions within macros can't find their way into c-state-nonlit-pos-cache. Fixed in revision 103377. From unknown Wed Aug 20 03:11:09 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Tue, 22 Mar 2011 11:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator