gEDA-user: mail to Stephen Williams

2009-03-24 Thread Sascha Silbe

Hi!

Sorry to send this via the list, but Stephens mail server blacklisted 
one of germanys largest root server providers so direct mail doesn't 
work.


CU Sascha

--
http://sascha.silbe.org/
http://www.infra-silbe.de/
---BeginMessage---
Hi. This is the qmail-send program at smtp.chost.de.
I'm afraid I wasn't able to deliver your message to the following addresses.
This is a permanent error; I've given up. Sorry it didn't work out.

st...@icarus.com:
209.172.115.90 does not like recipient.
Remote host said: 550 5.7.1 setoy.chost.de[217.160.209.225]: Client host 
rejected: Subnet 217.160 - Schlund - is a virus nest
Giving up on 209.172.115.90.

--- Below this line is a copy of the message.

Return-Path: sascha-people-stephen_willi...@silbe.org
Received: (qmail 31015 invoked by uid 5015); 24 Mar 2009 16:45:40 -
Received: (nullmailer pid 30984 invoked by uid 8193);
Tue, 24 Mar 2009 16:44:28 -
Date: Tue, 24 Mar 2009 17:44:28 +0100
From: Sascha Silbe sascha-people-stephen_willi...@silbe.org
To: Stephen Williams st...@icarus.com
Subject: Re: gEDA-user: Icarus Verilog Release 0.9.1
Message-ID: 20090324164428.gb2...@twin.sascha.silbe.org
References: 49c8ffce.7060...@icarus.com
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha1;
protocol=application/pgp-signature; boundary=KFztAG8eRSV9hGtP
Content-Disposition: inline
In-Reply-To: 49c8ffce.7060...@icarus.com
User-Agent: Mutt/1.5.18 (2008-05-17)


--KFztAG8eRSV9hGtP
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Tue, Mar 24, 2009 at 08:44:14AM -0700, Stephen Williams wrote:


FYI:

 [-- PGP output follows (current time: Tue 24 Mar 2009 05:42:26 PM CET)=20
 --]
 gpg: Signature made Tue 24 Mar 2009 04:44:14 PM CET using DSA key ID=20
 CD9BDE29
 gpg: Good signature from Stephen Williams st...@icarus.com
 gpg: Note: This key has expired!
 Primary key fingerprint: 1969 00B2 04B3 228D D6F3  4E95 ACFB 7549 CD9B=20
 DE29
 [-- End of PGP output --]

There's no updated key on subkeys.pgp.net.

CU Sascha

--=20
http://sascha.silbe.org/
http://www.infra-silbe.de/

--KFztAG8eRSV9hGtP
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: Digital signature
Content-Disposition: inline

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (GNU/Linux)

iQEcBAEBAgAGBQJJyQ3oAAoJELpz82VMF3Da0qwH/0sslS2zQm12ViVNGtrdRNHi
udHV2erx8Sp4eIMm3xaQYWmt27N2ybYwY0w4dPzaeKwCi6ApznDHZwuOJEXqXTOt
Psyw3s51OFTugfyXykv/WYBL4PPvHPIemCwqfBZJlNGjXK1tsdVMgLzANToLFI3O
ZMXY8Y2ct2C94Es0k+WcPUsC4ET/g2rUST+ppsrHieL9pVQV6dFWsaX8RABYIcFR
L56cLPuVcO8WRmJZa7GtG1Bbn+wLYATcBKrmRydNHHxHZhzzSnP2RHcZT9khRmuo
i9QhN7CMxT05WGGPDa+C0As3jdC0k3U35NwTCtZa4QgJD9tQZ5LkaIbs4tRy2Yw=
=hQCw
-END PGP SIGNATURE-

--KFztAG8eRSV9hGtP--
---End Message---


signature.asc
Description: Digital signature


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


gEDA-user: git compilation problem: undefined reference to `gtk_selection_data_get_data'

2009-01-30 Thread Sascha Silbe

Hi!

For the last few days, I'm unable to compile (or rather, to link) gEDA 
from git (it used to work). The error is:


gcc -Wall -g -O2   -o gschem  a_pan.o a_zoom.o g_funcs.o g_hook.o 
g_keys.o g_rc.o g_register.o globals.o gschem.o gschem_cairo.o 
gschem_dialog.o gschem_toplevel.o i_basic.o i_callbacks.o i_vars.o 
m_basic.o o_arc.o o_attrib.o o_basic.o o_box.o o_buffer.o o_bus.o 
o_circle.o o_complex.o o_copy.o o_cue.o o_delete.o o_find.o o_grips.o 
o_line.o o_misc.o o_move.o o_net.o o_path.o o_picture.o o_pin.o 
o_place.o o_select.o o_slot.o o_text.o o_undo.o parsecmd.o 
x_attribedit.o x_autonumber.o x_basic.o x_clipboard.o x_color.o 
x_compselect.o x_dialog.o x_event.o x_fileselect.o x_grid.o x_image.o 
x_log.o x_menus.o x_multiattrib.o x_pagesel.o x_preview.o x_print.o 
x_script.o x_stroke.o x_window.o 
-L/home/sascha.silbe/arch/x86_64-linux-glibc2.3.6/stow/geda-devel/lib 
-lstroke 
-L/home/sascha.silbe/arch/x86_64-linux-glibc2.3.6/stow/geda-devel/lib 
-lgeda -lgdk_pixbuf-2.0 -lm -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0  
 -lglib-2.0   -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 
-lm -lpangocairo-1.0 -lfontconfig -lXext -lXrender -lXinerama -lXi 
-lXrandr -lXcursor -lXfixes -lpango-1.0 -lcairo -lX11 -lgobject-2.0 
-lgmodule-2.0 -ldl -lglib-2.0-pthread -lgthread-2.0 -lglib-2.0

x_clipboard.o: In function `x_clipboard_get':
/home/sascha.silbe/src/geda/gaf/gschem/src/x_clipboard.c:199: undefined 
reference to `gtk_selection_data_get_data'


I cannot find that symbol in any library (in /usr/lib). Does gEDA now 
require GTK  2.8.20 (that's the version on my Debian etch system)?
The strange thing is that it fails at link time, not compilation time 
(yes, I've done make distclean to ensure everything is compiled from 
scratch).


CU Sascha

--
http://sascha.silbe.org/
http://www.infra-silbe.de/


signature.asc
Description: Digital signature


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: german article in the linux magazin online now

2009-01-27 Thread Sascha Silbe

On Mon, Jan 26, 2009 at 05:50:15PM -0800, Ben Jackson wrote:


Maybe we need a gschem HID for pcb?  ;-)
They're both pretty bad.  There must be something about CAD programs 
that

leads to wacky user interfaces.
Actually gschem is the best and most intuitive one I've ever used. I 
really love it, especially the two-key actions. Much easier to remember 
than obscure combinations of normal keys with modifier keys. The 
latter ones are often hard to reach with only one hand on the keyboard, 
as well.
I could use gschem right away - the hard part wasn't using the UI, but 
getting symbols resp. adding the right attributes to the hand-drawn 
symbols.
But then again, I am not an ordinary user. I'd have a very hard time 
(and would probably give up really soon) using one of those modern 
mouse-centric tools. Got a demo for some parametric CAD package in use 
at a company a few years ago - the concept was great (yes, the last time 
I used CAD was in the 1990s - so it WAS news to me ;) ), but it was 
completely mouse-controlled (at least by the person doing the demo). 
That gave me the creeps.


Summary: Be careful when changing the interface to better suit 
newbies. Some of them might actually be repelled by the 
supposedly-better one. One solution might be to offer several 
alternatives to choose from at first start.


Re. PCB: Tooltips showing the keybindings of non-menu items (i.e. layers 
and mode buttons) and (less importantly) a way to change them from 
within the application would be great. Those bindings are buried 
somewhere in the documentation that wasn't entirely obvious to me - a 
full table of contents (including subsections) would have helped as 
well. Yeah, I should just RTFM completely one of these days. :)


CU Sascha

--
http://sascha.silbe.org/
http://www.infra-silbe.de/


signature.asc
Description: Digital signature


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Open GL survey (for PCB)

2009-01-27 Thread Sascha Silbe

On Tue, Jan 27, 2009 at 08:51:00PM +, Peter Clifton wrote:


glxinfo  glxinfo.txt

Attached.


I's also be curious to know what kind of numbers you get running
glxgears.. (ok - technically glxgears isn't a good benchmark, but
never mind).

~1200fps. Yes, it's really just the on-board stuff (Radeon HD 3200). :)

CU Sascha

--
http://sascha.silbe.org/
http://www.infra-silbe.de/
name of display: :0.0
display: :0  screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.2
server glx extensions:
GLX_ARB_multisample, GLX_EXT_visual_info, GLX_EXT_visual_rating, 
GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_OML_swap_method, 
GLX_SGI_make_current_read, GLX_SGIS_multisample, GLX_SGIX_hyperpipe, 
GLX_SGIX_swap_barrier, GLX_SGIX_fbconfig, GLX_MESA_copy_sub_buffer
client glx vendor string: SGI
client glx version string: 1.4
client glx extensions:
GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, 
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_allocate_memory, 
GLX_MESA_swap_control, GLX_MESA_swap_frame_usage, GLX_OML_swap_method, 
GLX_OML_sync_control, GLX_SGI_make_current_read, GLX_SGI_swap_control, 
GLX_SGI_video_sync, GLX_SGIS_multisample, GLX_SGIX_fbconfig, 
GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group, 
GLX_EXT_texture_from_pixmap
GLX version: 1.2
GLX extensions:
GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, 
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_OML_swap_method, 
GLX_SGIS_multisample, GLX_SGIX_fbconfig
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: ATI Radeon HD 3200 Graphics
OpenGL version string: 2.1.7769 Release
OpenGL extensions:
GL_AMD_performance_monitor, GL_ARB_depth_texture, GL_ARB_draw_buffers, 
GL_ARB_fragment_program, GL_ARB_fragment_shader, GL_ARB_multisample, 
GL_ARB_multitexture, GL_ARB_occlusion_query, GL_ARB_pixel_buffer_object, 
GL_ARB_point_parameters, GL_ARB_point_sprite, GL_ARB_shader_objects, 
GL_ARB_shading_language_100, GL_ARB_shadow, GL_ARB_shadow_ambient, 
GL_ARB_texture_border_clamp, GL_ARB_texture_compression, 
GL_ARB_texture_cube_map, GL_ARB_texture_env_add, 
GL_ARB_texture_env_combine, GL_ARB_texture_env_crossbar, 
GL_ARB_texture_env_dot3, GL_ARB_texture_float, 
GL_ARB_texture_mirrored_repeat, GL_ARB_texture_non_power_of_two, 
GL_ARB_texture_rectangle, GL_ARB_transpose_matrix, 
GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_ARB_vertex_shader, 
GL_ARB_window_pos, GL_ATI_draw_buffers, GL_ATI_envmap_bumpmap, 
GL_ATI_fragment_shader, GL_ATI_meminfo, GL_ATI_separate_stencil, 
GL_ATI_shader_texture_lod, GL_ATI_texture_compression_3dc, 
GL_ATI_texture_env_combine3, GL_ATI_texture_float, GL_EXT_abgr, 
GL_EXT_bgra, GL_EXT_blend_color, GL_EXT_blend_func_separate, 
GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_compiled_vertex_array, 
GL_EXT_copy_texture, GL_EXT_draw_range_elements, GL_EXT_fog_coord, 
GL_EXT_framebuffer_blit, GL_EXT_framebuffer_multisample, 
GL_EXT_framebuffer_object, GL_EXT_gpu_program_parameters, 
GL_EXT_multi_draw_arrays, GL_EXT_packed_depth_stencil, 
GL_EXT_packed_float, GL_EXT_packed_pixels, GL_EXT_point_parameters, 
GL_EXT_rescale_normal, GL_EXT_secondary_color, 
GL_EXT_separate_specular_color, GL_EXT_shadow_funcs, GL_EXT_stencil_wrap, 
GL_EXT_subtexture, GL_EXT_texgen_reflection, GL_EXT_texture3D, 
GL_EXT_texture_compression_s3tc, GL_EXT_texture_cube_map, 
GL_EXT_texture_edge_clamp, GL_EXT_texture_env_add, 
GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3, 
GL_EXT_texture_filter_anisotropic, GL_EXT_texture_lod_bias, 
GL_EXT_texture_mirror_clamp, GL_EXT_texture_object, 
GL_EXT_texture_rectangle, GL_EXT_texture_sRGB, 
GL_EXT_texture_shared_exponent, GL_EXT_vertex_array, GL_KTX_buffer_region, 
GL_NV_blend_square, GL_NV_texgen_reflection, GL_SGIS_generate_mipmap, 
GL_SGIS_texture_edge_clamp, GL_SGIS_texture_lod, GL_WIN_swap_hint, 
WGL_EXT_swap_control
glu version: 1.3
glu extensions:
GLU_EXT_nurbs_tessellator, GLU_EXT_object_space_tess

   visual  x  bf lv rg d st colorbuffer ax dp st accumbuffer  ms  cav
 id dep cl sp sz l  ci b ro  r  g  b  a bf th cl  r  g  b  a ns b eat
--
0x23 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 None
0x24 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 None
0x25 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  0 16 16 16 16  0 0 None
0x26 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  0 16 16 16 16  0 0 None
0x27 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x28 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x29 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
0x2a 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
0x2b 24 tc  0 32  0 r  y  

Re: gEDA-user: Open GL survey (for PCB)

2009-01-27 Thread Sascha Silbe

On Tue, Jan 27, 2009 at 10:25:08PM +0100, Sascha Silbe wrote:


glxinfo  glxinfo.txt

Attached.

Sorry for the on-list reply, got hit by the Reply-To munging again.

CU Sascha

--
http://sascha.silbe.org/
http://www.infra-silbe.de/


signature.asc
Description: Digital signature


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: [RFC 2/6] Plugin system

2009-01-18 Thread Sascha Silbe

On Sun, Jan 18, 2009 at 09:23:00AM -0500, al davis wrote:


Will
a) multiple invocations of the same plugin and/or
[b]) different plugins in the same language
c)                   different languages
be able to share state (i.e. variables)?

I can't speak for gschem, but ideally the answer would be no.
IMO at least a) should be yes. Perhaps my sentence was ambiguous: What 
I meant was whether the state of a single plugin instance is preserved 
during a whole gschem session (spanning multiple sessions would be 
interesting as well, but an entirely different topic). Simple example: 
counter variable for giving each new symbol instance a unique refdes 
attribute.
Whether there really are cases where b) and c) are useful is probably a 
matter of speculation.


If they could share state, the risk of one clobbering another would be 
very high.
Only if they can accidently share state. I'm not arguing for a shared 
namespace, not at all. Cross-plugin interactions MUST be properly 
qualified.


CU Sascha

--
http://sascha.silbe.org/
http://www.infra-silbe.de/


signature.asc
Description: Digital signature


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: [RFC 1/6] Non-Turing-complete configuration files.

2009-01-18 Thread Sascha Silbe

On Sun, Jan 18, 2009 at 04:17:03PM +, Peter Clifton wrote:


The config syntax wouldn't even be changing.. just a more formal
specification that don't expect this file to be _executed_ by the
scheme interpreter.
Will plugins be able to change configuration variables so I could just a 
plugin instead of a configuration script?
I'd really hate loosing the ability to programmatically generate my 
configuration.


CU Sascha

--
http://sascha.silbe.org/
http://www.infra-silbe.de/


signature.asc
Description: Digital signature


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: [RFC 1/6] Non-Turing-complete configuration files.

2009-01-18 Thread Sascha Silbe

On Sun, Jan 18, 2009 at 05:37:18PM +, Peter Clifton wrote:

Will plugins be able to change configuration variables so I could 
just a plugin instead of a configuration script?

Yes, that was the intention.

Great, thanks! That'll suffice for me.


Please send an example of the programmatically generated config you're
using.
For gaf, I'm not yet using any, sorry. My window manager configuration 
uses programmatically generated configuration to add key bindings 
depending on the current host and for mutt I'm using an external config 
generator, but still have to do some things manually because the hooks 
are limited to constant strings (instead of functions).


CU Sascha

--
http://sascha.silbe.org/
http://www.infra-silbe.de/


signature.asc
Description: Digital signature


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: [RFC 5/6] Use of X server clipboard

2009-01-18 Thread Sascha Silbe

On Sun, Jan 18, 2009 at 08:32:58PM +, Peter Clifton wrote:

All the text editors I use (emacs / gvim / ...) can paste text from 
the
CLIPBOARD, and Xterms can even paste text from the clipboard (I 
presume

they push it into the pty as if the user had typed it?).
At least on my system xterm (and some other old-school programs I 
cannot remember right now) only uses PRIMARY, forcing me to copy around 
between CLIPBOARD and PRIMARY using xclip.
On the other hand, FTE (one of my two favourite text editors) uses 
CLIPBOARD.

It's quite a mess.

CU Sascha

--
http://sascha.silbe.org/
http://www.infra-silbe.de/


signature.asc
Description: Digital signature


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: [RFC 1/6] Non-Turing-complete configuration files.

2009-01-17 Thread Sascha Silbe

On Fri, Jan 16, 2009 at 10:44:54PM +, Peter TB Brett wrote:

My proposal is to use a Scheme-like syntax for the configuration 
files,

but to parse rather than execute them.
Personally, I really like the ability of gaf to use arbitrary scripts 
for configuration. While I don't use it in gaf yet, I do miss it in many 
other programs. Take mutt for instance: While its configuration is the 
most flexible I've seen in any MUA yet, I've already reached the limits 
years ago.


I do understand your points, though. I can think of two alternatives to 
completely removing the ability to use arbitrary scripts:


1. Still use Scheme (or any other language that's flexible enough), but 
by default restrict the actions they can take. This way they would be 
safe to copy from the internet, but an advanced user can deactivate the 
safeguard and use the full power of a regular programming language.
2. Use a second parser for config files and add a config parameter to 
run an arbitrary script for configuration (after the reduced-format 
config has been completely parsed).


CU Sascha

--
http://sascha.silbe.org/
http://www.infra-silbe.de/


signature.asc
Description: Digital signature


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: [RFC 2/6] Plugin system

2009-01-17 Thread Sascha Silbe

On Fri, Jan 16, 2009 at 10:44:57PM +, Peter TB Brett wrote:


1. In their configuration files, users specify plugins to load using a
   string of the form:

  plugin-type:type-specific-part

   For instance, to load a plugin written in Scheme, the plugin-type
   might be scheme and the type-specific-part might be the name of
   the Scheme file to load, without the .scm suffix.

Will
a) multiple invocations of the same plugin and/or
a) different plugins in the same language
c)   different languages
be able to share state (i.e. variables)?

CU Sascha

--
http://sascha.silbe.org/
http://www.infra-silbe.de/


signature.asc
Description: Digital signature


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: some pcb-20081128 nuisances/bugs

2009-01-06 Thread Sascha Silbe

On Tue, Jan 06, 2009 at 12:55:51PM +0100, Christoph Lechner wrote:


* My design contains an ATmega16 microcontroller and there are pins
named PD5 (OC1A) in gschem. When I run the .cmd file generated by
gsch2pcb in PCB this becomes PD5 (OC1A in the info window popping up
then hitting ctrl-r. On the shell msgs like unknown action 
`PC6)'

appear. Appears to be a parser problem ...
I've recently fixed this, but the fixes haven't been applied upstream 
yet, AFAICS. See [1,2] for patches. If you're going to try out the CVS 
version of PCB, you should apply [3] as well.



[1] 
https://sourceforge.net/tracker/index.php?func=detailaid=2382954group_id=73743atid=538813
[2] 
https://sourceforge.net/tracker/index.php?func=detailaid=2382988group_id=161080atid=818428
[3] 
https://sourceforge.net/tracker/index.php?func=detailaid=2482963group_id=73743atid=538811


CU Sascha

--
http://sascha.silbe.org/
http://www.infra-silbe.de/


signature.asc
Description: Digital signature


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: pcb: parameter escaping for commands

2008-11-23 Thread Sascha Silbe

On Sat, Nov 22, 2008 at 01:49:57PM -0500, DJ Delorie wrote:


Is the supported syntax described anywhere?

Nope.  You get to write it!  :-)
As long as it can do everything in pcb-menu.res it will be fine.

That's what I wanted to hear (the latter part at least). g
Patch attached. I tried to follow the current coding style, including 
usage of libc string functions (DJB-style string buffer functions would 
have made it easier). If the style is fine with you, I can create a bug 
report and attach it.

It seems to work fine for me, but I could not find any test suite.

Two important changes:
1. Action chaining isn't supported anymore. Wasn't documented, isn't 
used by anything AFAIK (resource parser does its own splitting).
2. The sequence \_ will now be parsed as _, so if PCB did use that 
to create negation lines, it will be broken until gsch2pcb and possibly 
other tools are adapted. Special-casing that sequence is possible, but 
IMO ugly.


The patch is only for actions - haven't looked at footprint etc. formats 
yet.


PS: How do I display the pin names (besides Generate object report on 
a pin)? Neither View - Pins/Vias show Name/Number nor Window - 
Pinout show any effect (regardless of selection).


CU Sascha

--
http://sascha.silbe.org/
http://www.infra-silbe.de/
Index: src/hid/common/actions.c
===
RCS file: /cvsroot/pcb/pcb/src/hid/common/actions.c,v
retrieving revision 1.12
diff -u -d -r1.12 actions.c
--- src/hid/common/actions.c	5 Jan 2008 05:37:08 -	1.12
+++ src/hid/common/actions.c	23 Nov 2008 20:56:14 -
@@ -219,123 +219,152 @@
   return a-trigger_cb (argc, argv, x, y);
 }
 
+static char *
+strip (const char *s)
+{
+  const char *sp = s;
+  unsigned int len;
+  char *res;
+
+  /* skip leading spaces and tabs */
+  while (*sp  isspace ((int) *sp))
+sp++;
+
+  len = strlen(sp);
+
+  /* skip trailing spaces and tabs */
+  while (len  isspace((int) sp[len-1]))
+len--;
+
+  if (!len)
+  return ;
+
+  res = (char *) malloc(len+1); // ENOMEM not checked
+  if (!res)
+return NULL;
+
+  strncpy(res, sp, len);
+  res[len] = '\0';
+
+  return res;
+}
+
+static char *
+my_strndup(const char *s, size_t n)
+{
+  char *res = (char *) malloc(n+1);
+  strncpy(res, s, n);
+  res[n] = '\0';
+  return res;
+}
+
+/* returns copy of next parameter, updating sp to point behind separator */
+static char *
+get_next_param(char **sp)
+{
+  char *sep, *res;
+
+  sep = strpbrk(*sp, \\,));
+
+  if (!sep)
+sep = *sp + strlen(*sp);
+
+  if (*sep == '\\'  *(sep+1))
+{
+  /* recursively process remaining part, concatenate
+ escaping is considered to be rare, so we don't need to optimize it */
+  size_t curlen = sep-*sp;
+  char escaped = sep[1];
+  char *rem;
+  sep += 2;
+  rem = get_next_param(sep);
+  res = (char *) malloc(curlen+1+strlen(rem)+1);
+  strncpy(res, *sp, curlen);
+  res[curlen] = escaped;
+  strcpy(res+curlen+1, rem);
+  free(rem);
+  *sp = sep;
+  return res;
+}
+
+  /* ignore trailing whitespace */
+  while ((sep  *sp)  isspace((int) *(sep-1)))
+sep--;
+
+  /* return copy of parameter */
+  res = my_strndup(*sp, sep-*sp);
+  *sp = (*sep) ? sep+1 : sep;
+  return res;
+}
+
 int
 hid_parse_actions (const char *rstr,
-		   int (*function) (const char *, int, char **))
+   int (*function) (const char *, int, char **))
 {
+  char *str, *sp, *aname;
+  int num = 0, max = 0;
   char **list = NULL;
-  int max = 0;
-  int num;
-  char *str = NULL;
-  char *sp, *aname, *sp2;
-  int maybe_empty = 0;
-  int retcode = 0;
+  char *paren_pos;
+  int retcode;
 
   if (function == NULL)
 function = hid_actionv;
 
-  /*fprintf(stderr, invoke: `%s'\n, rstr); */
-
-  sp = str = strdup (rstr);
+  aname = sp = str = strip (rstr);
+  if (!sp || !*sp)
+return 0;
 
-another:
-  num = 0;
-  /* eat leading spaces and tabs */
-  while (*sp  isspace ((int) *sp))
-sp++;
-  
-  if (!*sp)
+  /* action names don't need to be escaped so strchr suffices */
+  paren_pos = strchr(sp, '(');
+  if (paren_pos)
 {
-  retcode = 0;
-  goto cleanup;
-}
+  /* NUL-terminate action name */
+  *paren_pos = '\0';
+  sp = paren_pos+1;
+
+  /* scan for parameters */
+  while (*sp  *sp != ')')
+{
+  char *param;
+
+  /* ignore leading whitespace */
+  while (*sp  isspace ((int) *sp))
+sp++;
+
+  if (!*sp || (*sp == ')'))
+break;
+
+  /* get_next_param updates sp */
+  param = get_next_param(sp);
   
-  aname = sp;
+  /* ensure list is big enough */
+  if (num = max)
+{
+  max += 10;
+  if (list)
+list = (char **) realloc (list, max * sizeof (char *));
+  else
+list = (char **) malloc (max * sizeof (char *));
+}
   
-  /* search for the 

Re: gEDA-user: pcb: parameter escaping for commands

2008-11-23 Thread Sascha Silbe

On Sun, Nov 23, 2008 at 04:14:46PM -0500, DJ Delorie wrote:

1. Action chaining isn't supported anymore. Wasn't documented, 
isn't=20

used by anything AFAIK (resource parser does its own splitting).

Er, what was this?
The old parser supported constructs like Display(Name) Display(Value), 
invoking both functions in sequence. The new one stops after the first 
). In the resource file, those are two different entries anyway, so it 
doesn't matter there.


PS: How do I display the pin names (besides Generate object report 
on=20
a pin)? Neither View - Pins/Vias show Name/Number nor Window 
-=20

Pinout show any effect (regardless of selection).

That's the way.  Most pins have the same string for name and number
until you run the script from gsch2pcb to change them.
Well, it doesn't display any number or name (for pins). By luck, I now 
found out that both work only if the pointer is above the currently 
selected element - which is impossible if I use the menu.


CU Sascha

--
http://sascha.silbe.org/
http://www.infra-silbe.de/


signature.asc
Description: Digital signature


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: pcb: parameter escaping for commands

2008-11-23 Thread Sascha Silbe

On Mon, Nov 24, 2008 at 12:51:33AM +, Peter Clifton wrote:

1. Action chaining isn't supported anymore. Wasn't documented, isn't 
used by anything AFAIK (resource parser does its own splitting).
Please don't break this. I already spend long enough finding the 
obscure

bug and fixing it which broke re-entrancy with the old code. This _is_
encountered in xgsch2pcb, where one action loads another action script
via an action.
I think we're talking about two different things here. The new parser 
doesn't handle several actions passed as a single string (e.g. 
Display(Name) Display(Value)). Having an action (lets say 
SetAll(Clearance,0.1)) parse and execute another action (lets say 
SetElement(U1,Clearance,0.1)) should work perfectly well.

Sorry if my imprecise description caused confusion.

CU Sascha

--
http://sascha.silbe.org/
http://www.infra-silbe.de/


signature.asc
Description: Digital signature


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


gEDA-user: pcb: parameter escaping for commands (was: Re: pcb/gsch2pcb: problem with special characters in pin names)

2008-11-22 Thread Sascha Silbe

On Fri, Nov 14, 2008 at 12:55:30PM -0500, DJ Delorie wrote:


pcb currently has no escape mechanism for that.  It would be added to
src/hid/common/actions.c in hid_parse_actions() if you want to work on
it.
Looks like it's going to need a full rewrite of that function to 
implement escaping.
Is the supported syntax described anywhere? hid_parse_actions is able to 
parse multiple invocations with parameters, but an invocation without 
parameters must be the last one; empty parentheses supply a single, 
empty parameter (instead of no parameters like an invocation without 
parentheses does) etc. I'd rather do the reimplementation based on a 
syntax definition than trying to mimic the old function as much as 
possible.


CU Sascha

--
http://sascha.silbe.org/
http://www.infra-silbe.de/


signature.asc
Description: Digital signature


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


gEDA-user: Mailing list address

2008-11-22 Thread Sascha Silbe

On Sat, Nov 22, 2008 at 03:30:06PM +0100, Sascha Silbe wrote:

[...]

Sorry for the double post. It appears there a two distinct, but valid 
addresses for this mailing list. Since my MUA can't know those are 
identical, it sent the mail to both addresses.
The gEDA homepage lists [EMAIL PROTECTED], but the mailing list manager uses 
[EMAIL PROTECTED] in the headers (= Reply-to-list will a different 
address than manual posting to the address given on the homepage). This 
is asking for trouble. :)


CU Sascha

--
http://sascha.silbe.org/
http://www.infra-silbe.de/


signature.asc
Description: Digital signature


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


gEDA-user: pcb/gsch2pcb: problem with special characters in pin names

2008-11-14 Thread Sascha Silbe

Hi!

gsch2pcb (version 1.6) puts the pin names literally into *.cmd, without 
quoting/escaping of special characters. Since ATmega8-1.sym has 
parentheses in pin names (e.g. PB5 (SCK)), pcb (version 20080202) 
cannot correctly parse the file.
What's the proper way to handle special characters in PCB command 
arguments? I already tried quoting with single quotes (') and double 
quotes () as well as escaping with backslash (\).


CU Sascha

--
http://sascha.silbe.org/
http://www.infra-silbe.de/


signature.asc
Description: Digital signature


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: How to generate fine PDF gschem schematics?

2008-08-25 Thread Sascha Silbe

On Tue, Aug 26, 2008 at 01:58:45AM +0200, Stefan Salewski wrote:


ps2pdf output is crippled on right side.
I've seen similar issues with other software (efax) on Debian systems 
where /etc/papersize wasn't correct (must be set to a4 if you want to 
use A4 paper). If you have a Debian or derivative (like Ubuntu or 
Knoppix), take a look at that file.


CU Sascha

--
http://sascha.silbe.org/
http://www.infra-silbe.de/


signature.asc
Description: Digital signature


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: finding out what an instance is

2006-08-11 Thread Sascha Silbe

On Fri, Aug 11, 2006 at 12:41:20PM -0400, Dan McMahill wrote:

ok, stupid question here.  I open up a schematic, find some symbol and 
I want to know what symbol it is.  Is there a way short of doing 
hierarchy-down symbol?
left-click to select it, right-click and select down schematic is 
another way to do it. HTH.


CU Sascha

--
http://sascha.silbe.org/



pgpjZfBT6FtZM.pgp
Description: PGP signature


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user