gEDA-user: mail to Stephen Williams
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/ --- Begin Message --- 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. : 209.172.115.90 does not like recipient. Remote host said: 550 5.7.1 : 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: 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 To: Stephen Williams 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 " >> 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'
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: Open GL survey (for PCB)
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: Open GL survey (for PCB)
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: german article in the linux magazin online now
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: [RFC 5/6] Use of X server clipboard
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.
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 1/6] Non-Turing-complete configuration files.
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 2/6] Plugin system
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 2/6] Plugin system
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: : For instance, to load a plugin written in Scheme, the might be "scheme" and the 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: [RFC 1/6] Non-Turing-complete configuration files.
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: some pcb-20081128 nuisances/bugs
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 -. 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=detail&aid=2382954&group_id=73743&atid=538813 [2] https://sourceforge.net/tracker/index.php?func=detail&aid=2382988&group_id=161080&atid=818428 [3] https://sourceforge.net/tracker/index.php?func=detail&aid=2482963&group_id=73743&atid=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
On Sun, Nov 23, 2008 at 09:07:49PM -0500, DJ Delorie wrote: I suppose the parser can return a pointer to the "leftovers", and we can have a new function that continues parsing until the string is used up. I suspect the command line --action-string and --action-script may need this type of functionality. --action-script invokes the same function as ExecuteFile, but for --action-string it might actually be useful. As I don't expect that to be used extensively I've just updated hid_parse_actions to recurse if there's anything left to parse. As there were no objections on code style or design, I've submitted the patch to the SourceForge Patch Tracker [3]. Together with the gsch2pcb patch (submitted as well [4]) PCB seems to handle pin names containing special characters fine now. To turn *on* the display, press the 'd' key over the element you're interested in. [...] Shift-D over an element does work, though. OK, the confusion was that PCB doesn't act on the _selected_ item(s), but on the one under the pointer. That's inconsistent with any application I've used so far. It also makes having those commands in the menu not only useless, but severly misleading. Incidentally, there's a patch [1] in the PCB tracker at SourceForge that gives a hint if there's nothing under the cursor. Would have saved me quite some time. I do understand why it hasn't been applied, though (patches only Display(pinout), even though many more functions behave the same). Window->Pinout is supposed to ask you to click on an element, file a bug (with which HID you're using) if it doesn't. Bug filed [2]. [1] https://sourceforge.net/tracker/index.php?func=detail&aid=1669634&group_id=73743&atid=538813 [2] https://sourceforge.net/tracker/index.php?func=detail&aid=2382939&group_id=73743&atid=538811 [3] https://sourceforge.net/tracker/index.php?func=detail&aid=2382954&group_id=73743&atid=538813 [4] https://sourceforge.net/tracker/index.php?func=detail&aid=2382988&group_id=161080&atid=818428 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
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
Re: gEDA-user: pcb: parameter escaping for commands
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
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). 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 *)); +
gEDA-user: Mailing list address
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: parameter escaping for commands (was: Re: pcb/gsch2pcb: problem with special characters in pin names)
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: pcb/gsch2pcb: problem with special characters in pin names
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?
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
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
gEDA-user: Typo in symbols/micro/ATmega8-1.sym
Hi! There's a typo in symbols/micro/ATmega8-1.sym: "(RESET) RC6" should read "(RESET) PC6". I've attached a patch. CU Sascha -- http://sascha.silbe.org/ --- /home/sascha/src/geda/eda/geda/gaf/symbols/micro/ATmega8-1.sym 2004-12-28 07:59:40.0 +0100 +++ ATmega8-1.sym 2006-05-17 10:37:49.0 +0200 @@ -1,4 +1,4 @@ -v 20041228 1 +v 20050313 1 T 100 5400 8 10 0 0 0 0 1 Copyright Mark Salyzyn T 2200 4300 9 10 1 1 0 6 1 @@ -20,7 +20,7 @@ T 2400 2250 5 8 0 1 0 2 1 pinseq=1 T 2250 2100 9 8 1 1 0 6 1 -pinlabel=(RESET) RC6 +pinlabel=(RESET) PC6 T 2250 2100 5 8 0 1 0 8 1 pintype=io } pgpwt3waYv9lQ.pgp Description: PGP signature ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user