Subject: bug#29083: closed (Re: bug#29083: CC Mode 5.32.99 (C/l); M-x c-defun-mode doesn't show anything)

From: [email-masked] (GNU bug Tracking System)
Date: Fri, 03 Nov 2017 20:10:02 +0000

Your bug report

#29083: CC Mode 5.32.99 (C/l); M-x c-defun-mode doesn't show anything

which was filed against the cc-mode package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
29083: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=29083
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#29083: CC Mode 5.32.99 (C/l); M-x c-defun-mode doesn't show anything
From: Alan Mackenzie <[email-masked]>
To: Felip Moll <[email-masked]>
Cc: [email-masked]
Date: Fri, 3 Nov 2017 20:02:41 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello, Felip.

On Tue, Oct 31, 2017 at 13:43:43 +0100, Felip Moll wrote:
> When inspecting a C code file, I pressed M-x c-defun-mode in order emacs
> to show me in which function I was, but nothing happened.

I've committed the fix to the three canonical places, namely the
standalone CC Mode project, XEmacs, and Emacs's savannah repository,
branch emacs-26.

The key sequence for the new command c-display-defun-name is C-c C-z.
Giving it a prefix arg (with C-u) also pushes the function name onto the
kill ring.  You can also use this command in the middle of an
interactive search if you have set (or customised) isearch-allow-scroll
to a non-nil value.

I'm closing this bug now.

If you want any help to incorporate the fix into Emacs 25.3, please send
me private mail.

> Emacs  : GNU Emacs 25.3.1 (x86_64-redhat-linux-gnu)
>  of 2017-09-15
> Package: CC Mode 5.32.99 (C/l)
> Buffer Style: gnu
> c-emacs-features: (pps-extended-state col-0-paren posix-char-classes
> gen-string-delim gen-comment-delim syntax-properties 1-bit)

[ .... ]

-- 
Alan Mackenzie (Nuremberg, Germany).

Subject: CC Mode 5.32.99 (C/l); M-x c-defun-mode doesn't show anything
From: Felip Moll <[email-masked]>
To: [email-masked]
Date: Tue, 31 Oct 2017 13:43:43 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

When inspecting a C code file, I pressed M-x c-defun-mode in order emacs
to show me in which function I was, but nothing happened.

Emacs  : GNU Emacs 25.3.1 (x86_64-redhat-linux-gnu)
 of 2017-09-15
Package: CC Mode 5.32.99 (C/l)
Buffer Style: gnu
c-emacs-features: (pps-extended-state col-0-paren posix-char-classes
gen-string-delim gen-comment-delim syntax-properties 1-bit)

current state:
==============
(setq
 c-basic-offset 2
 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 . 0)
           (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 . c-lineup-arglist-intro-after-paren)
           (statement-cont . +)
           (statement-case-open . +)
           (label . 0)
           (substatement-label . 0)
           (substatement-open . +)
           (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 "[     ]*\\(//+\\|\\**\\)[     ]*\\([
]*\\([-–!|#%;>*·•‣⁃◦]+[     ]*\\)*\\)"
 )