unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
From: Han-Wen Nienhuys <hanwen@xs4all.nl>
Subject: Eval options macro: backward compatibility?
Date: Fri, 19 Jan 2007 16:24:15 +0100	[thread overview]
Message-ID: <eoqnqp$ki1$1@sea.gmane.org> (raw)


Hello,

what is the status of the eval options structure wrt binary compatibility?

Right now, it says

 scm_t_option scm_evaluator_trap_table[] = {
  { SCM_OPTION_BOOLEAN, "traps", 0, "Enable evaluator traps." },
  { SCM_OPTION_BOOLEAN, "enter-frame", 0, "Trap when eval enters new frame." },
  { SCM_OPTION_BOOLEAN, "apply-frame", 0, "Trap when entering apply." },
  { SCM_OPTION_BOOLEAN, "exit-frame", 0, "Trap when exiting eval or apply." },
  { SCM_OPTION_SCM, "enter-frame-handler", (unsigned long)SCM_BOOL_F, "Handler for enter-frame traps." },
  { SCM_OPTION_SCM, "apply-frame-handler", (unsigned long)SCM_BOOL_F, "Handler for apply-frame traps." },
  { SCM_OPTION_SCM, "exit-frame-handler", (unsigned long)SCM_BOOL_F, "Handler for exit-frame traps." }
};


this order is awkward when a new trap option has to be added.

The problematic thing is that this is exported to GUILE users, through

  #define SCM_ENTER_FRAME_P      scm_evaluator_trap_table[1].val

in eval.h

I would like to change this order, and if possible move this out of
the global namespace.  Are there any objections? It would break binary
compatibility with apps that inspect options by looking at
scm_evaluator_trap_table directly, but I believe those are broken
anyway.


-- 
 Han-Wen Nienhuys - hanwen@xs4all.nl - http://www.xs4all.nl/~hanwen



_______________________________________________
Guile-devel mailing list
Guile-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-devel


             reply	other threads:[~2007-01-19 15:24 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-01-19 15:24 Han-Wen Nienhuys [this message]
2007-01-20 14:35 ` Eval options macro: backward compatibility? Ludovic Courtès
2007-01-22 14:18   ` Han-Wen Nienhuys
2007-01-22 20:48     ` Kevin Ryde
2007-01-23  0:51       ` deprecated features Han-Wen Nienhuys
2007-01-23  1:03         ` Kevin Ryde
2007-01-23  1:20           ` Han-Wen Nienhuys
2007-01-23 14:50             ` Bruce Korb
2007-01-23 22:45               ` Han-Wen Nienhuys
2007-01-23 23:20                 ` Bruce Korb
2007-01-24  0:44                   ` Han-Wen Nienhuys
2007-01-24  0:10                     ` Bruce Korb
2007-01-23 23:10               ` Han-Wen Nienhuys
2007-01-23 23:35                 ` Bruce Korb
2007-01-24  0:38                   ` Han-Wen Nienhuys
2007-01-24 22:44             ` Kevin Ryde
2007-01-22 15:28   ` Eval options macro: backward compatibility? Han-Wen Nienhuys
2007-01-22 20:50   ` Kevin Ryde
2007-01-24 21:05 ` Kevin Ryde

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/guile/

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

  git send-email \
    --in-reply-to='eoqnqp$ki1$1@sea.gmane.org' \
    --to=hanwen@xs4all.nl \
    /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.
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).