scm_add_to_port_table replacement

2015-01-09 Thread Thien-Thi Nguyen
Guile-PG is currently undergoing the slog to Guile 2.x:

 http://git.sv.nongnu.org/cgit/guile-pg.git?h=p

One of the last remaining ‘GUILE_WARN_DEPRECATED=detailed’
nits is ‘scm_add_to_port_table’:

 libpq.c:203:3: warning: ‘scm_add_to_port_table’ is deprecated (declared at 
/home/ttn/eep/include/guile/2.0/libguile/ports.h:344) 
[-Wdeprecated-declarations]

Where can i find documentation on its replacement, please?

-- 
Thien-Thi Nguyen
   GPG key: 4C807502
   (if you're human and you know it)
  read my lisp: (responsep (questions 'technical)
   (not (via 'mailing-list)))
 => nil


signature.asc
Description: PGP signature


Re: concerns when integrating C++ code into guile?

2015-01-09 Thread Hans Aberg

> On 9 Jan 2015, at 03:30, Matt Wette  wrote:
> 
> 
> On Jan 7, 2015, at 5:00 PM, Matt Wette  wrote:
>> PyQt does not recompile Python in C++ so there must be some way to do it w/o 
>> recompiling python (=> guile).
> 
> I looked into PyQt a bit.   Only recent versions of Qt have exceptions.  The 
> bulk of the code is exception free.

If one is using the standard C++ library, it may throw exceptions.

> Also, PyQt uses a tool called "sip" to generate wrappers for the C++ code to 
> be integrated into Python.

Check if it has a try-catch clause.





Re: scm_add_to_port_table replacement

2015-01-09 Thread Ludovic Courtès
Thien-Thi Nguyen  skribis:

> One of the last remaining ‘GUILE_WARN_DEPRECATED=detailed’
> nits is ‘scm_add_to_port_table’:
>
>  libpq.c:203:3: warning: ‘scm_add_to_port_table’ is deprecated (declared at 
> /home/ttn/eep/include/guile/2.0/libguile/ports.h:344) 
> [-Wdeprecated-declarations]
>
> Where can i find documentation on its replacement, please?

The ‘lob_mklobport’ function in libpq.c should be changed to use
something like:

  SCM port;
  scm_t_port *c_port;
  const unsigned long mode_bits = SCM_OPN | SCM_RDNG | SCM_WRTNG;

  port = scm_new_port_table_entry (session_record_port_type);
  c_port = SCM_PTAB_ENTRY (port);

  SCM_SET_CELL_TYPE (port, session_record_port_type | mode_bits);

This has been supported in both 1.8 and 2.0 (perhaps 1.6 as well.)

HTH,
Ludo’.