unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: John Yates <john@yates-sheets.org>
To: Daniel Colascione <dancol@dancol.org>
Cc: Paul Eggert <eggert@cs.ucla.edu>,
	Stefan Monnier <monnier@iro.umontreal.ca>,
	emacs-devel@gnu.org
Subject: Re: inlinable functions instead of macros
Date: Sat, 18 Aug 2012 18:55:14 -0400	[thread overview]
Message-ID: <CAJnXXogBNqnUr0BCX6E=Vcyd9-9xHky4DzZdCqkTCoOCDayLZg@mail.gmail.com> (raw)
In-Reply-To: <503013F0.1020300@dancol.org>

On Sat, Aug 18, 2012 at 6:15 PM, Daniel Colascione <dancol@dancol.org> wrote:
>
> On Windows, we solved this problem a long time ago by teaching the
> operating system itself how to walk stack frames. When a program
> crashes, the OS captures a minidump containing the faulting stack,
> instruction pointer, register contents, and (optionally) things like
> data segments. If you have one of these minidumps, you don't need
> particularly good assertion-failure output: you have everything you
> need in the minidump, which you can load into the debugger and examine.

And even before that Vax/VMS solved the problem by capturing a stack
trace every time a signal was propagated (including of course ACCVIO
or access violation, the equivalent of SEGV).  A shell setting
controlled whether the trace was displayed by default of not.  Even if
one choose not to display it by default it was always available by
explicit request. VMS coding conventions encouraged failure
notification via signalling and required a signal handler to use a
subsystem specific status when propagating a signal.  This lead to
very informative stack traces consisting of call sites interspersed
with local statuses showing how failure was interpreted and reported
as it propagated up the stack.

/john



  reply	other threads:[~2012-08-18 22:55 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-17 23:48 inlinable functions instead of macros Stefan Monnier
2012-08-17 23:59 ` Paul Eggert
2012-08-18 22:15   ` Daniel Colascione
2012-08-18 22:55     ` John Yates [this message]
2012-08-19  4:22       ` Richard Stallman
2012-08-21 17:50   ` Stefan Monnier
2012-08-22  9:24     ` C backtraces for Emacs Paul Eggert
2012-08-22 16:01       ` Eli Zaretskii
2012-08-22 16:39         ` Paul Eggert
2012-08-23  0:40         ` Daniel Colascione
2012-08-23 16:55           ` Eli Zaretskii
2012-08-24 10:48       ` Paul Eggert
2012-08-25  4:41         ` Paul Eggert
2012-08-25  5:57           ` Eli Zaretskii
2012-08-22  9:28     ` inlinable functions instead of macros Paul Eggert
2012-08-22  9:48       ` Andreas Schwab
2012-08-22 14:31       ` Stefan Monnier
2012-08-24 21:37         ` Paul Eggert
2012-08-25  1:38           ` Tom Tromey
2012-08-25  2:58             ` Paul Eggert
2012-08-25  5:35               ` Eli Zaretskii
2012-08-25 20:13                 ` Tom Tromey
2012-08-26  4:42                   ` Paul Eggert
2012-08-25  2:05           ` Stefan Monnier
2012-08-26  5:31             ` Paul Eggert
2012-08-22 16:03       ` Eli Zaretskii
2012-08-18 19:08 ` Richard Stallman
2012-08-18 20:57   ` Paul Eggert
2012-08-18 21:03     ` Eli Zaretskii
2012-08-18 21:31       ` Paul Eggert
2012-08-19  2:45         ` Eli Zaretskii
2012-08-18 21:14   ` Óscar Fuentes
2012-08-19 17:28 ` Florian Weimer
2012-08-20 20:38 ` Sam Steingold

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAJnXXogBNqnUr0BCX6E=Vcyd9-9xHky4DzZdCqkTCoOCDayLZg@mail.gmail.com' \
    --to=john@yates-sheets.org \
    --cc=dancol@dancol.org \
    --cc=eggert@cs.ucla.edu \
    --cc=emacs-devel@gnu.org \
    --cc=monnier@iro.umontreal.ca \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).