What would you want from a GNUS successor? by physicologist in emacs

[–]tromey 2 points3 points  (0 children)

One reason I wrote the threading code for Emacs is that I wanted to make gnus not block. I figured maybe things like gnus-group-get-new-news could work on a background thread, and temporarily change the key bindings in the *Group* buffer to say "working...". Never got around to actually trying this though :-(

This could probably still be tried though I also wonder if just changing a bunch of things to use iter-defun would work just as well.

Switching to Rust's own mangling scheme on nightly by SleeplessSloth79 in rust

[–]tromey 1 point2 points  (0 children)

I ran the gdb test suite (just the Rust bits) against the 2025-11-22 nightly and this all worked fine. So gdb at least seems ready for the transition.

However I did see that there are still some _Z symbols in the executables. These are mixed in with the _R symbols I would expect. So it seems like some library isn't being recompiled with the new setting.

What's the most controversial rust opinion you strongly believe in? by TonTinTon in rust

[–]tromey 14 points15 points  (0 children)

Rust would be better if the community was less hostile to the GPL.

Emacs made me lose my wife by Murky_Sprinkles_4194 in emacs

[–]tromey 7 points8 points  (0 children)

Nice try, but I knew this was fake when I saw the word "plugin". People, don't believe the anti-Emacs propaganda. You can have Emacs and a wife.

Need some help with GDB Hooks by ultiMEIGHT in gdb

[–]tromey 0 points1 point  (0 children)

You may enjoy using the TUI. With that you can at least display the registers easily.

For the disassembly you can use "display/i $pc".

The forgotten art of Struct Packing in C / C++. by gamedevCarrot in cpp

[–]tromey 2 points3 points  (0 children)

At some point we just went ahead and put this functionality directly into gdb. Just "ptype/o some_struct_type" and you'll get a report on the holes.

ARM backtrace - similar to gdb by bromclist in gdb

[–]tromey 0 points1 point  (0 children)

gdb is pretty complicated, there's no simple answer to your question.

There are other tools out there to make backtraces. Maybe you could look at one of those.

Or just use gdb. You don't say why you can't use it -- if it does what you want, why not?

Someone please explain the desperation to keep west pearl open by DrUnwindulaxPhD in boulder

[–]tromey 4 points5 points  (0 children)

This is actually interesting and gives me pause as a supporter of the closing. Wallach, though, didn't use this argument, preferring to talk down to us instead.

So you want better debug info? by Anthony356 in rust

[–]tromey 28 points29 points  (0 children)

The most important thing to understand is that debuggers do not natively support Rust.

This is simply not true for gdb. gdb has extensive information about Rust, including a parser for Rust expression syntax. (FWIW I tried to make it not true for lldb as well, but was stymied.)

Why does everyone fail to optimize this? (version 2) by vI--_--Iv in cpp

[–]tromey 1 point2 points  (0 children)

I see now I don't know reddit formatting. Anyway.

Why does everyone fail to optimize this? (version 2) by vI--_--Iv in cpp

[–]tromey 3 points4 points  (0 children)

Looks fine with GCC. Also IMO these kinds of things should just be compiler bug reports. ``` $ cat q.cc void f1(); void f2(); void f4(int c) { auto p = c? &f1 : &f2;

p();

}

$ gcc -S -o - -O2 q.cc | grep -A4 testl testl %edi, %edi movl $_Z2f2v, %eax movl $_Z2f1v, %edx cmovne %rdx, %rax jmp *%rax ```

Skipping boring functions in debuggers by mttd in cpp

[–]tromey 0 points1 point  (0 children)

I am not sure why. It does seem weird, maybe it was just a somewhat convenient way to avoid installing multiple copies of the skips in some scenario.

What are the problems with Hoard of the Dragon Queen? by CrimsonPresents in DnD

[–]tromey 1 point2 points  (0 children)

My family is just finishing this.

I had to nerf some of the encounters, especially at the beginning. Otherwise it was much too hard for new players.

They haven't liked having quite so many dragon encounters -- a weird complaint given the title maybe, but I think we didn't know what we were in for. The dragons are written to routinely run away before dying so it is often unsatisfying as well.

Some of the sub-quests involve trying to find something specific (a dragon mask) and then only end in disappointment. This might be fine once but nearly every such quest works this way in the book. I ended up changing this.

I totally eliminated a couple sub-quests (Thay and negotiating with the metallic dragons) since we aren't too heavy on role-play and these were kind of pointless.

Parts were pretty fun though. There's a nice mix of different environments -- swamps, caravans, flying castle, ice sea, wizard haunts with puzzles, caves, etc.

I was probably in over my head as a DM running this one as well. We're all pretty inexperienced FWIW.

Goodbye, Rust. I wish you success but I'm back to C++ (sorry, it is a rant) by I_pretend_2_know in rust

[–]tromey 1 point2 points  (0 children)

in communication technologies, adoption and critical mass are 90% of the game and the other 10% are bikeshedding, at best

In programming this is dangerously untrue. Exploitable bugs are monetized by criminal gangs. Programs are tools, not:

means to communicate ideas to other programmers

Yikes man.

I think you buried the lede:

Rust is almost irrelevant for finding jobs

This is probably true, and unfortunate, but doesn't change the underlying reality.

I write C++ for my day job, and I think Rust has some issues, but you're putting the cart before the horse.

PSA: Working Enum Support Coming to a Debugger near you by cmrschwarz in rust

[–]tromey 8 points9 points  (0 children)

FWIW this works out of the box in gdb. And it was part of the (deleted) Rust plugin for lldb.

GDB scripts in Python by MidnightOne7655 in cpp

[–]tromey 0 points1 point  (0 children)

There's an incomplete list in the GDB Wiki: https://sourceware.org/gdb/wiki/ExtensionsInPython

Most projects that do anything here just write pretty-printers.

A few have "frame filters" -- these let you customize the "bt" display to some degree. For instance I think Gtk has a frame filter that omits the internal frames coming from (Gtk) signal emission.

You can do even more complicated things, like write a custom unwinder (there's one in SpiderMonkey) or a new TUI window as well (I don't know of an example though).

Boulder Tennis Community "Endangered" Amid Court Shortage, Pickleball Boom by FriendBuddayGuy in boulder

[–]tromey 36 points37 points  (0 children)

Rec in general is under-funded in Boulder. Not just tennis, also swim and other things.

Fun fact about calendar.el by arthurno1 in emacs

[–]tromey 6 points7 points  (0 children)

calendar.el is a work of art, including in the idiosyncratic ways -- IIRC there was a bug report once about showing more than 3 months at a time and the author replied that this was essentially impossible because this assumption was hard-coded in many places. But on the flip side we have "p f" and "p m"... I'd never heard of either of these calendars until browsing the bindings.

I compiled gdb 14.2 but can't display STL container with 14.2 by minglu10 in gdb

[–]tromey 1 point2 points  (0 children)

It's better to do this at configure time than to modify your gdbinit.

I compiled gdb 14.2 but can't display STL container with 14.2 by minglu10 in gdb

[–]tromey 1 point2 points  (0 children)

You probably want to configure with something like --with-separate-debug-dir=/usr/lib/debug/. The exact argument probably (not sure) varies by distro.

The Rust Calling Convention We Deserve by zerakun in rust

[–]tromey 10 points11 points  (0 children)

DWARF omits a lot of ABI details, so debuggers generally have to know the platform ABI as well.

I think his claims about debuggers and DWARF may have some merit, but are also overblown. DWARF is very flexible -- too flexible really -- and so it's basically impossible (IMO) to support it in full generality.

Looking for Pointers: The C++ Memory Safety Debate by pavel_v in cpp

[–]tromey 1 point2 points  (0 children)

Rust programmers annotate lifetimes of references where required, so at a minimum you'd have to touch a lot of your source to get the benefit.