Skip to main content
Share Your Experience: Take the 2024 Developer Survey

Questions tagged [c]

is for C source code editing, completions, formatting, compiling, folding, searching, executing, syntax checking, debugging, and other modern IDE features that Emacs supports.

Filter by
Sorted by
Tagged with
21 votes
1 answer
4k views

How to automatically create neat C comment blocks while typing?

Some code editors such as eclipse automatically form neat blocks when you start typing a multi-line comment: Is there some package or another way to do this in emacs too? Edit: To clarify: I do not ...
Geier's user avatar
  • 732
12 votes
2 answers
7k views

How to get semantic syntax highlighting on emacs for C/C++ code

I'm new to emacs and programming in general so please bear with me. I'm trying to use emacs as my C/C++ IDE, and I noticed that in CC mode the variables/functions seemed to be highlighted only during ...
DJ lee's user avatar
  • 131
11 votes
3 answers
2k views

How can I automatically insert a prototype in foo.h from foo.c?

Suppose I'm writing a C program in a file foo.c: int add_numbers(int x, int y, int z) { // Very complex implementation here. return x + y + z; } I want a command that will insert a ...
Wilfred Hughes's user avatar
8 votes
2 answers
1k views

Hook that indicates when the cursor has been moved by scrolling

Inspired by this question: Let Emacs move the cursor off-screen, I am considering writing a minor mode that will keep the cursor in a fixed position that is not affected by scrolling operations. I ...
nispio's user avatar
  • 8,235
7 votes
3 answers
7k views

Better syntax-higlighting for member variables and function calls in cpp-mode

In atom, C++ files are well colored unlike emacs cpp-mode. Emacs does not highlight references to member variables, function calls or member functions. They all are uncolored. The left is from emacs ...
Hckr's user avatar
  • 171
7 votes
4 answers
769 views

How do I disable ffap (find file at point) when the first two non-space characters in a line are '//'?

In Verilog/C/C++, comments can begin with //. Here's an example comment, //This is a comment I like to use the find-file-at-point feature. If my cursor is on the file name in `include "some_file.v"....
Kaushal Modi's user avatar
  • 25.7k
7 votes
2 answers
594 views

How to transpose two arguments of a function call for C family languages?

How to swap two arguments for C function calls? eg: my_function(foo, bar, baz); ~~~~~~~~~~~~~^ (cursor location) Should be transposed to the right to make: my_function(bar, foo, baz); The simple ...
ideasman42's user avatar
  • 8,826
7 votes
1 answer
516 views

How can I build/package Emacs so that the C source files are installed to a standard find-function-C-source-directory?

I want to be able to view C source code of Emacs functions. For example, I want to be able to do M-: (find-function 'message). Emacs prompts me for directory the C sources, so it can set find-...
Wilfred Hughes's user avatar
6 votes
2 answers
19k views

How to compile and run a C++ file? [closed]

I don't know how to compile and run a C++ file in GNU Emacs. I searched on the various sites and stackexchange network, but from them what I understood was write something like make compile, and I don'...
garakchy's user avatar
  • 203
6 votes
2 answers
3k views

How to use C++ comments "//" in c-mode?

In c-mode comment-region is adding /* */ style comments. Is there a way to default to using C++ style // prefix in C source files instead?
ideasman42's user avatar
  • 8,826
6 votes
2 answers
300 views

How to add a new .c file to Emacs source code

I've added my own .c file to Emacs /src directory as well as the following lines emacs.o: ... file.c file.h file.o: file.c in deps.mk I get file.o generated, but it is not linked when generating ...
Sergey's user avatar
  • 243
5 votes
3 answers
4k views

Syntax highlight doxygen comments in C/C++? (c-doc-comment-style)

Is it possible to syntax highlight doxygen in C/C++ code? QtCreator and Vim both support basic highlighting so \param, \note... etc are highlighted differently.
ideasman42's user avatar
  • 8,826
5 votes
1 answer
2k views

C brace indentation

I am new to Emacs and trying to learn the basics. I am writing a few C programs and I noticed that the default brace indentation is as follows: for(i = 0; i < 10; ++i) { // code }...
Q'''s user avatar
  • 173
5 votes
1 answer
2k views

C/C++ coding in Emacs org-mode's babel

I'm not finding a lot of examples/documentation for the non-REPL world of C/C++ in Emacs org-mode babel. For example, is there a way to break a program up into separate source code blocks, i.e., a ...
147pm's user avatar
  • 2,969
5 votes
2 answers
6k views

emacs cscope integration basics

I am a long term eclipse CDT user migrating to emacs (ver. 23.3.1), because I have to work on a large C codebase accessible only through a telnet/ssh shell. After going through several online guides, ...
Karko 's user avatar
  • 51
5 votes
2 answers
138 views

Swap two statement on adjacent lines in C when one statement takes multiple lines

Assume that I have the following code: int x; string s = "some very long " " string"; I would like to have one command that swaps the order of these without ending up with something like: ...
eof's user avatar
  • 91
4 votes
1 answer
346 views

Custom indentation for macros in C mode

I'm working in a codebase with an extensive use of function macros and I'm having some difficulty finding the correct way to set indentations with them. Specifically, we pass a lot of statement lists {...
Koala Bear's user avatar
3 votes
1 answer
3k views

Emacs does not contain package "package"

I want to add C auto-completion at least so that I can use Emacs on a regular basis as my C editor. I am new to Emacs, and I had already it installed in my system, because it came with the OS (I think)...
user avatar
3 votes
3 answers
14k views

How can I compile and run my C code from within Emacs like I would with the terminal?

I recently moved from Code::Blocks to Emacs to write C code. The one thing I don't like (because it takes too much time and effort for a simple and repetitive task) is the fact that I can't compile/...
elanonrigby's user avatar
3 votes
2 answers
2k views

C/C++ with tree sitter: how to change indent?

I use Emacs with tree sitter for c++ code (c++-ts-mode). With usual c++-mode I've used this fix for me: (c-set-offset 'inline-open '0) but I don't understand how to do it in new c++-ts-mode. In ...
Sergey's user avatar
  • 243
3 votes
1 answer
771 views

How to us a shortcut to add semicolon to end of current line?

Is there a shortcut to add a semicolon to the end of the current line of code? For instance, M-; inserts a comment at the end of the current line of code. Is there anything like that for a semicolon? ...
mrbean's user avatar
  • 133
3 votes
2 answers
2k views

Gray-out preprocessor conditionals

Is there a package that will gray out or hide the false portion of a c preprocessor macro? #define ENABLE 1 #if ENABLE bool hide = false; #else bool hide = true; #endif In the above example, ...
tomcat's user avatar
  • 355
3 votes
1 answer
1k views

Change C indent style for specific project?

I have in my ~/.emacs.d/init.el: (use-package google-c-style ;; provides the Google C/C++ coding style :ensure t :config (add-hook 'c-mode-common-hook 'google-set-c-style)) However, a ...
space_voyager's user avatar
3 votes
2 answers
408 views

Does your project use Elisp for build automation?

I'm building a new appliance, linking BusyBox with Tor on top of a minimal GNU/Linux operating system. I'd like to try something different for the automated build infrastructure with this one and ...
Ian Bryant's user avatar
3 votes
1 answer
217 views

How to get the following indentation style in c?

I would like to have the following behavior: int main(){ to result in: int main(){ | } Where pipe is the cursor, and I DON'T have to press RETURN key after '{'. I have already achieved the ...
Typedragon33's user avatar
3 votes
1 answer
739 views

#ifdef __cplusplus nuisance: How to prevent extra indenting?

If you ever wrote header files that have to be used by both C compiler and C++ compiler, you'd encounter this particular ifdef. This construct causes one to insert extra curly braces in the header ...
wvxvw's user avatar
  • 11.4k
3 votes
1 answer
138 views

Centering within comment blocks or ASCII art

I have C comments like this: /****************************************************************************** * Includes * ***********...
Vercingatorix's user avatar
3 votes
0 answers
428 views

Valgrind interface for emacs

Is there an interface similar to 'gdb-mi' for using Valgrind in emacs? What are some ways to use Valgrind inside emacs?
hrkrshnn's user avatar
  • 439
3 votes
0 answers
156 views

Working around preprocessor blocks

I am trying to navigate a C project that has lots of preprocessor directives like this: #ifdef SOME_COMPILE_TIME_VARIABLE for ( idx=0; idx<FOO; idx++ ) { #else for ( idx=0; idx<BAR; idx+...
nispio's user avatar
  • 8,235
3 votes
0 answers
169 views

Turn C Electric Indentation off only for specific characters

Extending Customizing c-mode indentation behavior in emacs-24.4 How can electric indentation be disabled for other specific keys without disabling the entire mode? Specifically, how can electric ...
user2127595's user avatar
2 votes
1 answer
10k views

Auto-complete C/C++ functions

I want code completion for C/C++ functions and variables from headers. I tried to install Auto-complete and Company, but C/C ++ functions/variables aren't complemented. Here is the relevant portion ...
drfels's user avatar
  • 123
2 votes
1 answer
1k views

Compile and run C-Programs in Emacs

I'm currently learning C with a book that has many small code examples that the reader is supposed to write, run and experiment with. I'm using Emacs as my primary tool for everything that has to do ...
Tim Hilt's user avatar
  • 307
2 votes
1 answer
696 views

How to make an alias in eshell

I want to make an alias in eshell so that when I type gcc it actually does gcc -Wall -pedantic -std=c99 but when I make the alias, it just displays gcc -Wall -pedantic -std=c99 and doesn't actually ...
suprememachine1234's user avatar
2 votes
1 answer
275 views

Emacs not indenting enum / enum class contents

I've got a small problem to do with Doom Emacs / Emacs. Enum contents are not indented at all... Here's what I would like: enum class RandomEnum { A, B, C, D }; Here's what I get: ...
Krys's user avatar
  • 105
2 votes
2 answers
4k views

How to run C/C++ code in Org Babel?

I'm trying to execute C and/or C++ snippets in Org Babel. For example, I want to be able to execute the following snippet with C-c C-c: #+begin_src C printf ("Hello World!"); #+end_src The ...
Wouter Beek's user avatar
2 votes
2 answers
269 views

Automatically insert a space in some C expressions

The corporate rules about indention forces us to surround our if conditions with spaces like this (in a C and C++ codebase) : if (<space>foo == bar<space>) { } Is there any emacs tool ...
Guid's user avatar
  • 121
2 votes
0 answers
103 views

How to modify behavior of syntax highlighting without editing the original source?

There is a bug in C/C++ comment highlighting (bug 11865) Where the fix appears to be to modify the value of c-font-lock-doc-comments Is there a way to do this in my emacs config, instead of having ...
ideasman42's user avatar
  • 8,826
1 vote
2 answers
3k views

How to set up hotkey for compiling c code and run the compiled file?

I used to use tmux with vim to write codes in C/C++. So I split the screen into two in tmux and then press F3 to "make" the file. And then I can press F4 to run the "main" file in the next subscreen. ...
Jon's user avatar
  • 11
1 vote
3 answers
403 views

Emacs equivalent of the following vim operation

In the answer to a question on Quora, Gilles Castel wrote an answer highlighting the power of vim. The Question was: How would you write a C program to print 1 to 100 without loop, recursion, or ...
Divyansh Gupta's user avatar
1 vote
2 answers
858 views

How to display type of C variable in a curses type menu?

A friend of mine who uses vim had this useful feature enabled, that allowed him to see type/completion information in a dropdown window even in terminal mode. Currently in emacs I have to actually ...
Pushpendre's user avatar
1 vote
1 answer
137 views

C offset is 2 with treesit

I recently started using treesit and I'm noticing with C files, my auto-indent is 2 spaces. How can I fix this to make it 4 spaces again? I've tried c-basic-offset.
user129393192's user avatar
1 vote
1 answer
390 views

How do I populate tags for C?

I hover over stdlib: #include <stdlib.h> I type M-. and it asks me: Visit tags table (default TAGS): I don't have one of those. I see a lot of information about TAGS in the emacs ...
Mittenchops's user avatar
1 vote
2 answers
171 views

How to NOT Auto Indent when a specific Character is inputted?

So I recently encountered a problem programming in C that whenever I enter the left parenthesis character, (, Emacs auto-idents the code. [4 spaces here]DATA *SeqQueueOut( I know that there is this ...
user30099's user avatar
1 vote
1 answer
39 views

How to see brief location in the code in C/C++ mode

While editing a long C++ file, I use rtags to jump around. It would be very handy for me to know where I am in terms of where the cursor is relative to the classes-functions. For example, it would be ...
yujaiyu's user avatar
  • 896
1 vote
1 answer
397 views

How to find where a given function is called from in gtags

I am using gtags and can jump to where a function is defined. Howeve I am not able to find inside a function where it is begin called from. Is there anyway to find where a function is called from?
Roarer's user avatar
  • 11
1 vote
2 answers
399 views

What is the good resource for getting started using EMACS? [duplicate]

I have not used EMACS seriously in 20 years. I work on a Mac and am a vi/Eclipse person now. I want to switch back to EMACS for C and C++ programming. When I was researching EMACS add-on packages ...
user1172468's user avatar
  • 1,047
1 vote
1 answer
89 views

How to pass the current scopes function symbol as an argument to an elisp function

I am trying to create an org-capture template which works with yankpad and yasnippets to such that if I am working with some c code like this: example.c static int somefunc(int a) { if (a ==5) { ...
Reginald Marr's user avatar
1 vote
1 answer
93 views

c-set-style: Error loading guessed style

My company has very specific indentation rules for C code. I want to create a style from those rules, and have it load at startup. Doing a C/Guess Style From This Buffer and C/Install Last Guessed ...
Vercingatorix's user avatar
1 vote
1 answer
478 views

How can I lint a C file?

I have the following: int main() { int a = 1; int b = 2; return 0; }; I am expecting some lint to align the indentation. My file is open with (C/*l AC Abbrev). I try C-c . which asks me:...
Mittenchops's user avatar
1 vote
1 answer
284 views

Customize org babel execution command in C

I have the following C code: #include <stdio.h> #include <math.h> int main(){ printf("Square = %d", pow(4,2)); return 0; } Now if I run this in the shell. I would first compile ...
mle0312's user avatar
  • 295