From michael.goffioul at swing.be Thu Jan 26 05:08:10 2006 From: michael.goffioul at swing.be (michael.goffioul at swing.be) Date: Thu, 26 Jan 2006 14:08:10 +0100 Subject: [Xcircuit-dev] (no subject) Message-ID: <200601261308.k0QD8AZH028379@outmx010.isp.belgacom.be> Hi, For fun, I developed a native Win32 version of Xcircuit (mainly by emulating X11 calls). People interested can find a self-installing executable and more infos at http://www.geocities.com/sw286000 Bye. Michael. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.opencircuitdesign.com/pipermail/xcircuit-dev/attachments/20060126/73a82e67/attachment.htm From fbs.consulting at gmail.com Wed Feb 8 15:48:20 2006 From: fbs.consulting at gmail.com (Matthew Jackson) Date: Wed, 08 Feb 2006 15:48:20 -0800 Subject: [Xcircuit-dev] XSPICE output possible? Message-ID: <10a6a13e0602081548h9f162b9rd27bcd9991a35126@mail.gmail.com> First off, I LOVE this program. I use it for just about everything I can because of the seamless transition from design / simulation to publication quality figure insertion. I'm just curious about something. I can currently generate fully functional SPICE netlists and have built up quite a robust library of sources and parts from various vendors with only minor PSPICE corrections. However, I am currently trying to use XCircuit to do some mixed-signal modeling and am having a difficult time generating the proper XSPICE syntax from the 'spice' line. For instance, I have the following information on my example inverter symbol: Standard SPICE: XCircuit Output from Symbol - spice:xinv%i %pin %pout my_inverter spice:.model my_inverter inv(blah blah blah) SPICE netlist - xinv1 input output my_inverter .model my_inverter inv(blah blah blah) For XSPICE, I have to deal with behavioral nodes which are vectorized [nodes must be in brackets] as shown below: XSPICE netlist - ainv1 [logic_input] [logic_output] xspice_inverter .model xspice_inverter inv1(blah blah blah) I have tried every possible permutation imaginable on the %p pin designation to get the brackets included in the output. If this is possible, I would be very thankful if someone would show me how. Thanks in advance, M. Jackson -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.opencircuitdesign.com/pipermail/xcircuit-dev/attachments/20060208/2be76736/attachment.html From tcholmes at sonic.net Sun Feb 19 08:04:44 2006 From: tcholmes at sonic.net (Tim Holmes) Date: Sun, 19 Feb 2006 08:04:44 -0800 Subject: [Xcircuit-dev] compiling under RHEL 4 Message-ID: <43F8971C.40609@sonic.net> Hello, I just downloaded xcircuit-3.4.11.tgz and tried to compile, but it failed saying: xcwrap.c:12:16: tk.h: No such file or directory Configure says this: checking for tclConfig.sh... /usr/lib/tclConfig.sh checking for tkConfig.sh... /usr/lib/tkConfig.sh RedHat uses Tcl/Tk 8.4. Any ideas? Thanks, Tim ------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642 _______________________________________________ Xcircuit-dev mailing list Xcircuit-dev at lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xcircuit-dev From michael.goffioul at swing.be Mon Feb 20 06:13:18 2006 From: michael.goffioul at swing.be (michael.goffioul at swing.be) Date: Mon, 20 Feb 2006 15:13:18 +0100 Subject: [Xcircuit-dev] XCircuit/Win32 updated Message-ID: <200602201413.k1KEDIrm005274@outmx022.isp.belgacom.be> Hi all, I updated the XCircuit/Win32 version available on http://www.geocities.com/sw286000/: this new package contains the current scripting capabilities in a very early stage. This feature consists of 2 parts: 1) JScript, 2) .NET plugins. Some info and an additional screenshot available at the address mentionned above. Have fun. Michael. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.opencircuitdesign.com/pipermail/xcircuit-dev/attachments/20060220/cdc3a9e0/attachment.htm From yiming at kcftech.com Mon Feb 20 06:04:05 2006 From: yiming at kcftech.com (Yiming Liu) Date: Mon, 20 Feb 2006 09:04:05 -0500 Subject: [Xcircuit-dev] Help start xcircuit Message-ID: <000001c63626$832f4c50$0302a8c0@Emily> The xcircuit worked great until recently. When I start it, xcircuit shows up briefly then a massage ' Segmentation fault ' is displayed and xcircuit is shut off. Please help. Thanks a lot -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.opencircuitdesign.com/pipermail/xcircuit-dev/attachments/20060220/d9b3b57a/attachment.html From rafal at eecg.toronto.edu Tue Feb 21 05:43:34 2006 From: rafal at eecg.toronto.edu (Raf Karakiewicz) Date: Tue, 21 Feb 2006 08:43:34 -0500 (EST) Subject: [Xcircuit-dev] Non-rounded polygon edges? Message-ID: Hi, Is there any way to make the lines in xcircuit end in sharp rectangular edges? By default it seems they are rounded off. This is not noticable for thin lines, but for thick ones it is quite undesirable. Thanks, Raf Karakiewicz Electrical Engineer rafal at eecg.toronto.edu ------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642 _______________________________________________ Xcircuit-dev mailing list Xcircuit-dev at lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xcircuit-dev From Jan.Sundermeyer at iis.fraunhofer.de Thu Feb 23 05:57:07 2006 From: Jan.Sundermeyer at iis.fraunhofer.de (Jan Sundermeyer) Date: Thu, 23 Feb 2006 14:57:07 +0100 Subject: [Xcircuit-dev] make fails Message-ID: <43FDBF33.50806@iis.fraunhofer.de> Hello, since version 3.6.4 i can't compiule xcircuit. It seems that xcircuit does not accept a different/ usual location for tcl which, in my case, is located under /local/.... Config seems to find tcl. Attached is the error log. Jan -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: error.log Url: http://www.opencircuitdesign.com/pipermail/xcircuit-dev/attachments/20060223/b518a139/attachment.pot -------------- next part -------------- A non-text attachment was scrubbed... Name: Jan.Sundermeyer.vcf Type: text/x-vcard Size: 316 bytes Desc: not available Url : http://www.opencircuitdesign.com/pipermail/xcircuit-dev/attachments/20060223/b518a139/attachment.vcf -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/x-pkcs7-signature Size: 3753 bytes Desc: S/MIME Cryptographic Signature Url : http://www.opencircuitdesign.com/pipermail/xcircuit-dev/attachments/20060223/b518a139/attachment.bin From michael.goffioul at swing.be Tue Feb 28 06:08:36 2006 From: michael.goffioul at swing.be (michael.goffioul at swing.be) Date: Tue, 28 Feb 2006 15:08:36 +0100 Subject: [Xcircuit-dev] Integration of Win32 work? Message-ID: <200602281408.k1SE8aqn025345@outmx012.isp.belgacom.be> Just for my information, is there any interest in integrating to Win32 port I did (Tcl/Tk+Win32 or native Win32+COM) to the regular XCircuit source tree? Michael. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.opencircuitdesign.com/pipermail/xcircuit-dev/attachments/20060228/76c169c0/attachment.html From michael.goffioul at swing.be Mon Mar 6 01:09:24 2006 From: michael.goffioul at swing.be (michael.goffioul at swing.be) Date: Mon, 06 Mar 2006 10:09:24 +0100 Subject: [Xcircuit-dev] XCircuit/Win32 (Tcl) Message-ID: <200603060909.k2699Oeg016998@outmx007.isp.belgacom.be> Hi, I updated the Tcl version of XCircuit/Win32 available on http://www.geocities.com/sw286000. There was an error when using the default installation directory (or any directory with a space in its name). The new package should fix the problem. Bye. Michael. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.opencircuitdesign.com/pipermail/xcircuit-dev/attachments/20060306/28edcdd9/attachment.htm From tim at multigig.com Thu Mar 16 11:39:15 2006 From: tim at multigig.com (R. Timothy Edwards) Date: Thu, 16 Mar 2006 11:39:15 -0800 Subject: [Xcircuit-dev] Re: XCircuit - update In-Reply-To: <1451054985@web.de> References: <1451054985@web.de> Message-ID: <4419BEE3.1040604@opencircuitdesign.com> Dear Oliver, > My actual problem is: Is it possible to associate a symbol(Object) from one library with an symbol(Object) from another library? > e.g. : I want to use a logic-symbol like a AND (box with &, 2In,1Out) as a Symbol for a schematic out of cmos-transistors. > When I understood it right, this association is only aktive in that session, so I have to save it as a XCIRCUIT-file. > In order to design some logic (Symbols for the actual schematic out of CMOS) I would have to load that certain file!? > > ->It would be good to only have to load the two libs where the association is aktive and to just drag and drop the logic-symbols... I think what you're looking for is covered by xcircuit version 3.6, which was designed especially for dealing with hierarchies and libraries and multiple files. Unfortunately, I have not yet written a tutorial for it. There are two ways to do this in xcircuit 3.6: 1) If the schematics are simple, you have a netlist (e.g., SPICE file) for each logic gate, and you don't really need to see or edit the transistor-level schematic, then the best way to handle it is to put an info-label in each symbol pointing to the netlist, e.g., spice at 1:%Fstandard_cells.cir The "@1" ensures that the contents of standard_cells.cir are placed at the top of the output spice deck, and the "%F" ensures that the file is included only once in the output spice deck. There should also be another info label in the cell declaring how to write the device to the SPICE deck, e.g.: spice:X? dvdd dgnd %pA %pB %pY NAND2 where "dvdd" and "dgnd" are parameters of the cell (so they can be set to different strings, but are not pins on the symbol), and the "?" is the standard parameter "idx" that is the component number. 2) If you are drawing the schematic for each symbol, then the schematic should be in a separate file or files, and the symbol should have a parameter called "link" whose value is the name of the schematic file (normally without the ".ps" extension). When you want to generate a SPICE file, choose "File->Load Dependencies" from the menu, which will load in all of the subcircuit schematics used by the top-level circuit. I usually do this step with a shell script: #!/bin/tcsh xcircuit -nowindow -noconsole < Hello *, I think that I've encountered two problems with the EPS files generated by xcircuit when I include these files into LaTeX. The first problem has something to do with the DSC comments (like %%Page). It seems that they interfere with the DSC comments of the document in which they are included. The result is that any tool relaying on the comments (like gv, pstops) fails. A workaround that works for me is to use the flag -K (Pull comments from inclusions) while calling dvips. Of course, it would be nice if including xcircuit files would work in every case. The second problem is the %%DocumentNeededResources line. dvips gives some warnings like: dvips: Font font used in file figure.eps is not in the mapping file. As far as I've seen, the generated lines are not strictly conforming to the DSC standards. This has the following example: %%DocumentNeededResources: font Times-Roman Palatino-Bold %%+ font Helvetica Helvetica-Bold NewCenturySchoolbook-Italic The main difference is that there is only one "font" keyword in each line, while xcircuit generates a "font" keyword in front of each font it uses. This is done in files.c, around line 4300. A possible fix would look like: --- files.c~ 2006-03-28 23:42:46.000000000 +0200 +++ files.c 2006-03-30 14:12:31.669770000 +0200 @@ -4294,8 +4294,8 @@ fprintf(ps, "%%%%BoundingBox: 0 0 612 792\n"); /* letter default */ for (i = 0; i <= fontcount; i++) fontsused[i] = 0; - fprintf(ps, "%%%%DocumentNeededResources: "); - stcount = 27; + fprintf(ps, "%%%%DocumentNeededResources: font "); + stcount = 32; /* find all of the fonts used in this document */ /* log all fonts which are native PostScript */ @@ -4309,12 +4309,12 @@ for (i = 0; i <= fontcount; i++) { if (fontsused[i] & 0x8000) if ((fonts[i].flags & 0x8018) == 0x0) { - stcount += strlen(fonts[i].psname) + 6; + stcount += strlen(fonts[i].psname) + 1; if (stcount > OUTPUTWIDTH) { - stcount = strlen(fonts[i].psname) + 6; - fprintf(ps, "\n%%%%+ "); + stcount = strlen(fonts[i].psname) + 11; + fprintf(ps, "\n%%%%+ font "); } - fprintf(ps, "font %s ", fonts[i].psname); + fprintf(ps, "%s ", fonts[i].psname); } } Best wishes, Georg ------------------------------------------------------- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 _______________________________________________ Xcircuit-dev mailing list Xcircuit-dev at lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xcircuit-dev From tim.edwards at multigig.com Mon Apr 3 11:38:49 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Mon, 03 Apr 2006 11:38:49 -0700 Subject: [Xcircuit-dev] xcircuit-dev list changes Message-ID: <44316BB9.80704@multigig.com> In case anyone hasn't noticed, xcircuit-dev has become a spam magnet lately. I find it difficult to manage the mailing list off of SourceForge because I don't have root access to the host computer. I could deal with the spam on a per-occurrence basis, but I'd prefer to just have better control over the whole mailer system. So, I am moving the mailing list off of SourceForge and duplicating it on opencircuitdesign.com. The new mailing list is xcircuit-dev at opencircuitdesign.com Perhaps I'll register "opencirc.com" since it's a lot easier to type. . . I will port the archives over when I get the chance. The mailing list on SourceForge will allow posting only for members or by moderator approval. The mailing list on OpenCircuitDesign will be open to all posters, as the SourceForge mailing list was previously. There is also a Wiki for XCircuit on the website, which is a good place to start putting help requests and other non-development items. Finally, I have largely completed Tutorial #3, covering schematic drawing for large projects. The tutorial corresponds to the XCircuit development version 3.6, which is finally becoming stable now that I have fixed numerous problems encountered while writing the tutorial. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ ------------------------------------------------------- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 _______________________________________________ Xcircuit-dev mailing list Xcircuit-dev at lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xcircuit-dev From michaelharsh at mac.com Mon Apr 10 20:07:17 2006 From: michaelharsh at mac.com (Michael Harsh) Date: Mon, 10 Apr 2006 23:07:17 -0400 Subject: [Xcircuit-dev] Library Management Message-ID: <14381534.1144724837718.JavaMail.michaelharsh@mac.com> I have a very simple question. What is the process for creating custom components that I can place in the user library. I know this is a simple question, but I am not sure of the proper way of doing this. I would like to add a 40 pin LCD module and a 16F917 40 pin PIC. Thanks Much, Mike Harsh From tim.edwards at multigig.com Mon Apr 10 21:07:43 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Mon, 10 Apr 2006 21:07:43 -0700 Subject: [Xcircuit-dev] Library Management In-Reply-To: <14381534.1144724837718.JavaMail.michaelharsh@mac.com> References: <14381534.1144724837718.JavaMail.michaelharsh@mac.com> Message-ID: <443B2B8F.8000002@multigig.com> Dear Michael, > I have a very simple question. What is the process for creating custom components that I can place in the user library. > I know this is a simple question, but I am not sure of the proper way of doing this. I would like to add a 40 pin LCD > module and a 16F917 40 pin PIC. Have you tried the schematic capture tutorial? That's pretty thorough about explaining how to create schematics, especially ones for PCB design. The "FlareLED.ps" schematic in the examples subdirectory of the xcircuit source has a symbol for a PIC 16C54. This is part of Task 13 in Tutorial #2. There are a few files missing from the tutorial links which I'll try to put back today or tomorrow. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From michael.goffioul at swing.be Tue Apr 11 05:58:30 2006 From: michael.goffioul at swing.be (michael.goffioul at swing.be) Date: Tue, 11 Apr 2006 14:58:30 +0200 Subject: [Xcircuit-dev] XCircuit/Tcl for Win32 development version available Message-ID: <200604111258.k3BCwUDj006171@outmx022.isp.belgacom.be> Hi, For those who wants to be on the edge, I provided pre-compiled packages of the development version of XCircuit with Tcl/Tk support. This corresponds to version 3.6.21. This package can safely co-exist with a regular XCircuit installation. Packages are available at http://www.geocities.com/sw286000/. Note that geocities imposes an hourly 5MB download limit. So if you get the message \"Site temporarily disabled\", this means the limit has been reached. Just try again one hour later. Have fun. Michael. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.opencircuitdesign.com/pipermail/xcircuit-dev/attachments/20060411/b4a9d3ab/attachment.html From DaveM at Mich.Com Wed Apr 12 11:38:16 2006 From: DaveM at Mich.Com (Dave M) Date: Wed, 12 Apr 2006 14:38:16 -0400 Subject: [Xcircuit-dev] Place multiple instances of the same part Message-ID: <4.2.2.20060412143610.00bdaef0@pop.mich.com> Hello all, I am new to the list and new to XCircuit. I have a quick question - Is there a way to place multiple instances of the same part without going back to the library each time? ------------------------------- Dave M Davem (at) Mich (dot) Com Ann Arbor, Mich. USA Endangered electronic species: http://www.eff.org/endangered/list.php "The 'Analog Holes' they want to stop up are our eyes, ears and mouths." From tim.edwards at multigig.com Wed Apr 12 11:50:09 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Wed, 12 Apr 2006 11:50:09 -0700 Subject: [Xcircuit-dev] Place multiple instances of the same part In-Reply-To: <4.2.2.20060412143610.00bdaef0@pop.mich.com> References: <4.2.2.20060412143610.00bdaef0@pop.mich.com> Message-ID: <443D4BE1.5080003@multigig.com> Dear Dave, > I am new to the list and new to XCircuit. I have a quick question - Is > there a way to place multiple instances of the same part without going back > to the library each time? Yes, use the "copy" function ("c" key, or copy toolbar button). You can use "copy" from the library page as well as the drawing page. Put the cursor over the symbol you want from the library and type "c". Then you can keep pressing the left mouse button to make as many copies as you want on the page. Click the right mouse button to stop, or the middle mouse button to simultaneously place and stop. ---Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From DaveM at Mich.Com Mon Apr 17 20:54:26 2006 From: DaveM at Mich.Com (Dave M) Date: Mon, 17 Apr 2006 23:54:26 -0400 Subject: [Xcircuit-dev] Tutorial notes Message-ID: <4.2.2.20060417233530.00dfe510@pop.mich.com> I am going through the tutorials and trying to understand how to use XCircuit to draw schematics and create net-lists specifically for PCB layout. I am taking notes that I intend to use to facilitate hands-on training of engineering staff. Here is what I think I know about XCircuit. Does this sound correct? If not, any help in correcting my misunderstandings would be very much appreciated. #Parts Parts (devices) are represented by symbols drawn from "Library Objects" - a symbol is an instance of a Library Object - symbols are copied from libraries, placed in pages and connected with wires to form schematics - symbols are drawn on pages and then saved into libraries Symbols have pins - symbols may be interconnected by drawing wires or busses between pins - interconnected pins form 'networks' Symbols have 'info' labels - PCB info labels (PCB:U1 etc.) are used to define unique PCB part designators - other info labels designate various object and symbol values #Textual Elements Text - informational only - does not result in data being added to netlists - may be placed on pages or in symbols Pins - designate the unique points where symbols may be inter-connected Labels - designate the values for a given symbol - are used to generate PCB and Spice netlists - labels in library objects may contain variables - PCB instance variables (such as PCB:U?) are replaced with instance numbers (such as PCB:U1) as parts are placed on pages #Libraries Library objects may be graphic images Library objects may be graphic images that contain schematics Library objects may be sub-schematics that have no graphic image ------------------------------- Dave M Davem (at) Mich (dot) Com Ann Arbor, Mich. USA Endangered electronic species: http://www.eff.org/endangered/list.php "The 'Analog Holes' they want to stop up are our eyes, ears and mouths." From DaveM at Mich.Com Tue Apr 18 11:00:53 2006 From: DaveM at Mich.Com (Dave M) Date: Tue, 18 Apr 2006 14:00:53 -0400 Subject: [Xcircuit-dev] Bug Report - User Lib Delete Message-ID: <4.2.2.20060418134017.027ba620@pop.mich.com> If I delete a part from the user library -> to select the part Edit-Delete -> to delete the part The name of the deleted part stays on the user library page. Pressing the spacebar to refresh does not remove it. If I close and re-open XCircuit, the name is gone. ------------------------------- Dave M Davem (at) Mich (dot) Com Ann Arbor, Mich. USA Endangered electronic species: http://www.eff.org/endangered/list.php "The 'Analog Holes' they want to stop up are our eyes, ears and mouths." From DaveM at Mich.Com Wed Apr 19 13:31:28 2006 From: DaveM at Mich.Com (Dave M) Date: Wed, 19 Apr 2006 16:31:28 -0400 Subject: [Xcircuit-dev] Make User Object Message-ID: <4.2.2.20060419162300.00c43140@pop.mich.com> Is the "Make User Object (m) Edit->Make User Object" command the same as the "Make An Object From Selection" button on the right tool bar? ------------------------------- Dave M Davem (at) Mich (dot) Com Ann Arbor, Mich. USA Endangered electronic species: http://www.eff.org/endangered/list.php "The 'Analog Holes' they want to stop up are our eyes, ears and mouths." From DaveM at Mich.Com Wed Apr 19 20:33:03 2006 From: DaveM at Mich.Com (Dave M) Date: Wed, 19 Apr 2006 23:33:03 -0400 Subject: [Xcircuit-dev] Bug Report - Netlist File Name Message-ID: <4.2.2.20060419232838.00d51360@pop.mich.com> If I read a schematic file, modify it, write it to a file with a new name, then generate a net list, the root of the file name of the net list is still the same as the file that I read initially. The root of the net list file name is not the same as the root of the new schematic file. ------------------------------- Dave M Davem (at) Mich (dot) Com Ann Arbor, Mich. USA Endangered electronic species: http://www.eff.org/endangered/list.php "The 'Analog Holes' they want to stop up are our eyes, ears and mouths." From DaveM at Mich.Com Wed Apr 19 20:55:08 2006 From: DaveM at Mich.Com (Dave M) Date: Wed, 19 Apr 2006 23:55:08 -0400 Subject: [Xcircuit-dev] PCB Parts designation visibility? Message-ID: <4.2.2.20060419235231.00d25340@pop.mich.com> Is there a way to have the PCB Parts designators (ie. pcb:U1, pcb:U2, pcb:R1 etc) visible on the schematic? ------------------------------- Dave M Davem (at) Mich (dot) Com Ann Arbor, Mich. USA Endangered electronic species: http://www.eff.org/endangered/list.php "The 'Analog Holes' they want to stop up are our eyes, ears and mouths." From tim.edwards at multigig.com Fri Apr 21 19:40:16 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Fri, 21 Apr 2006 19:40:16 -0700 Subject: [Xcircuit-dev] Tutorial notes In-Reply-To: <4.2.2.20060417233530.00dfe510@pop.mich.com> References: <4.2.2.20060417233530.00dfe510@pop.mich.com> Message-ID: <44499790.6070809@multigig.com> Dear Dave, > I am going through the tutorials and trying to understand how to use > XCircuit to draw schematics and create net-lists specifically for PCB > layout. I am taking notes that I intend to use to facilitate hands-on > training of engineering staff. Here is what I think I know about XCircuit. > Does this sound correct? If not, any help in correcting my > misunderstandings would be very much appreciated. > > #Parts > Parts (devices) are represented by symbols drawn from "Library Objects" > - a symbol is an instance of a Library Object Yes, although a library object does not necessary have to be a symbol; it can also be a piece of a schematic. > - symbols are copied from libraries, placed in pages and > connected with wires to form schematics Yes. > - symbols are drawn on pages and then saved into libraries Sort of; elements (lines, arcs, instances, text) are drawn on pages, and when collected together with the "make" command, they become a symbol in a library. > > Symbols have pins > - symbols may be interconnected by drawing wires or busses > between pins > - interconnected pins form 'networks' Yes. > > Symbols have 'info' labels > - PCB info labels (PCB:U1 etc.) are used to define unique PCB > part designators > - other info labels designate various object and symbol values The "info label" has the express purpose of precisely defining the output format. "info labels" MUST start with a key (e.g., "pcb:"). If you write a PCB netlist, only info labels beginning with "pcb:" are parsed, and any others are ignored. Various object and symbol values (often called "properties"; e.g., resistor value, package type, etc.) are defined by (in xcircuit) "Parameters". The whole parameter thing is very complicated and goes way beyond info labels. Parameters show up in info labels often, though, because they tend to be part of the netlist. For PCB output, though, they tend to be part of the BOM, which is why it might be a really good idea to define an additional netlist type "bom" defined by info labels beginning with "bom:" (this only just occurred to me. You'll have to pardon state of PCB netlisting in XCircuit---I use XCircuit for VLSI netlists myself). > > #Textual Elements > Text > - informational only > - does not result in data being added to netlists > - may be placed on pages or in symbols Yes. > Pins > - designate the unique points where symbols may > be inter-connected Partly. A pin label on a symbol defines a connection point. A pin label on a schematic names a net. > > Labels > - designate the values for a given symbol > - are used to generate PCB and Spice netlists > - labels in library objects may contain variables > - PCB instance variables (such as PCB:U?) are replaced > with instance numbers (such as PCB:U1) as parts are > placed on pages This is a bit confused. Info labels (as mentioned above) define the output format. They may contain parameters or variables as needed in the netlist output file. The parameters themselves are independent; a list of parameters appears if you select an object instance and press "control-p". Parameters are defined by key:value pairs. The object itself contains the default value of each parameter. Each instance may inherit the object's default value, or it may define its own instance-specific parameter value. In the info label "PCB:U?", there is an embedded parameter. The parameter key is "idx", and the default value is "?". When the netlist file is written, the default value is replaced by a number. However, this number can also be set manually by changing the value of parameter "idx" for the instance, or manually in batch by selecting menu item "Netlist->Auto-number components". Because the PCB netlist format is simple, about the only thing that can be defined is the component name ("U1") for each component instance. > > #Libraries > Library objects may be graphic images > Library objects may be graphic images that contain schematics > Library objects may be sub-schematics that have no graphic image I use the term "graphic image" to refer to elements that are formed by reading PPM bitmap files, very useful for embedding chip photographs, scope traces, etc. in the schematic drawing. I use it to create wire bonding diagrams for chips. I assume that by "graphic image" you mean drawing elements that are not part of a netlist. Libraries are collections of symbols. I differentiate library "files" from library "pages", since they do not necessarily correspond 1:1. The symbols are usually just pictures made of non-network elements except for pin labels. Library objects may be schematics; that is, they contain wires and other object instances that become part of the netlist. In this use, "pins" are determined from context. Symbols come in several distinct flavors: 1) "fundamental" types have an info label and get translated directly into netlist output. 2) "trival" types don't appear in the netlist output, but do something significant to the netlist, such as connecting two nets together ("jumper") or defining a bus tap. 3) "nonetwork" symbols are just drawing, with no significance to the netlist at all. 4) Anything that is not types 1, 2, or 3 is a normal "symbol", that defines an instance of a subcircuit in a netlist. The types are not set in stone; for instance, a "nand" gate would by necessity be a standard symbol for SPICE output, but would be a fundamental type in a PCB netlist. +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From tim.edwards at multigig.com Fri Apr 21 19:49:31 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Fri, 21 Apr 2006 19:49:31 -0700 Subject: [Xcircuit-dev] Bug Report - User Lib Delete In-Reply-To: <4.2.2.20060418134017.027ba620@pop.mich.com> References: <4.2.2.20060418134017.027ba620@pop.mich.com> Message-ID: <444999BB.7080303@multigig.com> Dear Dave, > If I delete a part from the user library > -> to select the part > Edit-Delete -> to delete the part > The name of the deleted part stays on the user library page. > Pressing the spacebar to refresh does not remove it. > If I close and re-open XCircuit, the name is gone. My co-worker Gregoire discovered this about the same time as you did, and I have corrected it in the newest distributions. Thanks, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From tim.edwards at multigig.com Fri Apr 21 20:30:05 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Fri, 21 Apr 2006 20:30:05 -0700 Subject: [Xcircuit-dev] PCB Parts designation visibility? In-Reply-To: <4.2.2.20060419235231.00d25340@pop.mich.com> References: <4.2.2.20060419235231.00d25340@pop.mich.com> Message-ID: <4449A33D.4020807@multigig.com> Dear Dave, > Is there a way to have the PCB Parts designators (ie. pcb:U1, > pcb:U2, pcb:R1 etc) visible on the schematic? Yes. You can simply copy the info label, select the copy, and choose menu item "Netlist->Convert Label To...->Normal Label". Then edit the text label and remove the "pcb:" (assuming that you don't want that part visible). ---Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From tim.edwards at multigig.com Fri Apr 21 20:30:47 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Fri, 21 Apr 2006 20:30:47 -0700 Subject: [Xcircuit-dev] Make User Object In-Reply-To: <4.2.2.20060419162300.00c43140@pop.mich.com> References: <4.2.2.20060419162300.00c43140@pop.mich.com> Message-ID: <4449A367.90501@multigig.com> Dear Dave, > Is the "Make User Object (m) Edit->Make User Object" command the same as > the "Make An Object From Selection" button on the right tool bar? In a nutshell, yes. ---Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From tim.edwards at multigig.com Sun Apr 23 17:11:56 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Sun, 23 Apr 2006 17:11:56 -0700 Subject: [Xcircuit-dev] CVS repository at opencircuitdesign Message-ID: <444C17CC.2040504@multigig.com> I have the repository for magic-7.4, magic-7.5, IRSIM, netgen, and xcircuit set up on opencircuitdesign.com. When I created it, the user "anonymous" had the password "anoncvs" (same as the repository at Cornell) and had both read and write access. Since the anonymous user password is posted on the website, this is a huge security hole. So I have now restricted user "anonymous" to read-only access (there is also no password now for the anonymous user). Anyone who wants to have write access to the repository can have it; just send me an email to let me know so I can add a username and password to the passwd file. Thanks, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From dar651230 at comcast.net Sat Apr 29 10:50:08 2006 From: dar651230 at comcast.net (Darrell Adams) Date: Sat, 29 Apr 2006 10:50:08 -0700 Subject: [Xcircuit-dev] Scroll Wheel Message-ID: <4453A750.2040700@comcast.net> Hi, I am interested in binding the scroll wheel to zoom in and out (rather than up and down) of a schematic. I have used this feature in Autocad and it works nicely. It seems that "keybind" is appropriate and I have tried Button4 and Button5 as a guess. How does one make it so? If I am sending this request to the wrong location, please let me know what would be more appropriate. Darrell Adams dar651230 at comcast.net From tim.edwards at multigig.com Mon May 1 14:48:00 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Mon, 01 May 2006 14:48:00 -0700 Subject: [Xcircuit-dev] Scroll Wheel In-Reply-To: <4453A750.2040700@comcast.net> References: <4453A750.2040700@comcast.net> Message-ID: <44568210.90407@multigig.com> Dear Darrell, > I am interested in binding the scroll wheel to zoom in and out (rather > than up and down) > of a schematic. I have used this feature in Autocad and it works nicely. I just noticed today that it's also in the Cadence schematic capture too. > It seems that "keybind" is appropriate and I have tried Button4 and > Button5 as > a guess. > > How does one make it so? You're pretty close. The binding is done in Tk, so it uses Tk syntax for the buttons. The original binding can be found in the "wrapper.tcl" file. To replace the pan function with a zoom function, do: xcircuit::keybind { zoom 1.5 ; refresh} \ .xcircuit.mainframe.mainarea.drawing xcircuit::keybind { zoom [expr 1 / 1.5] ; refresh} \ .xcircuit.mainframe.mainarea.drawing Probably you'll want a zoom factor a bit smaller than 1.5 (which is the default for "z" and "Z" zooming) since the scroll wheel is very fast. ---Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From michael.goffioul at swing.be Mon May 8 06:45:48 2006 From: michael.goffioul at swing.be (michael.goffioul at swing.be) Date: Mon, 08 May 2006 15:45:48 +0200 Subject: [Xcircuit-dev] Cannot access anonymous CVS Message-ID: <200605081345.k48Djmso028908@outmx017.isp.belgacom.be> Hello, I tried to access the CVS anonymously, but I always get the message: Fatal error, aborting. anonymous: no such system user Am I doing something wrong? Michael. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.opencircuitdesign.com/pipermail/xcircuit-dev/attachments/20060508/3b13f526/attachment.htm From tim.edwards at multigig.com Mon May 8 09:18:46 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Mon, 08 May 2006 09:18:46 -0700 Subject: [Xcircuit-dev] Cannot access anonymous CVS In-Reply-To: <200605081345.k48Djmso028908@outmx017.isp.belgacom.be> References: <200605081345.k48Djmso028908@outmx017.isp.belgacom.be> Message-ID: <445F6F66.20508@multigig.com> Dear Michael, > I tried to access the CVS anonymously, but I always get the message: > > Fatal error, aborting. > anonymous: no such system user > > Am I doing something wrong? It seems to be confusing the CVS and system username lists. I'll take a look. However, I did take the step of preventing the anonymous CVS from doing updates (I'll need to add you to the list of users who can commit changes). Probably I messed up the configuration when I did that. Just last night I finished debugging all the scripts that automatically update the download and code history web pages nightly, incrementing the distribution revision number whenever one or more code changes has been committed during the day. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From tim.edwards at multigig.com Mon May 8 09:49:09 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Mon, 08 May 2006 09:49:09 -0700 Subject: [Xcircuit-dev] Cannot access anonymous CVS Message-ID: <445F7685.1050301@multigig.com> In response to Michael Goffioul's email to xcircuit-dev: The anonymous CVS server on opencircuitdesign.com is now fixed. User "anonymous" has no password for CVS login, but has read-only access and cannot make changes to the code database. Anyone who wants write access to the repository (which includes magic-7.4 and 7.5, xcircuit-3.4 and 3.6, irsim-9.7, netgen-1.3, and pcb-3.0) should email me to request write access. This is a simple matter of adding a line to the CVS password file, so it's not a big deal, just a modicum of security for the site. I don't want to discourage tool development. Also, a had to add a measure of security to the Wiki site, which immediately became a spam magnet. Since all the spam was obviously automatically generated, the security is correspondingly lightweight. To edit the Wiki pages, just go to the "Preferences" page and enter "ocd_edit" into the "Administrator Password" box. The password is written there, so you can't forget it. I'm working entirely through CVS now. For those who have voiced concern about not getting the convenient tarballs: I have set up an automated system (cron job) which daily checks, for each package, if any commits have been made to the CVS database. If so, it increments the revision number, builds a new tarball, posts the new tarball on the package download web page, and adds the CVS revision comments to the code history web page. So, note to developers: please make helpful comments on the edit page after a CVS commit, and remember that whatever you write will be posted on the website for everyone to see. Thanks, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From svenn at bjerkem.de Wed May 10 15:12:19 2006 From: svenn at bjerkem.de (Svenn Are Bjerkem) Date: Thu, 11 May 2006 00:12:19 +0200 Subject: [Xcircuit-dev] Time for a rewrite of the netlisting? In-Reply-To: <445F6F66.20508@multigig.com> References: <200605081345.k48Djmso028908@outmx017.isp.belgacom.be> <445F6F66.20508@multigig.com> Message-ID: <200605110012.19853.svenn@bjerkem.de> Hi Tim, I started looking into the netlist.c file in order to see how difficult it is to write a new back-end to xcircuit. It does not look very simple. How difficut would it be to have xcircuit load a tcl-script which access the internal data-structure and create the netlist. This way it is no longer nescessary to recompile xcircuit for each added netlist format. I was thinking about writing a vhdl backend, but it looks pretty impossible. -- Svenn From tim.edwards at multigig.com Wed May 10 15:46:14 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Wed, 10 May 2006 15:46:14 -0700 Subject: [Xcircuit-dev] Time for a rewrite of the netlisting? In-Reply-To: <200605110012.19853.svenn@bjerkem.de> References: <200605081345.k48Djmso028908@outmx017.isp.belgacom.be> <445F6F66.20508@multigig.com> <200605110012.19853.svenn@bjerkem.de> Message-ID: <44626D36.9050205@multigig.com> Dear Svenn, > I started looking into the netlist.c file in order to see how difficult it is > to write a new back-end to xcircuit. It does not look very simple. How > difficut would it be to have xcircuit load a tcl-script which access the > internal data-structure and create the netlist. This way it is no longer > nescessary to recompile xcircuit for each added netlist format. Actually, that part is already done. Load a schematic and do "netlist make". Now, "all" you have to do is to parse that mess. I did that once before with the Python interface, but never transferred the code over to Tcl. In theory, though, everything needed for the netlist is in that list result somewhere: all the ports, all the parameters, all the text formatting strings. On the other hand, an alternative method is just to define the format inside the symbols. A few lines of code need to be added to the Tcl "netlist" command code in tclxcircuit.c to make this work. > I was thinking about writing a vhdl backend, but it looks pretty impossible. I was thinking about writing an EDIF backend, an equally daunting task. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From abi at grinser.de Wed May 17 04:17:11 2006 From: abi at grinser.de (Michael Ablassmeier) Date: Wed, 17 May 2006 13:17:11 +0200 Subject: [Xcircuit-dev] fails to build from source with --with-python Message-ID: <20060517111711.GB80834@jail.schiach.de> hi, ive tried building both the latest stable and development version of xcircuit with python support. Both versions fail to build: gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"xcircuit\" -DVERSION=\"3.6\"ROTOTYPES=1 -D__PROTOTYPES=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_HDHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_STRING_H=1 -DHAVE_LIBM=1 -DSIZEOF_VOID_P=4 -DSIZEOF_UNSIGNED_INT=4 -DSIZEOF_UNSIGNED_LONG=4 -DHLIBXT=1 -DSTDC_HEADERS=1 -DHAVE_SETENV=1 -DHAVE_PUTENV=1 -DHAVE_DIRENT_H=1 -DHAVE_LIBZ=1 -DHAVE_VA_COPY=1 -DHAVE___VA_COPY=1 -DHAVE_U_CHAR=1 -DDOUBLEBUFFER=1AVE_X11_XPM_H=1 -DHAVE_XPM=1 -DLGF=1 -DINPUT_FOCUS=1 -DGS_EXEC=\"gs\" -DSPICE_EXEC=\"ngspice\" -DHAVE_PYTHON=1 -DPROG_VERSION=3.6 -DPROG_REVISION=22 -DCAD_D"/usr/local/lib\" -DTEMP_DIR=\"/tmp\" -DRESOURCES_DIR=\"/usr/local/lib/xcircuit-3.6/app-defaults\" -DBUILTINS_DIR=\"/usr/local/lib/xcircuit-3.6\" -DBUILTINS_=\"\" -DUSER_RC_FILE=\".xcircuitrc\" -DPROLOGUE_DIR=\"/usr/local/lib/xcircuit-3.6\" -DPROLOGUE_FILE=\"xcircps2.pro\" -DSTARTUP_FILE=\"xcstartup.py\" -DLGF_LIlgf.lps\" -DASG_SPICE_LIB=\"asg_spice.lps\" -I. -I. -IXw -I/usr/include/python2.3 -g -Wno-pointer-sign -c python.c In file included from /usr/include/python2.3/Python.h:8, from python.c:21: /usr/include/python2.3/pyconfig.h:853:1: warning: "_POSIX_C_SOURCE" redefined In file included from /usr/include/stdio.h:28, from python.c:16: /usr/include/features.h:190:1: warning: this is the location of the previous definition python.c: In function 'pypopupprompt': python.c:164: error: 'areawinarea' undeclared (first use in this function) python.c:164: error: (Each undeclared identifier is reported only once python.c:164: error: for each function it appears in.) python.c: In function 'PySetStringParts': python.c:423: error: 'union ' has no member named 'paramno' python.c: In function 'PyGetStringParts': python.c:526: error: 'union ' has no member named 'paramno' python.c: In function 'xc_getpage': python.c:684: error: 'areawinpage' undeclared (first use in this function) python.c: In function 'xc_getobject': python.c:858: error: 'nparams' undeclared (first use in this function) python.c: In function 'xc_netlist': [..] can one confirm this? bye, - michael From snmishra at hotpop.com Sat May 20 13:03:26 2006 From: snmishra at hotpop.com (Satya Narayan Mishra) Date: Sat, 20 May 2006 14:03:26 -0600 Subject: [Xcircuit-dev] Cadence DFII to XCircuit translator Message-ID: I was wondering if anyone has attempted a Cadence DFII to XCircuit schematic translator. From a cursory glance, it seems rather easy to do. Here are the steps for the translation: 1. dump the DFII schematic using dbWriteSkill 2. read this schematic in a Skill/TCL program and emit XCircuit TCL 3. Load this XCircuit TCL script into XCircuit. If anyone can find faults in this approach, I would like to hear about it. Regards, Satya From tim.edwards at multigig.com Sat May 20 18:34:26 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Sat, 20 May 2006 18:34:26 -0700 Subject: [Xcircuit-dev] Cadence DFII to XCircuit translator In-Reply-To: References: Message-ID: <446FC3A2.7030703@multigig.com> Dear Satya, > I was wondering if anyone has attempted a Cadence DFII to XCircuit > schematic translator. From a cursory glance, it seems rather easy to > do. Here are the steps for the translation: > > 1. dump the DFII schematic using dbWriteSkill > 2. read this schematic in a Skill/TCL program and emit XCircuit TCL > 3. Load this XCircuit TCL script into XCircuit. How does dbWriteSkill compare to exporting EDIF? I was considering the approach by writing an EDIF-to-xcircuit converter, mainly because doing anything with Skill code in Cadence requires a license (which I have now, but that's not a solution for everyone, obviously). Or is step 2 somehow easier than taking an EDIF parser (there's a decent one available in open source) and writing convert-to-xcircuit routines into it? The general principle of generating input for xcircuit via Tcl commands is sound. I have done it before. The commands for generating elements in xcircuit are not used by the GUI, however, and tend to be rather obscure. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From snmishra at hotpop.com Sat May 20 20:14:12 2006 From: snmishra at hotpop.com (Satya Narayan Mishra) Date: Sat, 20 May 2006 21:14:12 -0600 Subject: [Xcircuit-dev] Cadence DFII to XCircuit translator In-Reply-To: <446FC3A2.7030703@multigig.com> References: <446FC3A2.7030703@multigig.com> Message-ID: On Sat May 20 2006 19:34, R. Timothy Edwards wrote: > Dear Satya, > > > I was wondering if anyone has attempted a Cadence DFII to XCircuit > > schematic translator. From a cursory glance, it seems rather easy > > to do. Here are the steps for the translation: > > > > 1. dump the DFII schematic using dbWriteSkill > > 2. read this schematic in a Skill/TCL program and emit XCircuit TCL > > 3. Load this XCircuit TCL script into XCircuit. > > How does dbWriteSkill compare to exporting EDIF? I was considering > the approach by writing an EDIF-to-xcircuit converter, mainly because > doing anything with Skill code in Cadence requires a license (which I > have now, but that's not a solution for everyone, obviously). Or is > step 2 somehow easier than taking an EDIF parser (there's a decent > one available in open source) and writing convert-to-xcircuit > routines into it? > > The general principle of generating input for xcircuit via Tcl > commands is sound. I have done it before. The commands for > generating elements in xcircuit are not used by the GUI, however, and > tend to be rather obscure. Dear Tim, I hadn't looked into EDIF, indeed I had no knowledge of it until your e-mail. Code generated by dbWriteSkill will completely recreate the schematic. I don't know if the EDIF output is as complete (or nearly complete). EDIF, which is also supported by other vendors, would be a better solution. I will look into this when I get to work next week. The Skill language doesn't need a license (Cadence won't let one have the software without any licenses though), but the debugger, lint and such need the Skill Development license. I do not expect to have to use the debugger and lint tools for this program. Satya From edadev at sc-software.com Mon May 22 08:13:40 2006 From: edadev at sc-software.com (John Heil) Date: Mon, 22 May 2006 08:13:40 -0700 (PDT) Subject: [Xcircuit-dev] Mouse button changes ? Message-ID: Hi, I've been running 3.2.22 and tried to upgrade to 3.4.22 and 3.6.24 and the mouse buttons won't work... I have a 3 button device and button 1 used to set a point or a box corner etc but in these newer releases, none of that works anymore. What do I need to do to regain mouse button function for these releases? Also, on the 3.6.24, --enable-asg, has build errors, what to I need to get that operational it that's possible ? Thnx, johnh - ----------------------------------------------------------------- John Heil South Coast Software Custom systems software, firmware and board bring up services 1-714-774-6952 johnhscs at sc-software.com http://www.sc-software.com ----------------------------------------------------------------- From tim.edwards at multigig.com Wed May 24 23:08:26 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Wed, 24 May 2006 23:08:26 -0700 Subject: [Xcircuit-dev] Mouse button changes ? In-Reply-To: References: Message-ID: <447549DA.1060304@multigig.com> Dear John, Sorry it took me so long to get around to answering you (particularly since I started to answer three days ago). > I've been running 3.2.22 and tried to upgrade to 3.4.22 and 3.6.24 > and the mouse buttons won't work... > > I have a 3 button device and button 1 used to set a point or a box > corner etc but in these newer releases, none of that works anymore. > > What do I need to do to regain mouse button function for these > releases? In version 3.4, I switched to a system in which the toolbar tools represent different modes of operation for the mouse buttons. Because prior to 3.4, the "wire mode" was the default button binding, I added a toolbar button to represent "wire mode". On startup, this button (the second one from the top) should have a highlighted boundary. If not, try clicking on it to enable wire drawing mode. Another change made button bindings more like key bindings, so there is a possibility that you have some interaction with the window manager with regard to key focus. What window manager do you use? Be sure to compile the Tcl/Tk version of xcircuit, as it tends to be much better behaved with a variety of window managers. > Also, on the 3.6.24, --enable-asg, has build errors, what to I > need to get that operational it that's possible ? ASG has never worked, was removed from the 3.4 (stable) release because it's basically unstable, and will hopefully get done eventually, one way or another. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From svenn at bjerkem.de Sat May 27 08:31:49 2006 From: svenn at bjerkem.de (Svenn Are Bjerkem) Date: Sat, 27 May 2006 17:31:49 +0200 Subject: [Xcircuit-dev] Cadence DFII to XCircuit translator In-Reply-To: References: Message-ID: <200605271731.49576.svenn@bjerkem.de> On Saturday 20 May 2006 22:03, Satya Narayan Mishra wrote: > I was wondering if anyone has attempted a Cadence DFII to XCircuit > schematic translator. From a cursory glance, it seems rather easy to > do. Here are the steps for the translation: > > 1. dump the DFII schematic using dbWriteSkill > 2. read this schematic in a Skill/TCL program and emit XCircuit TCL > 3. Load this XCircuit TCL script into XCircuit. > > If anyone can find faults in this approach, I would like to hear about > it. I think it is the best way currently as the other possible ways, via EDIF or translate skill to xcircuit postscript is more work. I have not seen EDIF used seriously for any reason during my work. I know it exists and that most EDA vendors have different opinion on what EDIF does. You need a license on EDIF import into Cadence, I thing From tim.edwards at multigig.com Sat May 27 17:44:31 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Sat, 27 May 2006 17:44:31 -0700 Subject: [Xcircuit-dev] Cadence DFII to XCircuit translator In-Reply-To: <200605271731.49576.svenn@bjerkem.de> References: <200605271731.49576.svenn@bjerkem.de> Message-ID: <4478F26F.4050809@multigig.com> Dear Svenn, >> Here are the steps for the translation: >> >> 1. dump the DFII schematic using dbWriteSkill >> 2. read this schematic in a Skill/TCL program and emit XCircuit TCL >> 3. Load this XCircuit TCL script into XCircuit. >> > I think it is the best way currently as the other possible ways, via EDIF or > translate skill to xcircuit postscript is more work. > > I have not seen EDIF used seriously for any reason during my work. I know it > exists and that most EDA vendors have different opinion on what EDIF does. > You need a license on EDIF import into Cadence, I think You don't need a specific license to export EDIF from Cadence, but then both methods described are methods for getting a schematic from Cadence into XCircuit. If you can read DFII back into Cadence without an extra license, then I would consider that a big factor in favor of Satya's method. For use at MultiGiG, I'd prefer to have the XCircuit-to-Cadence method, since I prefer to draw the circuits in XCircuit, but we're in the business of selling IP to customers, who for the most part want to have everything in the Cadence database (or "the Borg", as my colleage Conrad calls it). EDIF isn't "used seriously", as you say, but a surprising number of tools will read and write the format, making it a reasonably good choice for porting schematics. It's a LISP derivative, though, like SCHEME and Skill, and is therefore an awful mess to work with. Fortunately, format translation is something you can do once and then forget about it. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From edadev at sc-software.com Sat May 27 20:40:11 2006 From: edadev at sc-software.com (John Heil) Date: Sat, 27 May 2006 20:40:11 -0700 (PDT) Subject: [Xcircuit-dev] Mouse button changes ? In-Reply-To: <447549DA.1060304@multigig.com> References: <447549DA.1060304@multigig.com> Message-ID: On Wed, 24 May 2006, R. Timothy Edwards wrote: > Date: Wed, 24 May 2006 23:08:26 -0700 > From: R. Timothy Edwards > To: John Heil > Cc: xcircuit-dev at opencircuitdesign.com > Subject: Re: [Xcircuit-dev] Mouse button changes ? > > Dear John, > > Sorry it took me so long to get around to answering you (particularly > since I started to answer three days ago). > > > I've been running 3.2.22 and tried to upgrade to 3.4.22 and 3.6.24 > > and the mouse buttons won't work... > > > > I have a 3 button device and button 1 used to set a point or a box > > corner etc but in these newer releases, none of that works anymore. > > > > What do I need to do to regain mouse button function for these > > releases? > > In version 3.4, I switched to a system in which the toolbar tools > represent different modes of operation for the mouse buttons. > Because prior to 3.4, the "wire mode" was the default button > binding, I added a toolbar button to represent "wire mode". On > startup, this button (the second one from the top) should have a > highlighted boundary. All the buttons, when clicked, either show the hilighted boundary or immediately perform their function as in the case of the library buttons. The problem is that when I then move the cursor to the location that I want to start the wire, no button nor button and key combo, starts the wire... or the box... or the... > If not, try clicking on it to enable wire > drawing mode. > > Another change made button bindings more like key bindings, so > there is a possibility that you have some interaction with the > window manager with regard to key focus. What window manager do > you use? All my many other X apps including other CAD packages, all have proper mouse button operations... My window manager is FVWM 2.4.16 My TCL is 8.4.4 TCLX is 8.3.5 TK is 8.4.4 TIX is 8.1.4 > Be sure to compile the Tcl/Tk version of xcircuit, as it > tends to be much better behaved with a variety of window managers. > I rebuilt it from: ./configure --with-tcl ; make Ran the result from: export XCIRCUIT_LIB_DIR=./lib ; lib/tcl/xcircuit.sh and no change... mouse buttons are useless in the drawing space. What is the syntax to program them to behave as they did prior to 3.4 ? Thnx > > Also, on the 3.6.24, --enable-asg, has build errors, what to I > > need to get that operational it that's possible ? > > ASG has never worked, was removed from the 3.4 (stable) release because > it's basically unstable, and will hopefully get done eventually, one > way or another. > > Regards, > Tim > > +--------------------------------+-------------------------------------+ > | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | > | MultiGiG, Inc. | web: http://www.multigig.com | > | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | > | Scotts Valley, CA 95066 | cell: (240) 401-0616 | > +--------------------------------+-------------------------------------+ > - ----------------------------------------------------------------- John Heil South Coast Software Custom systems software, firmware and board bring up services 1-714-774-6952 johnhscs at sc-software.com http://www.sc-software.com ----------------------------------------------------------------- From tim.edwards at multigig.com Wed May 31 10:16:37 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Wed, 31 May 2006 10:16:37 -0700 Subject: [Xcircuit-dev] xcircuit 3.6.24-1 unusable on amd64 In-Reply-To: <20060531154724.GA2649@recycle.lbl.gov> References: <20060531154724.GA2649@recycle.lbl.gov> Message-ID: <447DCF75.4040901@multigig.com> Dear Larry, > I don't mean to complain, but the recent upload of xcircuit 3.6.24-1 > to unstable is completely unusable for me on amd64. This is unlike > any previous version of xcircuit. I get segfaults or illegal > instruction crashes within half-a-dozen X actions. It helps to know these things, which is why you *should* be complaining. Complaining is the only way to get things done in the open source world (unless, as you say, you want to become a developer yourself). > This is true even when I rebuild from sources, either in or out > of the Debian package framework. I note a large number of 64-bit > concerns flagged by the compiler (gcc-4.0.4), about half of them > in the Xw widget set. I tried fixing some of the worst of these, > and using gdb to find details of the crash, but have not yet > succeeded in finding or fixing the problem(s). > > This leaves me with a number of questions: > 2. is xcircuit the only Debian package using Xw? I wasn't aware that the Debian package uses Xw. I thought that the executable was compiled with Tcl/Tk, and assumes Tcl/Tk as a dependency for the package. > 3. where did upstream (that's you, Tim) get that copy of Xw > (and are you maintaining that copy yourself)? Looooooong time back. I first used Xw (which comes from HP, by the way) in a GUI front-end for a neural network in 1991. I don't really maintain it at all. I've switched to Tcl/Tk to handle the GUI. The Xw package remains there as a backup for people who, for whatever reason, don't or can't install Tcl/Tk. > 4. will upstream accept 64-bit cleanups (and do you have > access to a 64-bit machine to test them)? I have an AMD Opteron. I (somewhat) regularly compile and test the Tcl/Tk version of xcircuit on it. I'll take a look at the latest 3.6 version, and also with Xw, but my suspicion is that updating Xw to be 64-bit clean is probably a painful exercise, and of questionable worth. > 5. will this be the kick in the pants I need to become > a Debian Developer and adopt this package? I wouldn't want to force you to resort to drastic measures. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From abi at grinser.de Wed May 31 10:21:56 2006 From: abi at grinser.de (Michael Ablassmeier) Date: Wed, 31 May 2006 19:21:56 +0200 Subject: [Xcircuit-dev] xcircuit 3.6.24-1 unusable on amd64 In-Reply-To: <20060531154724.GA2649@recycle.lbl.gov> References: <20060531154724.GA2649@recycle.lbl.gov> Message-ID: <20060531172156.GA14930@mail.schiach.de> hi, (bugreport submitted but b.d.o seems down at the moment so lets go without) On Wed, May 31, 2006 at 08:47:24AM -0700, ldoolitt at recycle.lbl.gov wrote: > I don't mean to complain, but the recent upload of xcircuit 3.6.24-1 > to unstable is completely unusable for me on amd64. *sight*. I was hoping to fix the long-standing powerpc issue with this QA upload (which seems to be fixed) and now another arch is mangled :) > This is true even when I rebuild from sources, either in or out > of the Debian package framework. I note a large number of 64-bit > concerns flagged by the compiler (gcc-4.0.4), about half of them > in the Xw widget set. I tried fixing some of the worst of these, > and using gdb to find details of the crash, but have not yet > succeeded in finding or fixing the problem(s). > > This leaves me with a number of questions: > 1. does anyone else see this behavior? i dont have access to a amd64 machine atm. I can have a closer look tomorrow. > 2. is xcircuit the only Debian package using Xw? seems so. However, one fix for this issue would be to compile xcircuit with the tcl interface, which seems by far less buggier, though. As --with-tcl and --with-python are mutually exclusive we would have to disable the python interpreter interface. I dont know how much people make use of it. > 3. where did upstream (that's you, Tim) get that copy of Xw > (and are you maintaining that copy yourself)? yes, please speak up. > 5. will this be the kick in the pants I need to become > a Debian Developer and adopt this package? the package has been orphaned for quite a while (we were lacking *lots* of upstream versions behind so i decided to make a QA Upload). If you intend to adopt the package i could sponsor your uploads. bye, - michael From abi at grinser.de Wed May 31 10:30:52 2006 From: abi at grinser.de (Michael Ablassmeier) Date: Wed, 31 May 2006 19:30:52 +0200 Subject: [Xcircuit-dev] xcircuit 3.6.24-1 unusable on amd64 In-Reply-To: <447DCF75.4040901@multigig.com> References: <20060531154724.GA2649@recycle.lbl.gov> <447DCF75.4040901@multigig.com> Message-ID: <20060531173052.GA15058@mail.schiach.de> hi Tim, On Wed, May 31, 2006 at 10:16:37AM -0700, R. Timothy Edwards wrote: > I wasn't aware that the Debian package uses Xw. I thought > that the executable was compiled with Tcl/Tk, and assumes > Tcl/Tk as a dependency for the package. well, the original maintainer (which orphaned the package) built the package with python support (which is afaik mutually exclusive to --with-tcl). I was doing a QA upload to fix a few outstanding bugs and didn't know how many of the people make use of this feature (you remember my mail about the broken python interpreter on the xcircuit list a few weeks back), so i kept it like that. bye, - michael From ldoolitt at recycle.lbl.gov Wed May 31 11:27:26 2006 From: ldoolitt at recycle.lbl.gov (ldoolitt at recycle.lbl.gov) Date: Wed, 31 May 2006 11:27:26 -0700 Subject: [Xcircuit-dev] xcircuit 3.6.24-1 unusable on amd64 In-Reply-To: <20060531172156.GA14930@mail.schiach.de> References: <20060531154724.GA2649@recycle.lbl.gov> <20060531172156.GA14930@mail.schiach.de> Message-ID: <20060531182726.GA14499@recycle.lbl.gov> Michael - Thanks for your (and Tim's) quick response. On Wed, May 31, 2006 at 07:21:56PM +0200, Michael Ablassmeier wrote: > seems so. However, one fix for this issue would be to compile xcircuit with the > tcl interface, which seems by far less buggier, though. As --with-tcl and > --with-python are mutually exclusive we would have to disable the python > interpreter interface. I dont know how much people make use of it. I know I don't. On my Debian sid amd64 machine, I just now built xcircuit-3.6.25 with ./configure --with-tcl=/usr/lib/tcl8.4 --prefix=$HOME make install The look is different, but the feel is the same, and the crashes are gone. Cool. I touched up one very minor warning, patch appended. That leaves a bunch of copies of Makefile:933: warning: overriding commands for target `dist' Makefile:621: warning: ignoring old commands for target `dist' Makefile:953: warning: overriding commands for target `all-recursive' Makefile:425: warning: ignoring old commands for target `all-recursive' Makefile:956: warning: overriding commands for target `install-recursive' Makefile:425: warning: ignoring old commands for target `install-recursive' messages. What's that all about? - Larry diff --exclude=Makefile --exclude=configure -ur xcircuit-3.6.25/menudep.c xcircuit-3.6.25-lrd/menudep.c --- xcircuit-3.6.25/menudep.c 2006-04-10 14:52:19.000000000 -0700 +++ xcircuit-3.6.25-lrd/menudep.c 2006-05-31 11:16:04.000000000 -0700 @@ -152,6 +152,7 @@ #else #include +#include int main() { From ldoolitt at recycle.lbl.gov Wed May 31 13:56:45 2006 From: ldoolitt at recycle.lbl.gov (ldoolitt at recycle.lbl.gov) Date: Wed, 31 May 2006 13:56:45 -0700 Subject: [Xcircuit-dev] xcircuit 3.6.24-1 unusable on amd64 In-Reply-To: <20060531195730.GA15120@recycle.lbl.gov> References: <20060531154724.GA2649@recycle.lbl.gov> <20060531172156.GA14930@mail.schiach.de> <20060531182726.GA14499@recycle.lbl.gov> <20060531195730.GA15120@recycle.lbl.gov> Message-ID: <20060531205645.GA8412@recycle.lbl.gov> On Wed, May 31, 2006 at 12:57:30PM -0700, ldoolitt at recycle.lbl.gov wrote: > I can't use 3.6.25, because I need to exchange schematics > with sarge machines. Importing a v3.1 schematic into v3.6 > seems to work perfectly. If I try to go the other way, > I get a gazillion > readlabel() error: Parameter 1 exceeds declared number of parameters (0)! > messages, followed by a segmentation fault. [chop] The incompatibility was introduced between 3.1.24 and 3.1.38, when Tim bumped the PostScript prolog version from 2.4 to 3.1. The first line of a symbol with one parameter used to look like (?) 1 beginparm and now looks like <> begingate I guess one "easy" way out (for me) is to put a recent version of xcircuit on all my sarge machines. It also looks (to my untrained eye) like Debian should not call post-3.1.24 xcircuit by the same name as the copy in sarge, since they can't exchange files. A name change would also give an opportunity to switch from python/Xw to tcl/Tk. - Larry From tim.edwards at multigig.com Wed May 31 14:05:10 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Wed, 31 May 2006 14:05:10 -0700 Subject: [Xcircuit-dev] xcircuit 3.6.24-1 unusable on amd64 In-Reply-To: <20060531182726.GA14499@recycle.lbl.gov> References: <20060531154724.GA2649@recycle.lbl.gov> <20060531172156.GA14930@mail.schiach.de> <20060531182726.GA14499@recycle.lbl.gov> Message-ID: <447E0506.7080408@multigig.com> Dear Larry, > I touched up one very minor warning, patch appended. > That leaves a bunch of copies of > > Makefile:933: warning: overriding commands for target `dist' > Makefile:621: warning: ignoring old commands for target `dist' > Makefile:953: warning: overriding commands for target `all-recursive' > Makefile:425: warning: ignoring old commands for target `all-recursive' > Makefile:956: warning: overriding commands for target `install-recursive' > Makefile:425: warning: ignoring old commands for target `install-recursive' > > messages. What's that all about? When I first made the Tcl/Tk version, I couldn't figure out how to make automake/autoconf handle both the Tcl and non-Tcl compile and install. The above warnings come from the hack that I added to get the right behavior. It was the first thing that I tried that worked right. I'm sure there is another, more proper way to get the right install location, but I haven't spent any time figuring out what it is. The source of the warnings comes from defining ALL_TARGET and INSTALL_TARGET at the bottom of Makefile.am. These two are already defined by automake, and the original definitions end up being defined in the Makefile as "all-target" and "install-target", respectively. These are defined by automake in the definition for $(RECURSIVE_TARGETS). The proper solution I suspect involves defining $target-am. ---Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From abi at grinser.de Thu Jun 1 01:31:41 2006 From: abi at grinser.de (Michael Ablassmeier) Date: Thu, 1 Jun 2006 10:31:41 +0200 Subject: [Xcircuit-dev] Bug#369726: xcircuit 3.6.24-1 unusable on amd64 In-Reply-To: <20060601044711.GA9860@mauritius.dodds.net> References: <20060531170253.GA5307@mail.schiach.de> <20060601044711.GA9860@mauritius.dodds.net> Message-ID: <20060601083141.GA77519@jail.schiach.de> forwarded 369726 tim.edwards at multigig.com thanks hi Steve, On Wed, May 31, 2006 at 09:47:11PM -0700, Steve Langasek wrote: > (gdb) up > #1 0x000000000048726b in Enter (w=0x6bc210, event=0x7fffffa82be0) > at MenuBtn.c:1479 > 1479 mbutton->menubutton.hintProc(mbutton->menubutton.hint); > (gdb) print mbutton->menubutton.hintProc > $9 = (XwStrProc) 0x47b5db > (gdb) print mbutton->menubutton.hint > $10 = 0x6bbaa0 "set fill properties" > (gdb) > > And the prototype of Wprintf() is: > > void Wprintf(char *format, ...); > > The bug here is that xcircuit is incorrectly assuming that it's ok to call a > function that uses varargs using the regular calling convention, which is > obviously false for amd64. > > The attached patch fixes this, and gives me a minimally-usable package on > amd64. there is a discussion about a few other outstanding issues on the xcircuit-dev [1] list, lets see what comes up. Im going to prepare a QA Upload as things settle down. Thanks for your patch, im forwarding it to upstreams. [1] http://opencircuitdesign.com/pipermail/xcircuit-dev/2006/000202.html > diff -u xcircuit-3.6.24/debian/changelog xcircuit-3.6.24/debian/changelog > --- xcircuit-3.6.24/debian/changelog > +++ xcircuit-3.6.24/debian/changelog > @@ -1,3 +1,11 @@ > +xcircuit (3.6.24-1.1) unstable; urgency=low > + > + * Non-maintainer upload. > + * Fix gross prototype mismatch bug, so the program is usable again on > + amd64. Closes: 369276. > + > + -- Steve Langasek Wed, 31 May 2006 21:29:13 -0700 > + > xcircuit (3.6.24-1) unstable; urgency=low > > * QA Upload > only in patch2: > unchanged: > --- xcircuit-3.6.24.orig/Xw/XwP.h > +++ xcircuit-3.6.24/Xw/XwP.h > @@ -322,7 +322,7 @@ > > typedef void (*XwStrProc)( > #if NeedFunctionPrototypes > - String /* hint */ > + char *format, ... /* hint */ > #endif > ); > bye, - michael From ldoolitt at recycle.lbl.gov Thu Jun 1 09:51:38 2006 From: ldoolitt at recycle.lbl.gov (ldoolitt at recycle.lbl.gov) Date: Thu, 1 Jun 2006 09:51:38 -0700 Subject: [Xcircuit-dev] de-linting patch for CVS Message-ID: <20060601165138.GA26363@recycle.lbl.gov> Friends - I have worked on enough different computers and compilers that I am allergic to certain forms of C lint. This patch applies to today's xcircuit CVS (which I think is effectively the same as 3.6.26). C language usage cleanup: * actually use prototypes (almost) everywhere * don't use implicit int * return a value when we're supposed to * keep /* and */ nested properly * use %hd to sprintf a short No changes to functionality are intended or expected. This patch does not include Steve Langasek's correction to Xw/XwP.h, please apply that patch separately. After some or all of this relatively long but simple patch is applied, I will dig into some of the trickier bits. If the e-mail system mangles the patch, you can fetch a fresh copy from http://recycle.lbl.gov/~ldoolitt/xcircuit-patch-20060601.txt - Larry diff --exclude=configure -u /home/ldoolitt/cvs/xcircuit-3.6/events.c xcircuit-3.6-cvs/events.c --- /home/ldoolitt/cvs/xcircuit-3.6/events.c 2006-05-02 14:26:19.000000000 -0700 +++ xcircuit-3.6-cvs/events.c 2006-06-01 09:30:40.000000000 -0700 @@ -1286,7 +1286,7 @@ } } -void poly_edit_op(op) +void poly_edit_op(int op) { genericptr *keygen = EDITPART; polyptr lwire, *newpoly; diff --exclude=configure -u /home/ldoolitt/cvs/xcircuit-3.6/files.c xcircuit-3.6-cvs/files.c --- /home/ldoolitt/cvs/xcircuit-3.6/files.c 2006-05-30 11:54:02.000000000 -0700 +++ xcircuit-3.6-cvs/files.c 2006-06-01 09:30:40.000000000 -0700 @@ -1297,7 +1297,7 @@ /*---------------------------------------------------------*/ -void startloadfile(libnum) +void startloadfile(int libnum) { short firstpage = areawin->page; @@ -5023,7 +5023,7 @@ pointlist savept; short stcount; short segs; - Boolean has_param; + Boolean has_parameter; char *fptr; /* first, get a total count of all objects and give warning if large */ @@ -5247,9 +5247,9 @@ if (TOLABEL(savegen)->string->type != FONT_NAME) break; /* Check for parameter --- must use "mark" to count # segments */ - has_param = hasparameter(TOLABEL(savegen)); + has_parameter = hasparameter(TOLABEL(savegen)); - if (has_param) { + if (has_parameter) { fprintf(ps, "mark "); stcount += 5; } @@ -5257,7 +5257,7 @@ segs = writelabel(ps, TOLABEL(savegen)->string, &stcount); if (segs > 0) { - if (has_param) + if (has_parameter) sprintf(_STR, "ctmk "); else sprintf(_STR, "%hd ", segs); diff --exclude=configure -u /home/ldoolitt/cvs/xcircuit-3.6/libraries.c xcircuit-3.6-cvs/libraries.c --- /home/ldoolitt/cvs/xcircuit-3.6/libraries.c 2006-04-10 14:52:19.000000000 -0700 +++ xcircuit-3.6-cvs/libraries.c 2006-06-01 09:30:40.000000000 -0700 @@ -186,7 +186,7 @@ int i; short *counts, *icount, *result; - if (xobjs.pagelist[page]->pageinst == NULL) return; + if (xobjs.pagelist[page]->pageinst == NULL) return NULL; counts = (short *)malloc(xobjs.pages * sizeof(short)); icount = (short *)malloc(xobjs.pages * sizeof(short)); @@ -1219,7 +1219,7 @@ /* in that library has changed. */ /*------------------------------------------------------*/ -void lib_set_changes(libnum) +void lib_set_changes(int libnum) { int j; objectptr thisobj; diff --exclude=configure -u /home/ldoolitt/cvs/xcircuit-3.6/menucalls.c xcircuit-3.6-cvs/menucalls.c --- /home/ldoolitt/cvs/xcircuit-3.6/menucalls.c 2006-04-10 14:52:19.000000000 -0700 +++ xcircuit-3.6-cvs/menucalls.c 2006-06-01 09:30:40.000000000 -0700 @@ -321,6 +321,7 @@ /* Set the output page size, in the current unit of measure */ /* Return value: TRUE if _STR2 values were in inches, FALSE */ /* if in centimeters. */ +/* XXX This API gives no good way to signal errors. */ /*--------------------------------------------------------------*/ Boolean setoutputpagesize(XPoint *dataptr) @@ -337,14 +338,14 @@ if (sscanf(_STR2, "%f %*c %f", &px, &py) < 3) { if ((expos = strchr(_STR2, 'x')) == NULL) { Wprintf("Illegal Form for page size."); - return; + return FALSE; } else { *expos = '\0'; if (sscanf(_STR2, "%f", &px) == 0 || sscanf(expos + 1, "%f %9s", &py, units) == 0) { Wprintf("Illegal Form for page size."); - return; + return FALSE; } } } @@ -355,7 +356,7 @@ if ((px <= 2.0) || (py <= 2.0)) { Wprintf("Page size too small for margins."); - return; + return FALSE; } dataptr->x = (short)(px * 72.0); diff --exclude=configure -u /home/ldoolitt/cvs/xcircuit-3.6/ngspice.c xcircuit-3.6-cvs/ngspice.c --- /home/ldoolitt/cvs/xcircuit-3.6/ngspice.c 2006-04-10 14:52:19.000000000 -0700 +++ xcircuit-3.6-cvs/ngspice.c 2006-06-01 09:30:40.000000000 -0700 @@ -17,6 +17,7 @@ #ifndef _MSC_VER #include /* for waitpid() */ #include +#include #endif #include #include @@ -355,7 +356,7 @@ #ifdef _MSC_VER if (spiceproc == INVALID_HANDLE_VALUE) return 0; /* No process to interrupt */ #else - if (spiceproc == -1) return; /* No process to interrupt */ + if (spiceproc == -1) return 0; /* No process to interrupt */ #endif /* Sending SIGINT in any state other than "busy" will kill */ diff --exclude=configure -u /home/ldoolitt/cvs/xcircuit-3.6/opengl.c xcircuit-3.6-cvs/opengl.c --- /home/ldoolitt/cvs/xcircuit-3.6/opengl.c 2006-04-10 14:52:19.000000000 -0700 +++ xcircuit-3.6-cvs/opengl.c 2006-06-01 09:30:40.000000000 -0700 @@ -120,7 +120,7 @@ } /*------------------------------------------------------*/ -/* Set line attributes +/* Set line attributes */ /*------------------------------------------------------*/ void diff --exclude=configure -u /home/ldoolitt/cvs/xcircuit-3.6/prototypes.h xcircuit-3.6-cvs/prototypes.h --- /home/ldoolitt/cvs/xcircuit-3.6/prototypes.h 2006-04-10 14:52:19.000000000 -0700 +++ xcircuit-3.6-cvs/prototypes.h 2006-06-01 09:45:48.000000000 -0700 @@ -7,11 +7,11 @@ /* Note variable argument list for register_for_undo() */ extern void register_for_undo(u_int, u_char, objinstptr, ...); -extern void undo_action(); -extern void redo_action(); -extern void flush_undo_stack(); -extern void flush_redo_stack(); -extern void truncate_undo_stack(); +extern void undo_action(void); +extern void redo_action(void); +extern void flush_undo_stack(void); +extern void flush_redo_stack(void); +extern void truncate_undo_stack(void); extern void free_undo_record(Undoptr); extern void free_redo_record(Undoptr); extern stringpart *get_original_string(labelptr); @@ -31,6 +31,8 @@ extern Tk_EventProc *xctk_drag(ClientData, XEvent *); extern Tk_EventProc *xctk_draglscroll(ClientData, XEvent *); extern Tk_EventProc *xctk_dragfilebox(ClientData, XEvent *); +extern void tcl_stdflush(FILE *); +extern void tcl_printf(FILE *, const char *, ...); extern int XcTagCallback(Tcl_Interp *, int, Tcl_Obj *CONST objv[]); extern Tcl_Obj *evaluate_raw(oparamptr, int *); extern char *TCL_to_PS(char *); @@ -86,17 +88,17 @@ extern void textbutton(u_char, int, int); extern void charreport(labelptr); extern Boolean labeltext(int, char *); -extern void textreturn(); +extern void textreturn(void); extern void rejustify(short); extern void finddir(polyptr); extern void reversepoints(XPoint *, short); extern void reversefpoints(XfPoint *, short); extern void freeparts(short *, short); extern void removep(short *, short); -extern void unjoin(); +extern void unjoin(void); extern labelptr findlabelcopy(labelptr, stringpart *); extern Boolean neartest(XPoint *, XPoint *); -extern void join(); +extern void join(void); /* interactive manipulation of elements */ extern void splinebutton(int, int); @@ -114,9 +116,9 @@ /* from events.c: */ extern Boolean recursefind(objectptr, objectptr); -extern void transferselects(); -extern void select_invalidate_netlist(); -extern void newmatrix(); +extern void transferselects(void); +extern void select_invalidate_netlist(void); +extern void newmatrix(void); extern void setpage(Boolean); extern int changepage(short); extern void newpage(short); @@ -142,7 +144,7 @@ extern void panrefresh(u_int, int, int, float); extern void checkwarp(XPoint *); extern int checkcycle(short, short); -extern void copyvirtual(); +extern void copyvirtual(void); extern void nextpolycycle(polyptr, short); extern void nextsplinecycle(splineptr, short); extern void nextarccycle(arcptr, short); @@ -153,7 +155,7 @@ extern int functiondispatch(int, short, int, int); extern void releasehandler(xcWidget, caddr_t, XKeyEvent *); extern void setsnap(short); -extern void snapelement(); +extern void snapelement(void); extern int ipow10(int); extern int calcgcf(int, int); extern void fraccalc(float, char *); @@ -170,7 +172,7 @@ extern void pathedit(genericptr *, short); extern void xc_lower(short *); extern void xc_raise(short *); -extern void exchange(); +extern void exchange(void); extern void elhflip(genericptr *, short); extern void elvflip(genericptr *, short); extern void elementflip(XPoint *); @@ -182,12 +184,13 @@ #endif extern void reviseselect(short *, int, short *); extern void deletebutton(int, int); +extern void delete_one_element(objinstptr, genericptr); extern short *xc_undelete(objinstptr, objectptr, short, short *); extern objectptr delete_element(objinstptr, short *, int, short); extern void printname(objectptr); extern Boolean checkname(objectptr); extern char *checkpostscriptname(char *, int *, objectptr); -extern objectptr finddot(); +extern objectptr finddot(void); extern void movepoints(genericptr *, short, short); #ifndef TCL_WRAPPER extern void xlib_makeobject(xcWidget, caddr_t); @@ -203,6 +206,9 @@ extern void polycopy(polyptr, polyptr); extern void splinecopy(splineptr, splineptr); extern void instcopy(objinstptr, objinstptr); +extern void delete_tagged(objectptr); +extern void createcopies(void); +extern void copydrag(void); extern void copy_op(int, int, int); extern Boolean checkmultiple(XButtonEvent *); extern void continue_op(int, int, int); @@ -220,9 +226,9 @@ extern void dragfilebox(xcWidget, caddr_t, XMotionEvent *); extern void startfiletrack(xcWidget, caddr_t, XCrossingEvent *); extern void endfiletrack(xcWidget, caddr_t, XCrossingEvent *); -extern char *getcrashfilename(); -extern void crashrecover(); -extern void findcrashfiles(); +extern char *getcrashfilename(void); +extern void crashrecover(void); +extern void findcrashfiles(void); extern void listfiles(xcWidget, popupstruct *, caddr_t); extern void newfilelist(xcWidget, popupstruct *); extern void fileselect(xcWidget, popupstruct *, XButtonEvent *); @@ -234,7 +240,7 @@ /* from files.c: */ #ifdef ASG -extern void importspice(); +extern void importspice(void); #endif extern char *ridnewline(char *); @@ -254,17 +260,17 @@ extern void varfcheck(FILE *, float, objectptr, short *, genericptr, u_char); extern void varpcheck(FILE *, short, objectptr, int, short *, genericptr, u_char); extern void getfile(xcWidget, pointertype, caddr_t); -extern Boolean nextfilename(); -extern void loadfontlib(); +extern Boolean nextfilename(void); +extern void loadfontlib(void); extern void loadglib(Boolean, short, short); -extern void loadulib(); -extern void loadblib(); +extern void loadulib(void); +extern void loadblib(void); extern void getlib(xcWidget, caddr_t, caddr_t); extern void getuserlib(xcWidget, caddr_t, caddr_t); extern Boolean loadlibrary(short); extern void startloadfile(int); -extern void normalloadfile(); -extern void importfile(); +extern void normalloadfile(void); +extern void importfile(void); extern Boolean loadfile(short, int); extern void readlabel(objectptr, char *, stringpart **); extern void readparams(objectptr, objinstptr, objectptr, char *); @@ -289,6 +295,7 @@ extern void setfile(xcWidget, xcWidget, caddr_t); extern xcTimeOutProc savetemp(caddr_t, xcIntervalId *); #endif +extern void incr_changes(objectptr); extern void savelibpopup(xcWidget, pointertype, caddr_t); extern void savelibrary(xcWidget, int); extern void findfonts(objectptr, short *); @@ -323,7 +330,7 @@ extern int wirelength(XPoint *, XPoint *); extern long finddist(XPoint *,XPoint *, XPoint *); extern void calcarc(arcptr); -extern void initsplines(); +extern void initsplines(void); extern void computecoeffs(splineptr, float *, float *, float *, float *, float *, float *); extern void calcspline(splineptr); @@ -333,13 +340,13 @@ extern short closepoint(polyptr, XPoint *); extern short closedistance(polyptr, XPoint *); extern void updateinstparam(objectptr); -extern short checkbounds(); +extern short checkbounds(void); extern void window_to_user(short, short, XPoint *); extern void user_to_window(XPoint, XPoint *); -extern float UTopScale(); +extern float UTopScale(void); extern float UTopTransScale(float); -extern XPoint UGetCursor(); -extern XPoint UGetCursorPos(); +extern XPoint UGetCursor(void); +extern XPoint UGetCursorPos(void); extern void u2u_snap(XPoint *); extern void snap(short, short, XPoint *); extern void UResetCTM(Matrix *); @@ -351,6 +358,7 @@ extern void UPreScaleCTM(Matrix *); extern short flipadjust(short); extern void UPreMultCTM(Matrix *, XPoint, float, short); +extern void UPreMultCTMbyMat(Matrix *, Matrix *); extern void UTransformbyCTM(Matrix *, XPoint *, XPoint *, short); extern void UfTransformbyCTM(Matrix *, XfPoint *, XPoint *, short); extern void UPopCTM(void); @@ -364,14 +372,17 @@ extern void calcextents(genericptr *, short *, short *, short *, short *); extern void objinstbbox(objinstptr, XPoint *, Boolean); extern void labelbbox(labelptr, XPoint *, objinstptr); +extern void graphicbbox(graphicptr, XPoint *); +extern void calcinstbbox(genericptr *, short *, short *, short *, short *); extern void calcbboxsingle(genericptr *, objinstptr, short *, short *, short *, short *); extern Boolean object_in_library(short, objectptr); +extern void calcbboxinst(objinstptr); extern short find_object(objectptr, objectptr); extern void updatepagebounds(objectptr); extern void calcbbox(objinstptr); extern void calcbboxparam(objectptr, int); extern void singlebbox(genericptr *); -extern void calcbboxselect(); +extern void calcbboxselect(void); extern void calcbboxvalues(objinstptr, genericptr *); extern void centerview(objinstptr); extern void refresh(xcWidget, caddr_t, caddr_t); @@ -389,7 +400,8 @@ extern void UDrawTLine(labelptr); extern void UDrawXLine(XPoint, XPoint); extern void UDrawBox(XPoint, XPoint); -extern void UDrawBBox(); +extern void UDrawRescaleBox(XPoint *); +extern void UDrawBBox(void); extern void strokepath(XPoint *, short, short, float); extern void makesplinepath(splineptr, XPoint *); extern void UDrawSpline(splineptr); @@ -398,12 +410,12 @@ extern void UDrawArc(arcptr); extern void UDrawPath(pathptr); extern void UDrawObject(objinstptr, short, int, pushlistptr *); -extern void TopDoLatex(); +extern void TopDoLatex(void); /* from help.c: */ extern void showhsb(xcWidget, caddr_t, caddr_t); -extern void printhelppix(); +extern void printhelppix(void); extern void starthelp(xcWidget, caddr_t, caddr_t); extern void simplescroll(xcWidget, xcWidget, XPointerMovedEvent *); extern void exposehelp(xcWidget, caddr_t, caddr_t); @@ -421,11 +433,11 @@ extern char *compat_key_to_string(xcWidget, int); extern char *func_to_string(int); extern char *key_to_string(int); -extern void printeditbindings(); +extern void printeditbindings(void); extern int add_vbinding(xcWidget, int, int, short); extern int add_binding(xcWidget, int, int); extern int add_keybinding(xcWidget, const char *, const char *); -extern void default_keybindings(); +extern void default_keybindings(void); extern int remove_binding(xcWidget, int, int); extern void remove_keybinding(xcWidget, const char *, const char *); @@ -436,16 +448,17 @@ /* from libraries.c: */ -extern short findhelvetica(); -extern void catreturn(); +extern short findhelvetica(void); +extern void catreturn(void); extern int pageposition(short, int, int, int); -extern short pagelinks(); +extern short pagelinks(int); extern short *pagetotals(int, short); extern Boolean is_virtual(objinstptr); extern int is_page(objectptr); extern int is_library(objectptr); +extern int check_library(char *); extern int name_to_library(char *); -extern void lib_set_changes(); +extern void lib_set_changes(int); extern void lib_mark_changed(int); extern int libfindobject(objectptr, int *); extern int libmoveobject(objectptr, int); @@ -458,13 +471,13 @@ extern void pagecatmove(int, int); extern void composelib(short); extern short finddepend(objinstptr, objectptr **); -extern void cathide(); -extern void catvirtualcopy(); -extern void catdelete(); +extern void cathide(void); +extern void catvirtualcopy(void); +extern void catdelete(void); extern void catmove(int, int); -extern void copycat(); +extern void copycat(void); extern void catalog_op(int, int, int); -extern void changecat(); +extern void changecat(void); extern void startcatalog(xcWidget, pointertype, caddr_t); /* from menucalls.c: */ @@ -480,6 +493,12 @@ extern void setdscale(xcWidget, XPoint *); extern void setosize(xcWidget, objinstptr); extern void setwwidth(xcWidget, void *); +#ifdef TCL_WRAPPER +extern void renamepage(short); +extern void renamelib(short); +extern void setcolormark(int); +extern void setallstylemarks(u_short); +#endif extern labelptr gettextsize(float **); extern void stringparam(xcWidget, caddr_t, caddr_t); extern int setelementstyle(xcWidget, u_short, u_short); @@ -489,15 +508,16 @@ extern void getgridtype(xcWidget, pointertype, caddr_t); extern void newlibrary(xcWidget, caddr_t, caddr_t); extern int createlibrary(Boolean); -extern void makepagebutton(); -extern int findemptylib(); +extern void makepagebutton(void); +extern int findemptylib(void); extern polyptr checkforbbox(objectptr); #ifdef TCL_WRAPPER extern void setcolor(xcWidget, int); +extern void setfontmarks(short, short); #endif extern void startparam(xcWidget, pointertype, caddr_t); extern void startunparam(xcWidget, pointertype, caddr_t); -extern void setdefaultfontmarks(); +extern void setdefaultfontmarks(void); extern void setjustbit(xcWidget, pointertype, caddr_t); extern void setpinjustbit(xcWidget, pointertype, caddr_t); extern void setjust(xcWidget, pointertype, labelptr, short); @@ -517,6 +537,7 @@ /* from xtfuncs.c: */ +extern void makenewfontbutton(void); /* either here or menucalls.c */ #ifndef TCL_WRAPPER extern void setfloat(xcWidget, float *); extern void autoset(xcWidget, xcWidgetList, caddr_t); @@ -559,7 +580,7 @@ extern void getfloat(xcWidget, float *, caddr_t); extern void setfilename(xcWidget, char **); extern void setpagelabel(xcWidget, char *); -extern void makenewfontbutton(); +extern void makenewfontbutton(void); extern void newpagemenu(xcWidget, pointertype, caddr_t); extern void makenewencodingbutton(char *, char); extern void toggle(xcWidget, pointertype, Boolean *); @@ -585,19 +606,21 @@ #ifdef TCL_WRAPPER extern Tcl_Obj *tclglobals(objinstptr); extern Tcl_Obj *tcltoplevel(objinstptr); +void ratsnest(objectptr); #endif +extern int NameToPinLocation(objinstptr, char *, int *, int *); extern Boolean RemoveFromNetlist(objectptr, genericptr); extern labelptr NetToLabel(int, objectptr); extern void NameToPosition(objinstptr, labelptr, XPoint *); extern XPoint *NetToPosition(int, objectptr); +extern int getsubnet(int, objectptr); extern void invalidate_netlist(objectptr); extern void remove_netlist_element(objectptr, genericptr); extern int updatenets(objinstptr, Boolean); extern void createnets(objinstptr, Boolean); -extern void destroynets(); extern Boolean nonnetwork(polyptr); -extern int globalmax(); +extern int globalmax(void); extern LabellistPtr geninfolist(objectptr, objinstptr, char *); extern void gennetlist(objinstptr); extern void gencalls(objectptr); @@ -609,7 +632,9 @@ extern void copy_bus(Genericlist *, Genericlist *); extern Genericlist *is_resolved(genericptr *, pushlistptr, objectptr *); extern Boolean highlightnet(objectptr, objinstptr, int, u_char); +extern void highlightnetlist(objectptr, objinstptr, u_char); extern int pushnetwork(pushlistptr, objectptr); +extern Boolean match_buses(Genericlist *, Genericlist *, int); extern int onsegment(XPoint *, XPoint *, XPoint *); extern Boolean neardist(long); extern Boolean nearpoint(XPoint *, XPoint *); @@ -647,18 +672,22 @@ extern void freepcb(struct Ptab *); extern void freegenlist(Genericlist *); extern void freepolylist(PolylistPtr *); +extern void freenetlist(objectptr); extern void freelabellist(LabellistPtr *); extern void freecalls(CalllistPtr); extern void freenets(objectptr); extern void freetemplabels(objectptr); -extern void freeglobals(); +extern void freeglobals(void); extern void destroynets(objectptr); extern int cleartraversed(objectptr); extern int checkvalid(objectptr); extern void clearlocalpins(objectptr); extern void append_included(char *); extern Boolean check_included(char *); -extern void free_included(); +extern void free_included(void); + +/* from ngspice.c: */ +extern int exit_spice(void); /* from parameter.c: */ @@ -667,6 +696,7 @@ extern oparamptr match_instance_param(objinstptr, char *); extern oparamptr find_param(objinstptr, char *); extern int get_num_params(objectptr); +extern void free_all_eparams(genericptr); extern void free_object_param(objectptr, oparamptr); extern void free_instance_param(objinstptr, oparamptr); extern void free_element_param(genericptr, eparamptr); @@ -677,10 +707,12 @@ extern void makeexprparam(objectptr, char *, char *, int); extern void makefloatparam(objectptr, char *, float); extern void makestringparam(objectptr, char *, stringpart *); +extern void std_eparam(genericptr, char *); extern void indicateparams(genericptr); +extern void setparammarks(genericptr); extern void makenumericalp(genericptr *, u_int, char *); extern void noparmstrcpy(u_char *, u_char *); -extern void insertparam(); +extern void insertparam(void); extern void makeparam(labelptr, char *); extern void searchinst(objectptr, objectptr, char *); extern stringpart *searchparam(stringpart *); @@ -693,13 +725,14 @@ extern oparamptr parampos(objectptr, labelptr, char *, short *, short *); extern int opsubstitute(objectptr, objinstptr); extern int psubstitute(objinstptr); +extern Boolean has_param(genericptr); extern oparamptr copyparameter(oparamptr); extern void pwriteback(objinstptr); extern short paramlen(u_char *); extern int natstrlen(u_char *); extern int natstrcmp(u_char *, u_char *); extern void curtail(u_char *); -extern int checklibtop(); +extern int checklibtop(void); extern void removeinst(objinstptr); extern void removeparams(objectptr); extern void resolveparams(objinstptr); @@ -707,8 +740,8 @@ /* from python.c: */ #ifdef HAVE_PYTHON -extern void init_interpreter(); -extern void exit_interpreter(); +extern void init_interpreter(void); +extern void exit_interpreter(void); #endif #ifdef HAVE_XPM @@ -718,9 +751,9 @@ /* from rcfile.c: */ extern short execcommand(short, char *); -extern void defaultscript(); -extern void execscript(); -extern void loadrcfile(); +extern void defaultscript(void); +extern void execscript(void); +extern void loadrcfile(void); #ifndef HAVE_PYTHON extern short readcommand(short, FILE *); #endif @@ -737,6 +770,8 @@ /* from flate.c */ #ifdef HAVE_LIBZ +extern u_long large_deflate(u_char *, u_long, u_char *, u_long); +extern u_long large_inflate(u_char *, u_long, u_char **, u_long); extern unsigned long ps_deflate (unsigned char *, unsigned long, unsigned char *, unsigned long); extern unsigned long ps_inflate (unsigned char *, unsigned long, @@ -745,38 +780,39 @@ /* from render.c: */ -extern void ghostinit(); +extern void ghostinit(void); extern void send_client(Atom); -extern void ask_for_next(); -extern void start_gs(); +extern void ask_for_next(void); +extern void start_gs(void); extern void parse_bg(FILE *, FILE *); -extern void bg_get_bbox(); +extern void bg_get_bbox(void); extern void backgroundbbox(int); extern void readbackground(FILE *); extern void savebackground(FILE *, char *); extern void register_bg(char *); -extern void loadbackground(); +extern void loadbackground(void); extern void send_to_gs(char *); -extern int renderbackground(); -extern int copybackground(); -extern int exit_gs(); -extern int reset_gs(); +extern int renderbackground(void); +extern int copybackground(void); +extern int exit_gs(void); +extern int reset_gs(void); #ifndef TCL_WRAPPER -extern Boolean render_client(); +extern Boolean render_client(XEvent *); #endif /* from schema.c: */ extern objectptr NameToPageObject(char *, objinstptr *, int *); extern objectptr NameToObject(char *, objinstptr *, Boolean); +extern int checkpagename(objectptr); extern void callwritenet(xcWidget, pointertype, caddr_t); extern void startconnect(xcWidget, caddr_t, caddr_t); extern void connectivity(xcWidget, caddr_t, caddr_t); extern Boolean setobjecttype(objectptr); extern void pinconvert(labelptr, pointertype); extern void dopintype(xcWidget, pointertype, caddr_t); -extern void setsymschem(); +extern void setsymschem(void); extern int findpageobj(objectptr); extern void collectsubschems(int); extern int findsubschems(int, objectptr, int, short *); @@ -786,7 +822,7 @@ extern void changeotherpins(labelptr, stringpart *); extern void swapschem(int, int); extern void dobeforeswap(xcWidget, caddr_t, caddr_t); -extern void schemdisassoc(); +extern void schemdisassoc(void); extern void startschemassoc(xcWidget, pointertype, caddr_t); extern Boolean schemassoc(objectptr, objectptr); #ifndef TCL_WRAPPER @@ -802,27 +838,30 @@ extern void geneasydraw(short, int, objectptr, objinstptr); extern void gendrawselected(short *, objectptr, objinstptr); extern selection *genselectelement(short, u_char, objectptr, objinstptr); -extern short *allocselect(); -extern void setoptionmenu(); +extern short *allocselect(void); +extern void setoptionmenu(void); extern int test_insideness(int, int, XPoint *); extern Boolean pathselect(genericptr *, short, float); extern Boolean areaelement(genericptr *); -extern void selectarea(); +extern void selectarea(void); extern void startdesel(xcWidget, caddr_t, caddr_t); extern void deselect(xcWidget, caddr_t, caddr_t); -extern void draw_normal_selected(); -extern void draw_all_selected(); -extern void clearselects_noundo(); -extern void clearselects(); -extern void unselect_all(); +extern void draw_normal_selected(objectptr, objinstptr); +extern void freeselects(void); +extern void draw_all_selected(void); +extern void clearselects_noundo(void); +extern void clearselects(void); +extern void unselect_all(void); extern selection *recurselect(short, u_char, pushlistptr *); extern short *recurse_select_element(short, u_char); -extern void startselect(); -extern void trackselarea(); +extern void startselect(void); +extern void trackselarea(void); +extern void trackrescale(void); /* from text.c: */ extern Boolean hasparameter(labelptr); +extern void joinlabels(void); extern void drawparamlabels(labelptr, short); extern stringpart *nextstringpart(stringpart *, objinstptr); extern stringpart *nextstringpartrecompute(stringpart *, objinstptr); @@ -841,6 +880,8 @@ extern int textcomp(stringpart *, char *, objinstptr); extern int textncomp(stringpart *, char *, objinstptr); extern int stringcomp(stringpart *, stringpart *); +extern Boolean issymbolfont(int); +extern Boolean isisolatin1(int); extern int stringcomprelaxed(stringpart *, stringpart *, objinstptr); extern int stringparts(stringpart *); extern int stringlength(stringpart *, Boolean, objinstptr); @@ -869,9 +910,11 @@ extern void W2printf(char *, ...); extern void W3printf(char *, ...); -extern XCWindowData *create_new_window(); +extern XCWindowData *create_new_window(void); +extern void pre_initialize(void); +extern void post_initialize(void); extern void delete_window(XCWindowDataPtr); -extern void printeventmode(); +extern void printeventmode(void); extern void popupprompt(xcWidget, char *, char *, void (*function)(), buttonsave *, const char *); extern void getproptext(xcWidget, propstruct *, caddr_t); @@ -882,7 +925,7 @@ extern int query_named_color(char *); extern caddr_t CvtStringToPixel(XrmValuePtr, int *, XrmValuePtr, XrmValuePtr); extern void outputpopup(xcWidget, caddr_t, caddr_t); -extern void docommand(); +extern void docommand(void); extern void destroypopup(xcWidget, popupstruct *, caddr_t); extern int xc_alloccolor(char *); extern void dointr(int); @@ -891,10 +934,10 @@ extern u_short getchanges(objectptr); extern void quitcheck(xcWidget, caddr_t, caddr_t); extern void quit(xcWidget, caddr_t); -extern void resizetoolbar(); +extern void resizetoolbar(void); extern void writescalevalues(char *, char *, char *); #ifdef TCL_WRAPPER -extern Tcl_Obj *Tcl_NewHandleObj(); +/* XXX extern Tcl_Obj *Tcl_NewHandleObj(); */ extern int Tcl_GetHandleFromObj(Tcl_Interp *, Tcl_Obj *, void **); #else extern void updatetext(xcWidget, xcWidgetList, caddr_t); @@ -902,4 +945,4 @@ #endif -extern void makecursors(); +extern void makecursors(void); diff --exclude=configure -u /home/ldoolitt/cvs/xcircuit-3.6/tclxcircuit.c xcircuit-3.6-cvs/tclxcircuit.c --- /home/ldoolitt/cvs/xcircuit-3.6/tclxcircuit.c 2006-05-30 11:54:02.000000000 -0700 +++ xcircuit-3.6-cvs/tclxcircuit.c 2006-06-01 09:30:40.000000000 -0700 @@ -10,6 +10,7 @@ #include #include /* for va_copy() */ #include /* for atoi() and others */ +#include #ifndef _MSC_VER #include /* for usleep() */ #endif @@ -822,7 +823,7 @@ /*----------------------------------------------------------------------*/ /* Handle (integer representation of internal xcircuit object) checking */ -/* if "checkobject" is NULL, then +/* if "checkobject" is NULL, then */ /*----------------------------------------------------------------------*/ genericptr *CheckHandle(pointertype eaddr, objectptr checkobject) @@ -1485,7 +1486,7 @@ else if (!strncmp(option + 1, "quiet", 5)) { quiet = TRUE; } - else if (sscanf(option, "%d", &refpoint.x) == 1) { + else if (sscanf(option, "%hd", &refpoint.x) == 1) { break; /* This is probably a negative point position! */ } objc--; @@ -5514,7 +5515,7 @@ } if (winptr == NULL) { Tcl_SetResult(interp, "No such window\n", NULL); - return; + return TCL_ERROR; } } break; diff --exclude=configure -u /home/ldoolitt/cvs/xcircuit-3.6/tkSimple.c xcircuit-3.6-cvs/tkSimple.c --- /home/ldoolitt/cvs/xcircuit-3.6/tkSimple.c 2006-04-10 14:52:19.000000000 -0700 +++ xcircuit-3.6-cvs/tkSimple.c 2006-06-01 09:30:40.000000000 -0700 @@ -12,6 +12,7 @@ #include #include +#include #include diff --exclude=configure -u /home/ldoolitt/cvs/xcircuit-3.6/undo.c xcircuit-3.6-cvs/undo.c --- /home/ldoolitt/cvs/xcircuit-3.6/undo.c 2006-04-10 14:52:19.000000000 -0700 +++ xcircuit-3.6-cvs/undo.c 2006-06-01 09:30:40.000000000 -0700 @@ -588,7 +588,7 @@ thisrecord = xobjs.undostack; if (thisrecord == NULL) { Fprintf(stderr, "Nothing to undo!\n"); - return; + return 0; } xobjs.undostack = thisrecord->next; @@ -926,7 +926,7 @@ thisrecord = xobjs.redostack; if (thisrecord == NULL) { Fprintf(stderr, "Nothing to redo!\n"); - return; + return 0; } xobjs.undostack = thisrecord; xobjs.redostack = thisrecord->last; diff --exclude=configure -u /home/ldoolitt/cvs/xcircuit-3.6/xcircuit.c xcircuit-3.6-cvs/xcircuit.c --- /home/ldoolitt/cvs/xcircuit-3.6/xcircuit.c 2006-05-30 11:54:02.000000000 -0700 +++ xcircuit-3.6-cvs/xcircuit.c 2006-06-01 09:30:40.000000000 -0700 @@ -36,6 +36,7 @@ #include #include #include +#include #ifndef XC_WIN32 #include /* for unlink() */ @@ -513,6 +514,7 @@ measurestr(xobjs.pagelist[areawin->page]->snapspace, buf2); Wprintf("Grid %.50s : Snap %.50s", buf1, buf2); } + /* XXX where is the xcTimeOutProc to return? */ } #endif /* TCL_WRAPPER */ From ldoolitt at recycle.lbl.gov Fri Jun 2 10:22:02 2006 From: ldoolitt at recycle.lbl.gov (ldoolitt at recycle.lbl.gov) Date: Fri, 2 Jun 2006 10:22:02 -0700 Subject: [Xcircuit-dev] de-linting patch for CVS In-Reply-To: <20060601165138.GA26363@recycle.lbl.gov> References: <20060601165138.GA26363@recycle.lbl.gov> Message-ID: <20060602172202.GA9966@recycle.lbl.gov> Friends - On Thu, Jun 01, 2006 at 09:51:38AM -0700, ldoolitt at recycle.lbl.gov wrote: > After some or all of this relatively long but simple patch > is applied, I will dig into some of the trickier bits. More language cleanup, more subtle this time. One behavior change, in menudep.c: use fopen/fclose to create an empty file, in both normal and XC_WIN32 code paths. I gave both the tcl and python configurations a quick check, I don't think I broke anything. Please review and apply. If the e-mail system mangles the patch, you can fetch a fresh copy from http://recycle.lbl.gov/~ldoolitt/xcircuit-patch-20060602.txt - Larry diff --exclude=CVS --exclude=Makefile --exclude=aclocal.m4 --exclude=configure --exclude=Makefile.in -ur xcircuit-3.6/elements.c /home/ldoolitt/src/xcircuit-3.6-work/elements.c --- xcircuit-3.6/elements.c 2006-04-10 14:52:19.000000000 -0700 +++ /home/ldoolitt/src/xcircuit-3.6-work/elements.c 2006-06-01 15:33:25.000000000 -0700 @@ -520,7 +520,7 @@ labelptr curlabel; stringpart *curpos, *labelbuf; int locpos; - Boolean r, do_redraw = False; + Boolean r = False, do_redraw = False; short tmplength, tmpheight, cfont; TextExtents tmpext; diff --exclude=CVS --exclude=Makefile --exclude=aclocal.m4 --exclude=configure --exclude=Makefile.in -ur xcircuit-3.6/events.c /home/ldoolitt/src/xcircuit-3.6-work/events.c --- xcircuit-3.6/events.c 2006-06-01 14:07:17.000000000 -0700 +++ /home/ldoolitt/src/xcircuit-3.6-work/events.c 2006-06-02 10:04:39.000000000 -0700 @@ -1204,9 +1204,9 @@ /*--------------------------*/ #ifdef TCL_WRAPPER -xcTimeOutProc makepress(caddr_t clientdata) +void makepress(ClientData clientdata) #else -xcTimeOutProc makepress(caddr_t clientdata, xcIntervalId *id) +void makepress(XtPointer clientdata, xcIntervalId *id) #endif { int keywstate = (int)((pointertype)clientdata); @@ -1216,8 +1216,6 @@ areawin->time_id = 0; pressmode = keywstate; eventdispatch(keywstate | HOLD_MASK, areawin->save.x, areawin->save.y); - - return NULL; } /*------------------------------------------------------*/ @@ -2189,7 +2187,7 @@ areawin->save.x = event->x; areawin->save.y = event->y; areawin->time_id = xcAddTimeOut(app, PRESSTIME, - (xcTimeOutProc)makepress, (ClientData)((pointertype)keywstate)); + makepress, (ClientData)((pointertype)keywstate)); return; } diff --exclude=CVS --exclude=Makefile --exclude=aclocal.m4 --exclude=configure --exclude=Makefile.in -ur xcircuit-3.6/files.c /home/ldoolitt/src/xcircuit-3.6-work/files.c --- xcircuit-3.6/files.c 2006-06-01 14:07:17.000000000 -0700 +++ /home/ldoolitt/src/xcircuit-3.6-work/files.c 2006-06-02 10:05:52.000000000 -0700 @@ -3912,7 +3912,7 @@ #ifdef TCL_WRAPPER -xcTimeOutProc savetemp(caddr_t clientdata) +void savetemp(ClientData clientdata) { if (xobjs.timeout_id == NULL) { /* Not called by timeout callback */ xcRemoveTimeOut(xobjs.timeout_id); @@ -3921,7 +3921,7 @@ #else -xcTimeOutProc savetemp(caddr_t clientdata, xcIntervalId *id) +void savetemp(XtPointer clientdata, xcIntervalId *id) { if (id == NULL) /* Not called by timeout callback */ xcRemoveTimeOut(xobjs.timeout_id); @@ -3948,7 +3948,6 @@ if (fd == -1) { Fprintf(stderr, "Error generating file for savetemp\n"); free(template); - return NULL; } close(fd); xobjs.tempfile = strdup(template); @@ -3958,8 +3957,7 @@ } xobjs.timeout_id = xcAddTimeOut(app, 60000 * xobjs.save_interval, - (xcTimeOutProc)savetemp, NULL); - return NULL; + savetemp, NULL); } /*----------------------------------------------------------------------*/ diff --exclude=CVS --exclude=Makefile --exclude=aclocal.m4 --exclude=configure --exclude=Makefile.in -ur xcircuit-3.6/menudep.c /home/ldoolitt/src/xcircuit-3.6-work/menudep.c --- xcircuit-3.6/menudep.c 2006-04-10 14:52:19.000000000 -0700 +++ /home/ldoolitt/src/xcircuit-3.6-work/menudep.c 2006-06-01 14:19:57.000000000 -0700 @@ -155,20 +155,10 @@ int main() { -#ifdef XC_WIN32 + /* create empty file menudep.h */ FILE *fid = fopen("menudep.h", "w"); fclose(fid); return 0; -#else - /* create empty file menudep.h */ - const char *argv[] = { - "touch", - "menudep.h", - NULL, - }; - execvp(argv[0], argv); - exit(0); -#endif } #endif /* TCL_WRAPPER */ diff --exclude=CVS --exclude=Makefile --exclude=aclocal.m4 --exclude=configure --exclude=Makefile.in -ur xcircuit-3.6/netlist.c /home/ldoolitt/src/xcircuit-3.6-work/netlist.c --- xcircuit-3.6/netlist.c 2006-04-10 14:52:19.000000000 -0700 +++ /home/ldoolitt/src/xcircuit-3.6-work/netlist.c 2006-06-02 09:51:56.000000000 -0700 @@ -3373,7 +3373,8 @@ LabellistPtr infolist, infoptr; FILE *finclude; - if (locmode = mode) { + locmode = mode; + if (locmode) { /* "sim" format files are flattened by definition */ diff --exclude=CVS --exclude=Makefile --exclude=aclocal.m4 --exclude=configure --exclude=Makefile.in -ur xcircuit-3.6/parameter.c /home/ldoolitt/src/xcircuit-3.6-work/parameter.c --- xcircuit-3.6/parameter.c 2006-04-10 14:52:19.000000000 -0700 +++ /home/ldoolitt/src/xcircuit-3.6-work/parameter.c 2006-06-02 09:53:51.000000000 -0700 @@ -221,7 +221,7 @@ oparamptr fparam, ops; fparam = match_instance_param(thisinst, key); ops = match_param(thisinst->thisobject, key); - if ((fparam == NULL) || (ops->type == XC_EXPR) && (fparam->type != XC_EXPR)) + if ((fparam == NULL) || ((ops->type == XC_EXPR) && (fparam->type != XC_EXPR))) fparam = ops; return fparam; } @@ -1657,7 +1657,7 @@ Wprintf("%s", sstart); free(sstart); - /* Need a new non-Tcl version method . . . */ + /* XXX Need a new non-Tcl version method . . . */ ops = NULL; /* placeholder */ } diff --exclude=CVS --exclude=Makefile --exclude=aclocal.m4 --exclude=configure --exclude=Makefile.in -ur xcircuit-3.6/prototypes.h /home/ldoolitt/src/xcircuit-3.6-work/prototypes.h --- xcircuit-3.6/prototypes.h 2006-06-01 14:07:17.000000000 -0700 +++ /home/ldoolitt/src/xcircuit-3.6-work/prototypes.h 2006-06-02 10:06:04.000000000 -0700 @@ -178,9 +178,9 @@ extern void elementflip(XPoint *); extern void elementvflip(XPoint *); #ifdef TCL_WRAPPER -extern xcTimeOutProc makepress(caddr_t); +extern void makepress(ClientData); #else -extern xcTimeOutProc makepress(caddr_t, xcIntervalId *); +extern void makepress(XtPointer, xcIntervalId *); #endif extern void reviseselect(short *, int, short *); extern void deletebutton(int, int); @@ -289,11 +289,11 @@ char standard_delimiter_end(char); #ifdef TCL_WRAPPER -void setfile(char *, int); -extern xcTimeOutProc savetemp(caddr_t); +extern void setfile(char *, int); +extern void savetemp(ClientData); #else extern void setfile(xcWidget, xcWidget, caddr_t); -extern xcTimeOutProc savetemp(caddr_t, xcIntervalId *); +extern void savetemp(XtPointer, xcIntervalId *); #endif extern void incr_changes(objectptr); extern void savelibpopup(xcWidget, pointertype, caddr_t); @@ -926,6 +926,7 @@ extern caddr_t CvtStringToPixel(XrmValuePtr, int *, XrmValuePtr, XrmValuePtr); extern void outputpopup(xcWidget, caddr_t, caddr_t); extern void docommand(void); +extern int installowncmap(void); /* sometimes from xtgui.c */ extern void destroypopup(xcWidget, popupstruct *, caddr_t); extern int xc_alloccolor(char *); extern void dointr(int); diff --exclude=CVS --exclude=Makefile --exclude=aclocal.m4 --exclude=configure --exclude=Makefile.in -ur xcircuit-3.6/rcfile.c /home/ldoolitt/src/xcircuit-3.6-work/rcfile.c --- xcircuit-3.6/rcfile.c 2006-04-10 14:52:19.000000000 -0700 +++ /home/ldoolitt/src/xcircuit-3.6-work/rcfile.c 2006-06-01 18:29:48.000000000 -0700 @@ -13,6 +13,8 @@ #include #include #include +#include +#include /* for usleep() */ #ifndef XC_WIN32 #include @@ -125,7 +127,7 @@ if (!strncmp(argptr, "default", 7)) { argptr += 7; while (isspace(*argptr) && (*argptr != '\0')) argptr++; - if (*argptr == '\0') return; /* bad syntax */ + if (*argptr == '\0') return flags; /* bad syntax */ } sscanf(argptr, "%49s", value); @@ -287,7 +289,7 @@ if (!strncmp(argptr, "default", 7)) { argptr += 7; while (isspace(*argptr) && (*argptr != '\0')) argptr++; - if (*argptr == '\0') return; /* bad syntax */ + if (*argptr == '\0') return flags; /* bad syntax */ } if (!strncmp(argptr, "font", 4)) { diff --exclude=CVS --exclude=Makefile --exclude=aclocal.m4 --exclude=configure --exclude=Makefile.in -ur xcircuit-3.6/tclxcircuit.c /home/ldoolitt/src/xcircuit-3.6-work/tclxcircuit.c --- xcircuit-3.6/tclxcircuit.c 2006-06-01 14:07:17.000000000 -0700 +++ /home/ldoolitt/src/xcircuit-3.6-work/tclxcircuit.c 2006-06-01 18:09:50.000000000 -0700 @@ -11,9 +11,6 @@ #include /* for va_copy() */ #include /* for atoi() and others */ #include -#ifndef _MSC_VER -#include /* for usleep() */ -#endif #include #include #include diff --exclude=CVS --exclude=Makefile --exclude=aclocal.m4 --exclude=configure --exclude=Makefile.in -ur xcircuit-3.6/undo.c /home/ldoolitt/src/xcircuit-3.6-work/undo.c --- xcircuit-3.6/undo.c 2006-06-01 14:07:17.000000000 -0700 +++ /home/ldoolitt/src/xcircuit-3.6-work/undo.c 2006-06-01 15:04:48.000000000 -0700 @@ -158,7 +158,7 @@ k++; } else - Fprintf(stderr, "Error: element 0x%x in select list but not object\n", + Fprintf(stderr, "Error: element %p in select list but not object\n", egen); } @@ -241,6 +241,7 @@ return NULL; } } + return NULL; /* yes, this can be reached, if thisrecord->next == NULL */ } /*----------------------------------------------------------------------*/ @@ -638,8 +639,9 @@ thisrecord->undodata = NULL; break; } - else - delete_one_element(thisrecord->thisinst, egen); + else { + delete_one_element(thisrecord->thisinst, egen); /* XXX egen is uninitialized! */ + } /* Put back all the parts */ areawin->selects = thisobj->parts; diff --exclude=CVS --exclude=Makefile --exclude=aclocal.m4 --exclude=configure --exclude=Makefile.in -ur xcircuit-3.6/xcircuit.c /home/ldoolitt/src/xcircuit-3.6-work/xcircuit.c --- xcircuit-3.6/xcircuit.c 2006-06-01 14:07:17.000000000 -0700 +++ /home/ldoolitt/src/xcircuit-3.6-work/xcircuit.c 2006-06-02 09:40:14.000000000 -0700 @@ -500,7 +500,8 @@ /* For formatted strings, format first into _STR */ /*-------------------------------------------------*/ -xcTimeOutProc clrmessage(caddr_t clientdata) +/* XXX it looks like this routine is an orphan */ +void clrmessage(caddr_t clientdata) { char buf1[50], buf2[50]; @@ -514,7 +515,6 @@ measurestr(xobjs.pagelist[areawin->page]->snapspace, buf2); Wprintf("Grid %.50s : Snap %.50s", buf1, buf2); } - /* XXX where is the xcTimeOutProc to return? */ } #endif /* TCL_WRAPPER */ @@ -1470,7 +1470,7 @@ xobjs.save_interval = appdata.timeout; xobjs.timeout_id = xcAddTimeOut(app, 60000 * xobjs.save_interval, - (xcTimeOutProc)savetemp, NULL); + savetemp, NULL); } /*----------------------------------------------------------------------*/ diff --exclude=CVS --exclude=Makefile --exclude=aclocal.m4 --exclude=configure --exclude=Makefile.in -ur xcircuit-3.6/xtfuncs.c /home/ldoolitt/src/xcircuit-3.6-work/xtfuncs.c --- xcircuit-3.6/xtfuncs.c 2006-04-10 14:52:19.000000000 -0700 +++ /home/ldoolitt/src/xcircuit-3.6-work/xtfuncs.c 2006-06-01 14:58:11.000000000 -0700 @@ -929,7 +929,7 @@ default: for (titem = ToolBar; titem < ToolBar + toolbuttons; titem++) { - if (func == (int)(titem->passeddata)) { + if (func == (pointertype)(titem->passeddata)) { self = XtNameToWidget(parent, titem->name); break; } diff --exclude=CVS --exclude=Makefile --exclude=aclocal.m4 --exclude=configure --exclude=Makefile.in -ur xcircuit-3.6/xtgui.c /home/ldoolitt/src/xcircuit-3.6-work/xtgui.c --- xcircuit-3.6/xtgui.c 2006-04-10 14:52:19.000000000 -0700 +++ /home/ldoolitt/src/xcircuit-3.6-work/xtgui.c 2006-06-02 09:30:08.000000000 -0700 @@ -1302,7 +1302,7 @@ /* For formatted strings, format first into _STR */ /*-------------------------------------------------*/ -xcTimeOutProc clrmessage(caddr_t clientdata, xcIntervalId *id) +void clrmessage(XtPointer clientdata, xcIntervalId *id) { char buf1[50], buf2[50]; @@ -1367,7 +1367,7 @@ /* 10 second timeout */ if (widget == message3) { - printtime_id = xcAddTimeOut(app, 10000, (xcTimeOutProc)clrmessage, NULL); + printtime_id = xcAddTimeOut(app, 10000, clrmessage, NULL); } } diff --exclude=CVS --exclude=Makefile --exclude=aclocal.m4 --exclude=configure --exclude=Makefile.in -ur xcircuit-3.6/Xw/Form.c /home/ldoolitt/src/xcircuit-3.6-work/Xw/Form.c --- xcircuit-3.6/Xw/Form.c 2006-04-10 14:52:19.000000000 -0700 +++ /home/ldoolitt/src/xcircuit-3.6-work/Xw/Form.c 2006-06-01 14:19:57.000000000 -0700 @@ -960,7 +960,7 @@ /* For both the width and height references, if the ref parent was */ - /* not null, find the reference to be removed within the parents + /* not null, find the reference to be removed within the parents */ /* list, remove this reference. Then, for any references attached */ /* to the one just removed, reparent them to the parent reference. */ diff --exclude=CVS --exclude=Makefile --exclude=aclocal.m4 --exclude=configure --exclude=Makefile.in -ur xcircuit-3.6/Xw/PopupMgr.h /home/ldoolitt/src/xcircuit-3.6-work/Xw/PopupMgr.h --- xcircuit-3.6/Xw/PopupMgr.h 2006-04-10 14:52:19.000000000 -0700 +++ /home/ldoolitt/src/xcircuit-3.6-work/Xw/PopupMgr.h 2006-06-02 09:50:10.000000000 -0700 @@ -41,4 +41,5 @@ typedef struct _XwPopupMgrClassRec *XwPopupMgrWidgetClass; typedef struct _XwPopupMgrRec *XwPopupMgrWidget; +extern void XwAppInitialize(XtAppContext); extern void XwPostPopup(Widget, Widget, Widget, Position, Position); diff --exclude=CVS --exclude=Makefile --exclude=aclocal.m4 --exclude=configure --exclude=Makefile.in -ur xcircuit-3.6/Xw/Traversal.c /home/ldoolitt/src/xcircuit-3.6-work/Xw/Traversal.c --- xcircuit-3.6/Xw/Traversal.c 2006-04-10 14:52:19.000000000 -0700 +++ /home/ldoolitt/src/xcircuit-3.6-work/Xw/Traversal.c 2006-06-01 14:19:57.000000000 -0700 @@ -31,6 +31,7 @@ #include #include #include +#include /* abs */ static int Overlap(); diff --exclude=CVS --exclude=Makefile --exclude=aclocal.m4 --exclude=configure --exclude=Makefile.in -ur xcircuit-3.6/Xw/XwP.h /home/ldoolitt/src/xcircuit-3.6-work/Xw/XwP.h --- xcircuit-3.6/Xw/XwP.h 2006-06-01 14:07:17.000000000 -0700 +++ /home/ldoolitt/src/xcircuit-3.6-work/Xw/XwP.h 2006-06-01 14:19:57.000000000 -0700 @@ -219,7 +219,9 @@ ************************************************************************/ extern void mgr_traversal(); +extern void _XwDrawBox(); extern void XwSetFocusPath(); +extern void XwMoveFocus(); extern void XwProcessTraversal(); extern void XwSetInputFocus(); extern void _XwInitCheckList(); @@ -251,6 +253,7 @@ extern void _XwRealize(); extern void _XwResizeButton(); extern void _XwRegisterName(); +extern Boolean _XwRecomputeSize(); extern Boolean XwTestTraversability(); /************************************************************************ From ldoolitt at recycle.lbl.gov Sat Jun 3 20:15:18 2006 From: ldoolitt at recycle.lbl.gov (ldoolitt at recycle.lbl.gov) Date: Sat, 3 Jun 2006 20:15:18 -0700 Subject: [Xcircuit-dev] insertparam without tcl Message-ID: <20060604031518.GA14326@recycle.lbl.gov> Friends - As is pointed out in comments in the parameter.c, insertparam() is broken in the non-tcl case. I have started to play around with the code. Before I waste too much time, can someone confirm that my approach is sound? I think I need to add PARAMSEL_MODE to the enum editmode in xcircuit.h. I'll enter that mode after the Wprintf("%s", sstart); but not actually modify the string yet. Someplace in the event handling stack (eventdispatch()?) I can detect a digit keypress in PARAMSEL_MODE, to complete the logic and call labeltext(). It would probably be good to detect an escape keypress, and skip the labeltext() call. In either case, I guess the system has to land in TEXT_MODE -- or is it ETEXT_MODE? Or do I need to remember the eventmode, and pop it back? On a side note, it looks like this feature has been broken (for non-tcl builds) since at least 3.1.38. Is parameter usage really that unusual? I, personally, can't survive in xcircuit without it. - Larry From tim.edwards at multigig.com Sat Jun 3 23:03:29 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Sat, 03 Jun 2006 23:03:29 -0700 Subject: [Xcircuit-dev] insertparam without tcl In-Reply-To: <20060604031518.GA14326@recycle.lbl.gov> References: <20060604031518.GA14326@recycle.lbl.gov> Message-ID: <448277B1.30606@multigig.com> Dear Larry, > As is pointed out in comments in the parameter.c, > insertparam() is broken in the non-tcl case. > I have started to play around with the code. > Before I waste too much time, can someone > confirm that my approach is sound? I question the desirability of messing with the non-Tcl code. It's just so horribly outdated. Wouldn't you rather just convert it wholesale to something more modern (not to mention compatible with Windows) like Qt or GTK? But if you want to do it, go ahead. If you break anything in the Tcl version, I'll fix it. > I think I need to add PARAMSEL_MODE to the > enum editmode in xcircuit.h. I'll enter that > mode after the Wprintf("%s", sstart); > but not actually modify the string yet. The idea of the modes is that you could potentially do any mouse, button, or keystroke in the mode, and the dispatch routine would interpret the keystroke (or rather the function binding of the keystroke) relative to the current mode. In this case, though, there is no need, because the whole program will hang, waiting for a response. This is the way the Tcl version works, which calls the procedure "promptselectparam" that pops up a window, then waits for a response and returns the answer. To match this behavior, the non-Tcl version should at this point generate a pop-up window presenting all of the parameters belonging to the object and their instance values, wait for a selection, and return the string value of the parameter key (char *selparm). At this point, the Tcl and non-Tcl versions will run the same code (from parameter.c line 1619). > On a side note, it looks like this feature has been > broken (for non-tcl builds) since at least 3.1.38. > Is parameter usage really that unusual? I, personally, > can't survive in xcircuit without it. No, it is not really possible to survive without it. I haven't used the non-Tcl version of XCircuit since roughly version 3.1.38. I just compile it from time to time to make sure it still works. After a while I just got sick of working with the Xw code, and the other options (Qt, GTK, as mentioned above, and a few others) just didn't seem to me to be as elegant a solution as using the extended Tcl interpreter. Every now and then I think about adding some of the Tcl script features back into the non-Tcl version, but I can't convince myself that it's worth the effort. I gather from some of your previous emails that the reason you're compiling the non-Tcl version is that you want the Python interface. One could potentially map all the Tk code into Python/Tkinter, and turn xcircuit into an extension of Python rather than use it as an embedded interpreter. This is a lot more work but ultimately more productive. I've worked enough with the C calls to both Tcl and Python to know that most of them have a 1:1 mapping. It might even be possible to have a "meta" version of tclxcircuit.c that uses non-specific interpreter calls, that are mapped into either Tcl or Python. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From svenn at bjerkem.de Sun Jun 4 09:08:04 2006 From: svenn at bjerkem.de (Svenn Are Bjerkem) Date: Sun, 4 Jun 2006 18:08:04 +0200 Subject: [Xcircuit-dev] insertparam without tcl In-Reply-To: <448277B1.30606@multigig.com> References: <20060604031518.GA14326@recycle.lbl.gov> <448277B1.30606@multigig.com> Message-ID: <200606041808.04407.svenn@bjerkem.de> On Sunday 04 June 2006 08:03, R. Timothy Edwards wrote: > I question the desirability of messing with the non-Tcl code. > It's just so horribly outdated. ?Wouldn't you rather just > convert it wholesale to something more modern (not to mention > compatible with Windows) like Qt or GTK? ?But if you want > to do it, go ahead. ?If you break anything in the Tcl version, > I'll fix it. How much work would it be to have the Xw version transferred to Qt? I really like some of the concepts in the tcl version, but I have always had some personal problems with the user interface. I guess it is not possible to have the tcl version use qt as there is no tcl binding to the qt widet set. (as far as I know). -- Svenn From ldoolitt at recycle.lbl.gov Sun Jun 4 10:59:56 2006 From: ldoolitt at recycle.lbl.gov (ldoolitt at recycle.lbl.gov) Date: Sun, 4 Jun 2006 10:59:56 -0700 Subject: [Xcircuit-dev] insertparam without tcl In-Reply-To: <448277B1.30606@multigig.com> References: <20060604031518.GA14326@recycle.lbl.gov> <448277B1.30606@multigig.com> Message-ID: <20060604175956.GA18637@recycle.lbl.gov> Tim et al. - On Sat, Jun 03, 2006 at 11:03:29PM -0700, R. Timothy Edwards wrote: > > >I think I need to add PARAMSEL_MODE to the > >enum editmode in xcircuit.h. [chop] > > The idea of the modes is that you could potentially do > any mouse, button, or keystroke in the mode, and the > dispatch routine would interpret the keystroke (or rather > the function binding of the keystroke) relative to the > current mode. In this case, though, there is no need, > because the whole program will hang, waiting for a response. > This is the way the Tcl version works, which calls the > procedure "promptselectparam" that pops up a window, then > waits for a response and returns the answer. To match > this behavior, the non-Tcl version should at this point > generate a pop-up window presenting all of the parameters > belonging to the object and their instance values, > wait for a selection, and return the string value of > the parameter key (char *selparm). At this point, the > Tcl and non-Tcl versions will run the same code (from > parameter.c line 1619). That sounds a lot like the strategy that was in 3.1.24. Although the coding in getkeynum() is local, it's very invasive -- it temporarily takes over all event handling with its own local version. That code in event.c is not used anywhere else in Xcircuit. If that is indeed the right approach, I'll put it back in. > I gather from some of your previous emails that the reason you're > compiling the non-Tcl version is that you want the Python interface. Well, no, actually. I'm just very used to the look and feel of the old interface. Plus, while I have used Tcl, it has always seemed like a horrible little language [*]. I have learned a little Python, and it's a substantially better language. The broken-ness of the parameter select code sounds like a point against staying with the Python version. I tried the Tcl version of the same code path -- and I don't like it. It takes a former keystroke and turns it into a mouse click. > One could potentially map all the Tk code into Python/Tkinter, and > turn xcircuit into an extension of Python rather than use it as an > embedded interpreter. This is a lot more work but ultimately more > productive. I'm really looking for less work, not more. All I really want is a Debian package that works as well as the old (3.1.19) one. - Larry [*] As my old friend Ken Arnold (a Java partisan) says, "Tcl -- it's not a language, it's a tokenizer!" From svenn at bjerkem.de Mon Jun 5 13:24:09 2006 From: svenn at bjerkem.de (Svenn Are Bjerkem) Date: Mon, 5 Jun 2006 22:24:09 +0200 Subject: [Xcircuit-dev] insertparam without tcl In-Reply-To: <20060604175956.GA18637@recycle.lbl.gov> References: <20060604031518.GA14326@recycle.lbl.gov> <448277B1.30606@multigig.com> <20060604175956.GA18637@recycle.lbl.gov> Message-ID: <200606052224.09368.svenn@bjerkem.de> On Sunday 04 June 2006 19:59, ldoolitt at recycle.lbl.gov wrote: > Well, no, actually. ?I'm just very used to the look and feel of the > old interface. ?Plus, while I have used Tcl, it has always seemed > like a horrible little language [*]. ?I have learned a little Python, > and it's a substantially better language. For programming, yes -- maybe, for embedding in an application, specially an EDA one, no -- in my opinion. Tcl just "seem" more right on a command line than python. I have a problem with the interface, even the old one. On one side the concept of xcircuit fits the need for quick circuit drawing for presentation purpose, and at the same time that circuit is ready for simulation. On the other side, xcircuit is not quite as friendly to large projects as I would like to see. The new tutorial 3 from Tim make things a bit easier, and xcircuit has developed a lot regarding symbol creation for existing spice netlists etc. So far I haven't found any open source schematic capture that works better and faster for me than xcircuit, but I know I will need some of the options that cadence composer offer: Different cellviews tied to a symbol with vhdl, spectre, verilog etc. netlisting capabilities. -- Svenn From tim.edwards at multigig.com Mon Jun 5 13:50:46 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Mon, 05 Jun 2006 13:50:46 -0700 Subject: [Xcircuit-dev] insertparam without tcl In-Reply-To: <200606052224.09368.svenn@bjerkem.de> References: <20060604031518.GA14326@recycle.lbl.gov> <448277B1.30606@multigig.com> <20060604175956.GA18637@recycle.lbl.gov> <200606052224.09368.svenn@bjerkem.de> Message-ID: <44849926.9030804@multigig.com> (From Svenn:) > I have a problem with the interface, even the old one. On one side the concept > of xcircuit fits the need for quick circuit drawing for presentation purpose, > and at the same time that circuit is ready for simulation. On the other side, > xcircuit is not quite as friendly to large projects as I would like to see. > The new tutorial 3 from Tim make things a bit easier, and xcircuit has > developed a lot regarding symbol creation for existing spice netlists etc. I never used xcircuit on a large project until earlier this year, so it should not be surprising that the capabilities are under-developed. I have in mind a number of improvements for generating symbols. More problematic, though, is that the handling of project symbol libraries and multiple files is very fragile and easy to break if you don't follow the methods from Tutorial 3 pretty closely. > So far I haven't found any open source schematic capture that works better and > faster for me than xcircuit, but I know I will need some of the options that > cadence composer offer: Different cellviews tied to a symbol with vhdl, > spectre, verilog etc. netlisting capabilities. Since MultiGiG is starting to edge toward real products and volume chip production, we've bought all the standard Cadence and Mentor Graphics tools. This is causing me to have less and less opportunity to develop xcircuit and the rest of the open source tool suite. One of our main problems recently is that while the circuit designers here would much rather look at schematics in xcircuit, any circuit in xcircuit has to be duplicated by hand into Composer, or else it breaks the Cadence tool flow. Which is why I was happy to see some discussion about EDIF and DFII. But, chip testing is what's on the front burner today, so it's back to the lab for me. . . ---Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From ldoolitt at recycle.lbl.gov Tue Jun 6 11:59:57 2006 From: ldoolitt at recycle.lbl.gov (ldoolitt at recycle.lbl.gov) Date: Tue, 6 Jun 2006 11:59:57 -0700 Subject: [Xcircuit-dev] restore insertparam to python/Xw branch Message-ID: <20060606185957.GA14752@recycle.lbl.gov> Nominally restores insertparam() functionality to python/Xw builds. I'm not really happy with the order of parameters listed by Wprintf(). A typical status/prompt line for a Resistor is Choose: 1 = v3 = , 2 = v2 = , 3 = v1 = <1.0> ..and you have to press either 1, 2, or 3. If I knew that all of these string parameters consisted of "v" and a digit, I would do something different. getkeynum() is stolen directly from xcircuit-3.1.24. Its comments and code look rife with off-by-one errors. It returns 0 if you press XK_1. - Larry diff -ur xcircuit-3.6-ref/events.c xcircuit-3.6-work/events.c --- xcircuit-3.6-ref/events.c 2006-06-02 20:36:05.000000000 -0700 +++ xcircuit-3.6-work/events.c 2006-06-06 11:24:58.000000000 -0700 @@ -1199,6 +1199,32 @@ checkwarp(&curang); } +/*------------------------------------------------------*/ +/* Get a numerical response from the keyboard (0-9) */ +/*------------------------------------------------------*/ + +#ifndef TCL_WRAPPER + +short getkeynum() +{ + XEvent event; + XKeyEvent *keyevent = (XKeyEvent *)(&event); + KeySym keypressed; + + for (;;) { + XNextEvent(dpy, &event); + if (event.type == KeyPress) break; + else xcDispatchEvent(&event); + } + XLookupString(keyevent, _STR, 150, &keypressed, NULL); + if (keypressed > XK_0 && keypressed <= XK_9) + return (short)(keypressed - XK_1); + else + return -1; +} + +#endif + /*--------------------------*/ /* Register a "press" event */ /*--------------------------*/ diff -ur xcircuit-3.6-ref/parameter.c xcircuit-3.6-work/parameter.c --- xcircuit-3.6-ref/parameter.c 2006-06-02 20:36:05.000000000 -0700 +++ xcircuit-3.6-work/parameter.c 2006-06-06 11:24:58.000000000 -0700 @@ -1625,40 +1625,47 @@ #else - /* First pass is to check how many string parameters there are: */ - /* If only one, then automatically use it. Otherwise, prompt */ - /* for which parameter to use. */ - - for (ops = topobject->params; ops != NULL; ops = ops->next) - if (ops->type == XC_STRING) - nparms++; - - if (nparms > 1) { + { char *newstr, *sptr; char *sstart = (char *)malloc(1024); + oparamptr chosen_ops=NULL; nparms = 0; strcpy(sstart, "Choose: "); sptr = sstart + 8; for (ops = topobject->params; ops != NULL; ops = ops->next) { if (ops->type == XC_STRING) { + chosen_ops = ops; nparms++; if (nparms != 1) { strcat(sptr, ", "); sptr += 2; } - sprintf(sptr, "%s = <", ops->key); newstr = stringprint(ops->parameter.string, NULL); - strcat(sptr, newstr); + sprintf(sptr, "%d = %s = <%s", nparms, ops->key, newstr); free(newstr); newstr = NULL; sptr += strlen(sptr); } } - Wprintf("%s", sstart); - free(sstart); - /* XXX Need a new non-Tcl version method . . . */ - ops = NULL; /* placeholder */ + /* If only one parameter, then automatically use it. Otherwise, */ + /* prompt for which parameter to use. */ + + if (nparms > 1) { + int i=0, select_int; + chosen_ops = NULL; + Wprintf("%s", sstart); + select_int = getkeynum(); + for (ops = topobject->params; ops != NULL; ops = ops->next) { + if (ops->type == XC_STRING) { + if (i==select_int) chosen_ops = ops; + i++; + } + } + } + free(sstart); + ops = chosen_ops; + if (ops != NULL) selparm = ops->key; } #endif diff -ur xcircuit-3.6-ref/prototypes.h xcircuit-3.6-work/prototypes.h --- xcircuit-3.6-ref/prototypes.h 2006-06-02 20:36:05.000000000 -0700 +++ xcircuit-3.6-work/prototypes.h 2006-06-06 11:24:58.000000000 -0700 @@ -177,6 +177,7 @@ extern void elvflip(genericptr *, short); extern void elementflip(XPoint *); extern void elementvflip(XPoint *); +extern short getkeynum(void); #ifdef TCL_WRAPPER extern void makepress(ClientData); #else From tim.edwards at multigig.com Tue Jun 6 21:14:08 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Tue, 06 Jun 2006 21:14:08 -0700 Subject: [Xcircuit-dev] restore insertparam to python/Xw branch In-Reply-To: <20060606185957.GA14752@recycle.lbl.gov> References: <20060606185957.GA14752@recycle.lbl.gov> Message-ID: <44865290.4080400@multigig.com> Dear Larry, > I'm not really happy with the order of parameters listed by Wprintf(). > A typical status/prompt line for a Resistor is > Choose: 1 = v3 = , 2 = v2 = , 3 = v1 = <1.0> > ..and you have to press either 1, 2, or 3. If I knew that all of > these string parameters consisted of "v" and a digit, I would do > something different. The string parameters do not consist only of "v" + a digit. This is the behavior when XCircuit encounteres a file previous to version 3.something when I changed the parameters to a key:value pair representation. The original style had unnamed parameters that were converted to "v1", "v2", etc., keys within PostScript, so I kept these default names for want of anything better. If you look at the parameterized objects that come with the XCircuit distribution, you should get other (and more meaningful) parameter names. The "v1", "v2", etc., come out backwards because PostScript is a stack language and processes tokens from xcircuit in reverse order. ---Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From edadev at sc-software.com Tue Jun 6 21:45:21 2006 From: edadev at sc-software.com (John Heil) Date: Tue, 6 Jun 2006 21:45:21 -0700 (PDT) Subject: [Xcircuit-dev] Mouse issues: Resolution... Message-ID: The mouse Button1 on 3.6.x and higher 3.4 failed to operate for me as it did previous releases... ie I could not start a wire, a box or anything requiring a starting point on the canvas. Problem circumvented (aka fixed for me)... It seems that keybindings.c: 753 has... add_binding(ALL_WINDOWS, HOLD | BUTTON1, XCF_Move); XCF_Move being code 71. I needed XCF_Wire, code 85. Turns out, 'HOLD' is always active ( Wm: FVWM2) no matter how quickly I tap mouse Button1. Since there exists a move command tool button, I figured it was safe to just comment out the above line. It worked as did the Move tool button etc. :) Thnx & Cheers, johnh - ----------------------------------------------------------------- John Heil South Coast Software Custom systems software, firmware and board bring up services 1-714-774-6952 johnhscs at sc-software.com http://www.sc-software.com ----------------------------------------------------------------- From tim.edwards at multigig.com Wed Jun 7 07:32:22 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Wed, 07 Jun 2006 07:32:22 -0700 Subject: [Xcircuit-dev] Mouse issues: Resolution... In-Reply-To: References: Message-ID: <4486E376.7010201@multigig.com> Dear John, > Turns out, 'HOLD' is always active ( Wm: FVWM2) no matter how quickly I > tap mouse Button1. > > Since there exists a move command tool button, I figured it was > safe to just comment out the above line. I didn't even think of that possibility. I know of one person at MultiGiG who had a similar problem with the HOLD function being delayed across a network and making it difficult to work. I added a menu option "Options-->Allow Hold Mode" that can be turned off to create the same behavior you generated. For future reference, you can avoid patching every version of xcircuit by having a .xcircuitrc file with the command "config hold false", which will disable it permanently. Unless you're working over a network, it sounds like fvwm2 is actively disabling the HOLD function. Either it's forcing the keyboard Mod2Mask (which I used for HOLD because it isn't usually mapped to anything), or else the timer is not working properly. You could also try to change PRESSTIME (xcircuit.h line 993) to something larger, like 500 or 1000, just to see if 150 milliseconds is just too fast. Otherwise, if it's the key mask that's the problem, you might fix it by changing Mod2Mask to something less likely to be used, like Mod5Mask, in all occurrences (3 times in keybindings.c or once in events.c). ---Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From edadev at sc-software.com Wed Jun 7 08:27:47 2006 From: edadev at sc-software.com (John Heil) Date: Wed, 7 Jun 2006 08:27:47 -0700 (PDT) Subject: [Xcircuit-dev] Mouse issues: Resolution... In-Reply-To: <4486E376.7010201@multigig.com> References: <4486E376.7010201@multigig.com> Message-ID: On Wed, 7 Jun 2006, R. Timothy Edwards wrote: > Date: Wed, 07 Jun 2006 07:32:22 -0700 > From: R. Timothy Edwards > To: John Heil > Cc: xcircuit-dev at opencircuitdesign.com > Subject: Re: [Xcircuit-dev] Mouse issues: Resolution... > > Dear John, > > > Turns out, 'HOLD' is always active ( Wm: FVWM2) no matter how quickly I > > tap mouse Button1. > > > > Since there exists a move command tool button, I figured it was > > safe to just comment out the above line. > > I didn't even think of that possibility. I know of one person at > MultiGiG who had a similar problem with the HOLD function being delayed > across a network and making it difficult to work. I added a menu option > "Options-->Allow Hold Mode" that can be turned off to create the same > behavior you generated. For future reference, you can avoid patching > every version of xcircuit by having a .xcircuitrc file with the command > "config hold false", which will disable it permanently. Cool... > > Unless you're working over a network, it sounds like fvwm2 is actively > disabling the HOLD function. Either it's forcing the keyboard Mod2Mask In this case, no network. I have another CAD pkg for ME and the mouse buttons all work fine there and it too has a HOLD implementation so I'm not at suspecting fvwm2... yet... > (which I used for HOLD because it isn't usually mapped to anything), > or else the timer is not working properly. You could also try to > change PRESSTIME (xcircuit.h line 993) to something larger, like 500 > or 1000, just to see if 150 milliseconds is just too fast. Otherwise, 150ms seems _way_ too fast for my pointer, an older Logitech 3 button TrackMan Marble (its buttons even 'feel' slow... perhaps accumulated grunge :) ). I'll try upping that time, first, & report back. > if it's the key mask that's the problem, you might fix it by changing > Mod2Mask to something less likely to be used, like Mod5Mask, in all > occurrences (3 times in keybindings.c or once in events.c). > > ---Tim > > +--------------------------------+-------------------------------------+ > | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | > | MultiGiG, Inc. | web: http://www.multigig.com | > | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | > | Scotts Valley, CA 95066 | cell: (240) 401-0616 | > +--------------------------------+-------------------------------------+ > Thnx v much, johnh - ----------------------------------------------------------------- John Heil South Coast Software Custom systems software, firmware and board bring up services 1-714-774-6952 johnhscs at sc-software.com http://www.sc-software.com ----------------------------------------------------------------- From edadev at sc-software.com Wed Jun 7 21:12:43 2006 From: edadev at sc-software.com (John Heil) Date: Wed, 7 Jun 2006 21:12:43 -0700 (PDT) Subject: [Xcircuit-dev] Mouse issues: Resolution... In-Reply-To: References: <4486E376.7010201@multigig.com> Message-ID: On Wed, 7 Jun 2006, John Heil wrote: > Date: Wed, 7 Jun 2006 08:27:47 -0700 (PDT) > From: John Heil > To: R. Timothy Edwards > Cc: xcircuit-dev at opencircuitdesign.com > Subject: Re: [Xcircuit-dev] Mouse issues: Resolution... > > On Wed, 7 Jun 2006, R. Timothy Edwards wrote: > > > Date: Wed, 07 Jun 2006 07:32:22 -0700 > > From: R. Timothy Edwards > > To: John Heil > > Cc: xcircuit-dev at opencircuitdesign.com > > Subject: Re: [Xcircuit-dev] Mouse issues: Resolution... > > > > Dear John, > > > > > Turns out, 'HOLD' is always active ( Wm: FVWM2) no matter how quickly I > > > tap mouse Button1. > > > > > > Since there exists a move command tool button, I figured it was > > > safe to just comment out the above line. > > > > I didn't even think of that possibility. I know of one person at > > MultiGiG who had a similar problem with the HOLD function being delayed > > across a network and making it difficult to work. I added a menu option > > "Options-->Allow Hold Mode" that can be turned off to create the same > > behavior you generated. For future reference, you can avoid patching > > every version of xcircuit by having a .xcircuitrc file with the command > > "config hold false", which will disable it permanently. > > Cool... > > > > > Unless you're working over a network, it sounds like fvwm2 is actively > > disabling the HOLD function. Either it's forcing the keyboard Mod2Mask > > In this case, no network. I have another CAD pkg for ME and the mouse > buttons all work fine there and it too has a HOLD implementation so > I'm not at suspecting fvwm2... yet... > > > (which I used for HOLD because it isn't usually mapped to anything), > > or else the timer is not working properly. You could also try to > > change PRESSTIME (xcircuit.h line 993) to something larger, like 500 > > or 1000, just to see if 150 milliseconds is just too fast. Otherwise, > > 150ms seems _way_ too fast for my pointer, an older Logitech 3 button > TrackMan Marble (its buttons even 'feel' slow... perhaps accumulated > grunge :) ). > > I'll try upping that time, first, & report back. > Nope... I tried 1000 and it still failed. > > if it's the key mask that's the problem, you might fix it by changing > > Mod2Mask to something less likely to be used, like Mod5Mask, in all > > occurrences (3 times in keybindings.c or once in events.c). Bingo. Mod2Mask was it... Mod5Mask worked perfectly... My orginal change removed... Button1 Hold to move, even works... :)) > > > > ---Tim > > > > +--------------------------------+-------------------------------------+ > > | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | > > | MultiGiG, Inc. | web: http://www.multigig.com | > > | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | > > | Scotts Valley, CA 95066 | cell: (240) 401-0616 | > > +--------------------------------+-------------------------------------+ > > > Thnx v much, johnh - ----------------------------------------------------------------- John Heil South Coast Software Custom systems software, firmware and board bring up services 1-714-774-6952 johnhscs at sc-software.com http://www.sc-software.com ----------------------------------------------------------------- From tim.edwards at multigig.com Fri Jun 9 07:04:19 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Fri, 09 Jun 2006 07:04:19 -0700 Subject: [Xcircuit-dev] insertparam without tcl In-Reply-To: <20060604175956.GA18637@recycle.lbl.gov> References: <20060604031518.GA14326@recycle.lbl.gov> <448277B1.30606@multigig.com> <20060604175956.GA18637@recycle.lbl.gov> Message-ID: <44897FE3.9050507@multigig.com> Dear Larry, > That sounds a lot like the strategy that was in 3.1.24. > Although the coding in getkeynum() is local, it's very > invasive -- it temporarily takes over all event handling > with its own local version. That code in event.c is not > used anywhere else in Xcircuit. If that is indeed the > right approach, I'll put it back in. You've probably noticed in XCircuit that I really dislike code that locks up the program waiting for a response--- there are very few such instances in XCircuit, and those only exist because I was lazy or in a hurry to get some solution done. In this case, the solution (in Tcl/Tk, at least) is to use the existing "edit parameters" window to generate a callback that inserts the parameter into the edit string. For the non-Tcl version, this would require creating a new window structure, which is exactly the sort of thing I hate doing in Xw and Xt. > Well, no, actually. I'm just very used to the look and feel of the > old interface. Plus, while I have used Tcl, it has always seemed > like a horrible little language [*]. I have learned a little Python, > and it's a substantially better language. I would say that if arrays could be nested in Tcl like dictionaries can be nested in Python, I'd have a higher opinion of it. > [*] As my old friend Ken Arnold (a Java partisan) says, > "Tcl -- it's not a language, it's a tokenizer!" It's a language if it's internally consistent. I admit that to get around the vagaries of tokenizing, Tcl depends on some pretty contrived constructs. Even after a couple of years of writing Tcl scripts, I still have difficulty with the braces vs. brackets vs. quotes and when to use backslashes, etc., which would not be necessary in a less tokenized environment. But when I'm typing commands myself, in real time, like I do with Magic and IRSIM, I much prefer not having to type anything except plain alphanumerics. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From ldoolitt at recycle.lbl.gov Tue Jun 27 14:03:41 2006 From: ldoolitt at recycle.lbl.gov (ldoolitt at recycle.lbl.gov) Date: Tue, 27 Jun 2006 14:03:41 -0700 Subject: [Xcircuit-dev] patch for 3.3.36: events.c, prototypes.h, python.c Message-ID: <20060627210341.GA14498@recycle.lbl.gov> Change log: Fix typo in events.c (broke non-Tcl compilation) Use long instead of int to hold integer version of pointers in python.c Add python_key_command() to prototype.c Enjoy! - Larry diff --exclude=configure -ur xcircuit-3.6.36/events.c xcircuit-3.6.36-lrd/events.c --- xcircuit-3.6.36/events.c 2006-06-21 23:46:12.000000000 -0700 +++ xcircuit-3.6.36-lrd/events.c 2006-06-27 12:47:38.000000000 -0700 @@ -1759,7 +1759,7 @@ result = dospecial(); break; #ifndef TCL_WRAPPER - case XCF_Parameter; + case XCF_Parameter: insertparam(); break; #endif diff --exclude=configure -ur xcircuit-3.6.36/prototypes.h xcircuit-3.6.36-lrd/prototypes.h --- xcircuit-3.6.36/prototypes.h 2006-06-14 17:44:34.000000000 -0700 +++ xcircuit-3.6.36-lrd/prototypes.h 2006-06-27 12:51:57.000000000 -0700 @@ -742,6 +742,7 @@ /* from python.c: */ #ifdef HAVE_PYTHON +extern int python_key_command(int); extern void init_interpreter(void); extern void exit_interpreter(void); #endif diff --exclude=configure -ur xcircuit-3.6.36/python.c xcircuit-3.6.36-lrd/python.c --- xcircuit-3.6.36/python.c 2006-05-20 13:01:37.000000000 -0700 +++ xcircuit-3.6.36-lrd/python.c 2006-06-27 13:01:32.000000000 -0700 @@ -605,14 +605,15 @@ genericptr *CheckHandle(PyObject *ehandle) { genericptr *gelem; - int i, j, eaddr; + int i, j; + long int eaddr; objectptr thisobj; Library *thislib; - eaddr = (int)PyInt_AsLong(ehandle); + eaddr = PyInt_AsLong(ehandle); for (gelem = topobject->plist; gelem < topobject->plist + topobject->parts; gelem++) - if ((int)(*gelem) == eaddr) goto exists; + if ((long int)(*gelem) == eaddr) goto exists; /* Okay, it isn't in topobject. Try all other pages. */ @@ -620,7 +621,7 @@ if (xobjs.pagelist[i]->pageinst == NULL) continue; thisobj = xobjs.pagelist[i]->pageinst->thisobject; for (gelem = thisobj->plist; gelem < thisobj->plist + thisobj->parts; gelem++) - if ((int)(*gelem) == eaddr) goto exists; + if ((long int)(*gelem) == eaddr) goto exists; } /* Still not found? Maybe in a library */ @@ -630,7 +631,7 @@ for (j = 0; j < thislib->number; j++) { thisobj = thislib->library[j]; for (gelem = thisobj->plist; gelem < thisobj->plist + thisobj->parts; gelem++) - if ((int)(*gelem) == eaddr) goto exists; + if ((long int)(*gelem) == eaddr) goto exists; } } @@ -648,9 +649,10 @@ objectptr CheckPageHandle(PyObject *ehandle) { - int eaddr, pageno; + int pageno; + long int eaddr; - eaddr = (int)PyInt_AsLong(ehandle); + eaddr = PyInt_AsLong(ehandle); pageno = is_page((objectptr)eaddr); if (pageno < 0) return NULL; return (objectptr)eaddr; @@ -1734,7 +1736,7 @@ { int status; - sprintf(_STR2, "buttondict[%d]()\n", w); + sprintf(_STR2, "buttondict[%ld]()\n", (long int)w); status = PyRun_SimpleString(_STR2); refresh(NULL, NULL, NULL); return status; @@ -1764,7 +1766,7 @@ } if (i == MaxMenuWidgets) { Wprintf("Cannot find specified menu."); - return; + return NULL; } XtnSetArg(XtNfont, appdata.xcfont); @@ -1774,7 +1776,7 @@ XtAddCallback (newbutton, XtNselect, (XtCallbackProc)pybutton, newbutton); XtManageChild(newbutton); - sprintf(_STR2, "buttondict[%d] = %s\n", newbutton, pfunction); + sprintf(_STR2, "buttondict[%ld] = %s\n", (long int)newbutton, pfunction); status = PyRun_SimpleString(_STR2); return PyInt_FromLong((long)status); } @@ -1789,7 +1791,7 @@ { int status; - sprintf(_STR2, "tooldict[%d]()\n", w); + sprintf(_STR2, "tooldict[%ld]()\n", (long int)w); status = PyRun_SimpleString(_STR2); refresh(NULL, NULL, NULL); return status; @@ -1839,7 +1841,7 @@ XtAddCallback (newtool, XtNselect, (XtCallbackProc)pybutton, newtool); XtManageChild(newtool); - sprintf(_STR2, "tooldict[%d] = %s\n", newtool, pfunction); + sprintf(_STR2, "tooldict[%ld] = %s\n", (long int)newtool, pfunction); status = PyRun_SimpleString(_STR2); return PyInt_FromLong((long)status); } @@ -1879,7 +1881,7 @@ PyErr_Clear(); return NULL; } - ptools[i] = (Widget)((int)PyInt_AsLong(rval)); + ptools[i] = (Widget)PyInt_AsLong(rval); Py_DECREF(rval); } return ptools; From sdm at iis.fraunhofer.de Mon Jul 3 02:23:42 2006 From: sdm at iis.fraunhofer.de (Jan Sundermeyer) Date: Mon, 03 Jul 2006 11:23:42 +0200 Subject: [Xcircuit-dev] change of drawing order Message-ID: <44A8E21E.1000500@iis.fhg.de> Hello, right now it is not possible to change the drawing order of objects in xcircuit. This is a problem if a filled rectangle covers a text because it was drawn after the text. There seems not to be a way of placing the text over the rectangle again. Other programs have a function like "put to front" "put to back". Would it be possible to implement this ? Thanks, Jan Sundermeyer -- ****************************************************************************** Jan Sundermeyer Fraunhofer-Institut f?r Integrierte Schaltungen Projektgruppe Optische Kommunikationstechnik Am Wolfsmantel 33 D-91058 Erlangen Germany phone (49) 9131/776-9214 Fax.: -499 e-mail: Jan.Sundermeyer at iis.fraunhofer.de Signierungszertifikat: http://pki.fraunhofer.de http://www.iis.fhg.de/asic ****************************************************************************** From tim.edwards at multigig.com Mon Jul 3 07:44:08 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Mon, 03 Jul 2006 07:44:08 -0700 Subject: [Xcircuit-dev] change of drawing order In-Reply-To: <44A8E21E.1000500@iis.fhg.de> References: <44A8E21E.1000500@iis.fhg.de> Message-ID: <44A92D38.40607@multigig.com> Dear Jan, > right now it is not possible to change the drawing order of objects in > xcircuit. > This is a problem if a filled rectangle covers a text because it was > drawn after the text. > There seems not to be a way of placing the text over the rectangle again. > Other programs have a function like "put to front" "put to back". It's not in the menu (although that should be reasonably easy to do), but the method *does* exist, and is explained in tutorial 1. If you select a single element and type "X" (Shift-x), then it goes to the "top" of the drawing stack. If it's already on top, then it goes to the bottom. If you select 2 elements, and type "X", then their order is exchanged ("X" stands for eXchange). Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From ahmet_nurlu at yahoo.com Tue Jul 11 13:31:05 2006 From: ahmet_nurlu at yahoo.com (ahmet nurlu) Date: Tue, 11 Jul 2006 13:31:05 -0700 (PDT) Subject: [Xcircuit-dev] isolatin5 encoding ? Message-ID: <20060711203105.95783.qmail@web36415.mail.mud.yahoo.com> Hi, I have fall in love with xcircuit. Evertying is suberp except one thing for me. I couldn't put a text in a Xcircuit in my own language(Turkish). I compiled it according to directions given in the xcircuit manual for a non-ascii support. In text>encoding window, there are only two choices: standart and isolatin1. I am using the version of xcircuit v3.4 rev26. I appreciate any help. Regards, Ahmet Nurlu ahmet_nurlu at yahoo.com --------------------------------- Yahoo! Music Unlimited - Access over 1 million songs.Try it free. From ahmet_nurlu at yahoo.com Wed Jul 12 11:49:02 2006 From: ahmet_nurlu at yahoo.com (ahmet nurlu) Date: Wed, 12 Jul 2006 11:49:02 -0700 (PDT) Subject: [Xcircuit-dev] isolatin5 encoding ? In-Reply-To: <44B40F99.8070505@multigig.com> Message-ID: <20060712184902.47221.qmail@web36415.mail.mud.yahoo.com> Dear Dr. Edwards, I followed your instructions below. I could now see ISOlatin5 in the text-->Encoding menu. But I still could not write turkish characters. I compliled the Xcircuit with Tcl support . For example, When I want to write a " i dottles "(a specific character in Turkish), I am getting a warning message at the bottom of window which says: "Key idottles is not bound to a macro". Any Advise? Thanking you, Ahmet Nurlu "R. Timothy Edwards" wrote: Dear Ahmet, > I couldn't put a text in a Xcircuit in my own language(Turkish). I compiled > it according to directions given in the xcircuit manual for a non-ascii support. > In text>encoding window, there are only two choices: > standart and isolatin1. I am using the version of xcircuit v3.4 rev26. Which file to fix depends on whether you compiled Tcl support or not. If you compiled xcircuit as a Tcl extension, edit the file "/usr/local/lib/xcircuit-3.4/xcstartup.tcl" and uncomment the lines: xcircuit::loadfont times_romaniso5.xfe xcircuit::loadfont courieriso5.xfe xcircuit::loadfont helveticaiso5.xfe If you compiled without Tcl support, the file will be "/usr/local/lib/xcircuit-3.4/startup.script" and the lines to uncomment are the following: font times_romaniso5.xfe font courieriso5.xfe font helveticaiso5.xfe After that, you should see the option for ISO Latin 5 in the Text-> Encoding menu. Note that you still need to post-process with "ogonkify" before sending to a printer, since ISO Latin 5 isn't built into PostScript. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ --------------------------------- How low will we go? Check out Yahoo! Messenger?s low PC-to-Phone call rates. From silvermaple at usermail.com Wed Jul 12 18:01:09 2006 From: silvermaple at usermail.com (Philip) Date: Wed, 12 Jul 2006 20:01:09 -0500 Subject: [Xcircuit-dev] Updating a library Message-ID: <20060712200109.61fb421d.silvermaple@usermail.com> I'm stumped. I have a parts library that I have loading by default. But I now want to add some parts to this existing library. I have messed around with "add to library" "load library" "save library" and I can't seem get it to do what I want. I think I have done this before, but (shame on me) it seems I didn't take notes. So I must be missing something, I just haven't figured out _what_... Any hints, tips, or clues? Thanks! -- Philip From tim.edwards at multigig.com Thu Jul 13 09:22:06 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Thu, 13 Jul 2006 09:22:06 -0700 Subject: [Xcircuit-dev] Updating a library In-Reply-To: <20060712200109.61fb421d.silvermaple@usermail.com> References: <20060712200109.61fb421d.silvermaple@usermail.com> Message-ID: <44B6732E.3000909@multigig.com> Dear Philip, > I have a parts library that I have loading by default. But I now want to > add some parts to this existing library. > > I have messed around with "add to library" "load library" "save library" > and I can't seem get it to do what I want. > > I think I have done this before, but (shame on me) it seems I didn't > take notes. Shame on *me*, if you have to take notes to remember some procedure. Well, okay, there's shame, and then there's just not having enough time to thoroughly document everything. . . > So I must be missing something, I just haven't figured out _what_... > Any hints, tips, or clues? It helps to know which version of XCircuit you're using. Version 3.6 (compiled with Tcl/Tk) has the best methods for working with libraries. Assuming you have the library file loaded onto a library page somewhere, you can add new parts to this library by 1) specifying the target library page when you do "Make User Object" (the window for the Tcl version has a line "Place in:" and allows you to choose the library page, so you can add the new object to your existing library page), or 2) If you have an object that's on a different library page, you can type "M" (for "library move", then drag it to the library page you want it in, and drop it there. You can also rearrange parts in the library this way. Once all the objects you want to have in the library are on the same page, use "File->Save Library Page", which will write the new collection back to the library file. For older versions of XCircuit, the most efficient way to construct a library is to cut and paste text from one .lps file to another. The text files are easy to read and edit, and as long as you're careful about dependencies, and don't lose the header and trailer comment lines, then you shouldn't have any problem creating new library files by hand. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From silvermaple at usermail.com Thu Jul 13 19:37:06 2006 From: silvermaple at usermail.com (Philip) Date: Thu, 13 Jul 2006 21:37:06 -0500 Subject: [Xcircuit-dev] Something must be missing Message-ID: <20060713213706.5ee42bc4.silvermaple@usermail.com> I decided to try to complile XCircuit on Debian i386 testing. I downloaded 3.6.39, untarred it and ran "configure". It complained about not finding tclConfig.sh. I had alread installed the package "tcl8.4-dev", so I poked around and found it in /usr/lib/tkc8.4/. I ran "./configure" again with "--with-tcl=/usr/lib/tkc8.4/" - this time it complained about not finding tcConfig.sh. I used aptitude to install the package "tc8.4-dev". I again ran "./configure --with-tcl=/usr/lib/tcl8.4" and there were no errors! So next was "make" - I didn't see any output that looked like an error, so I ran "sudo make install". Again, no reported errors. Thinking I was done, I opened a new xterm and typed in "which xcircuit" to be sure that I was about to use the freshly compiled one and not the package install. Yup, it said it would be running /usr/local/bin/xcircuit. Perfect! I typed "xcircuit" and after a moment a shell opened. The label in the window menu bar is "tkcon 2.3" and in the console it says: error in slave eval: image type "xpm" doesn't exist Main console display active (Tcl8.4.12 / Tk8.4.12) (user) 3 % - but there is no xcircuit!! Did I miss something? Or skip a step? -- Philip, back to 3.1 - for now... From tim.edwards at multigig.com Fri Jul 14 09:24:14 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Fri, 14 Jul 2006 09:24:14 -0700 Subject: [Xcircuit-dev] Something must be missing In-Reply-To: <20060713213706.5ee42bc4.silvermaple@usermail.com> References: <20060713213706.5ee42bc4.silvermaple@usermail.com> Message-ID: <44B7C52E.9060005@multigig.com> Dear Philip, > error in slave eval: > image type "xpm" doesn't exist > Main console display active (Tcl8.4.12 / Tk8.4.12) I haven't run across a system recently that didn't have the XPM libraries. This used to be a common occurrence, and I would always ensure that the code would run with or without it. In this case, it looks like I've added code that depends on the XPM subroutines that can be avoided. You can remove the error by editing the file: /usr/local/lib/xcircuit-3.6/wrapper.tcl and changing line 1528 from: image create xpm img_${bname} -file ${XCIRCUIT_LIB_DIR}/pixmaps/${bname}.xpm to: image create photo img_${bname} -file ${XCIRCUIT_LIB_DIR}/pixmaps/${bname}.gif That will make use of the GIF format files instead of the XPM files, and xcircuit should just come up and run. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From lists at lazygranch.com Sat Jul 15 01:21:55 2006 From: lists at lazygranch.com (gary) Date: Sat, 15 Jul 2006 01:21:55 -0700 Subject: [Xcircuit-dev] rubberband lines Message-ID: <44B8A5A3.5090700@lazygranch.com> I hope this isn't a question that has been answered a dozen times, but the archive search doesn't work, so here goes: Are the wires that connect components supposed to rubber band? I find if you move a component, the wire stays put. From tim.edwards at multigig.com Sun Jul 16 19:04:47 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Sun, 16 Jul 2006 19:04:47 -0700 Subject: [Xcircuit-dev] rubberband lines In-Reply-To: <44B8A5A3.5090700@lazygranch.com> References: <44B8A5A3.5090700@lazygranch.com> Message-ID: <44BAF03F.9020304@multigig.com> Dear Gary, > I hope this isn't a question that has been answered a dozen times, but > the archive search doesn't work, so here goes: > Are the wires that connect components supposed to rubber band? I find if > you move a component, the wire stays put. The short answer is "no", but the long answer is that I made a (possibly unfortunate) decision to take care of this by adding an "automatic schematic generation" (ASG) package---that is, something that would not just rubberband lines, but would try to maintain the visually best route. I could have just added a scaled-down version of the capability, but instead I got bogged down trying to integrate the ASG package, which never got done. One day, I hope. . . ---Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From silvermaple at usermail.com Sun Jul 16 20:13:41 2006 From: silvermaple at usermail.com (Philip) Date: Sun, 16 Jul 2006 22:13:41 -0500 Subject: [Xcircuit-dev] Fw: Re: Updating a library Message-ID: <20060716221341.0889f9a1.silvermaple@usermail.com> > I have a parts library that I have loading by default. But I now > want to add some parts to this existing library. > > I have messed around with "add to library" "load library" "save > library" and I can't seem get it to do what I want. > So I must be missing something, I just haven't figured out _what_... > Any hints, tips, or clues? It helps to know which version of XCircuit you're using. Version 3.6 (compiled with Tcl/Tk) has the best methods for working with libraries. Assuming you have the library file loaded onto a library page somewhere, you can add new parts to this library by 1) specifying the target library page when you do "Make User Object" (the window for the Tcl version has a line "Place in:" and allows you to choose the library page, so you can add the new object to your existing library page), or 2) If you have an object that's on a different library page, you can type "M" (for "library move", then drag it to the library page you want it in, and drop it there. You can also rearrange parts in the library this way. Once all the objects you want to have in the library are on the same page, use "File->Save Library Page", which will write the new collection back to the library file. For older versions of XCircuit, the most efficient way to construct a library is to cut and paste text from one .lps file to another. The text files are easy to read and edit, and as long as you're careful about dependencies, and don't lose the header and trailer comment lines, then you shouldn't have any problem creating new library files by hand. Regards, Tim +--------------------------------+----------------------------------- --+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | | MultiGiG, Inc. | web: http://www.multigig.com | | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | | +--------------------------------+----------------------------------- --+ From tim.edwards at multigig.com Sun Jul 16 20:39:45 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Sun, 16 Jul 2006 20:39:45 -0700 Subject: [Xcircuit-dev] rubberband lines In-Reply-To: <44BB01E9.2050001@lazygranch.com> References: <44B8A5A3.5090700@lazygranch.com> <44BAF03F.9020304@multigig.com> <44BB01E9.2050001@lazygranch.com> Message-ID: <44BB0681.8080508@multigig.com> Dear Gary, > How can you tell if the pins are connected to wires? Try the option "Options->Show Pin Positions". Then, if you select a wire and highlight the connectivity (Alt-w), the pin position marker "x" will be highlighted if it's connected to the net. > I would venture a guess that an automatic schematic generation wouldn't > be very readable, even if the wire and components were placed cleanly. > Well, at least in analog design, where circuits are really combinations > of simple building blocks. Current mirrors, source-coupled pairs, > cascode, etc. They only look recognizable when drawn a certain way. The idea was to use a corner-stitched tile database to chop up areas of the schematic into routable regions, and then arrange wires to minimize both crossovers and crowding. At least that was the idea for the part of the ASG system that mimics rubber banding. Full ASG (converting a SPICE netlist into a schematic) does indeed run into the problems you mention, which is often helped by being able to detect specific structures in the input like mirrors and cascodes, and handle them appropriately. I agree that dropping components onto a page and then routing them is only marginally better than staring at the SPICE netlist itself, unless you're really careful about the placement and routing. ---Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From silvermaple at usermail.com Sun Jul 16 22:02:33 2006 From: silvermaple at usermail.com (Philip) Date: Mon, 17 Jul 2006 00:02:33 -0500 Subject: [Xcircuit-dev] Something must be missing In-Reply-To: <20060713213706.5ee42bc4.silvermaple@usermail.com> References: <20060713213706.5ee42bc4.silvermaple@usermail.com> Message-ID: <20060717000233.34a3331b.silvermaple@usermail.com> For the sake of the archive and those lurking, here is the solution to my problem... > I decided to try to complile XCircuit on Debian i386 testing. The packages I had to install were, tcl8.4-dev, tc8.4-dev, and I had to tell make where to find tclConfig.sh. "$ ./configure --with-tcl=/usr/lib/tcl8.4" > I typed "xcircuit" and after a moment a shell opened. The label in > the window menu bar is "tkcon 2.3" and in the console it says: > > error in slave eval: > image type "xpm" doesn't exist > Main console display active (Tcl8.4.12 / Tk8.4.12) > (user) 3 % > > - but there is no xcircuit!! > > Did I miss something? Or skip a step? Tim emailed me directly and with his info I got it working. It seem that there were some xpm calls where it should have been gif. ~~~~~~~~~~~~~~~~~~~ Editing the file: /usr/local/lib/xcircuit-3.6/wrapper.tcl * changing line 1528 from: image create xpm img_${bname} -file ${XCIRCUIT_LIB_DIR}/pixmaps/${bname}.xpm to: image create photo img_${bname} -file ${XCIRCUIT_LIB_DIR}/pixmaps/${bname}.gif * around line 1760, there are 3 instances where "image create xpm" should be replaced with the corresponding "image create photo" line. There's really no need for the XPM code at all in the Tcl/Tk version... That will make use of the GIF format files instead of the XPM files, and xcircuit should just come up and run. ~~~~~~~~~~~~~~ And it works!! Thanks again to Tim for his most excellent program! -- Philip From tim.edwards at multigig.com Sun Jul 16 23:28:27 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Sun, 16 Jul 2006 23:28:27 -0700 Subject: [Xcircuit-dev] Something must be missing Message-ID: <44BB2E0B.3020800@multigig.com> Philip wrote: >> >> I typed "xcircuit" and after a moment a shell opened. The label in >> >> the window menu bar is "tkcon 2.3" and in the console it says: >> >> >> >> error in slave eval: >> >> image type "xpm" doesn't exist >> >> Main console display active (Tcl8.4.12 / Tk8.4.12) >> >> (user) 3 % >> >> >> >> - but there is no xcircuit!! >> >> >> >> Did I miss something? Or skip a step? > > > > Tim emailed me directly and with his info I got it working. It seem > > that there were some xpm calls where it should have been gif. I should add to this problem arises when you compile the Tcl/Tk version of XCircuit but the system doesn't have the XPM library. In response to Philip's problem, I changed the distribution so that it no longer uses XPM files and calls, so this should not be a problem in the future (at least with xcircuit-3.6; I haven't made any changes to the stable 3.4 version). ---Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From silvermaple at usermail.com Mon Jul 17 14:45:11 2006 From: silvermaple at usermail.com (Philip) Date: Mon, 17 Jul 2006 16:45:11 -0500 Subject: [Xcircuit-dev] Default window size Message-ID: <20060717164511.66678267.silvermaple@usermail.com> It's getting close, but my upgrade isn't "done" yet... I think the last hurdle is dealing with the default window size - it is _way_ bigger than my 1024x768 screen! With XCircuit 3.1 I have a couple lines in /etc/X11/app-defaults/XCircuit xcircuit.width : 950 xcircuit.height : 700 I believe that is what sets the window to 950x700 for the old version. But I can't seem to get this new, 3.6.39 to do the same thing. I tried putting it in ~/.xcircuitrc and that had no effect. I'm guessing that I'm trying to use non-tcl commands in a tcl-enabled version. Is there a way to set the default window size? Thanks for the help!! old version Debian Testing, i386 - v3.1 New version Compiled from source, i386 - v3.6.39 -- Philip From tim.edwards at multigig.com Mon Jul 17 15:34:41 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Mon, 17 Jul 2006 15:34:41 -0700 Subject: [Xcircuit-dev] Default window size In-Reply-To: <20060717164511.66678267.silvermaple@usermail.com> References: <20060717164511.66678267.silvermaple@usermail.com> Message-ID: <44BC1081.3030907@multigig.com> Dear Philip, > It's getting close, but my upgrade isn't "done" yet... > > I think the last hurdle is dealing with the default window size - it > is _way_ bigger than my 1024x768 screen! > > With XCircuit 3.1 I have a couple lines in /etc/X11/app-defaults/XCircuit > > xcircuit.width : 950 > xcircuit.height : 700 > > I believe that is what sets the window to 950x700 for the old version. > But I can't seem to get this new, 3.6.39 to do the same thing. > > I tried putting it in ~/.xcircuitrc and that had no effect. > > I'm guessing that I'm trying to use non-tcl commands in a tcl-enabled > version. > > Is there a way to set the default window size? The Tcl/Tk version picks up its defaults not from app-defaults/XCircuit, but from "resource.tcl" in the xcircuit installation directory. You can change the default width and height there. Alternately, you can set the width and height from your .xcircuitrc file by resizing the window (which already exists when the .xcircuitrc file is read, which is why modifying the default doesn't do anything): .xcircuit configure -width 900 .xcircuit configure -height 700 +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From silvermaple at usermail.com Mon Jul 17 21:15:18 2006 From: silvermaple at usermail.com (Philip) Date: Mon, 17 Jul 2006 23:15:18 -0500 Subject: [Xcircuit-dev] Default window size In-Reply-To: <44BC1081.3030907@multigig.com> References: <20060717164511.66678267.silvermaple@usermail.com> <44BC1081.3030907@multigig.com> Message-ID: <20060717231518.1dfc0394.silvermaple@usermail.com> rumor has it that R. wrote: > Dear Philip, > > > I think the last hurdle is dealing with the default window size - > > it is _way_ bigger than my 1024x768 screen! > > I'm guessing that I'm trying to use non-tcl commands in a > > tcl-enabled version. > > > > Is there a way to set the default window size? > > The Tcl/Tk version picks up its defaults not from > app-defaults/XCircuit, but from "resource.tcl" in the xcircuit > installation directory. You can change the default width and height > there. > > Alternately, you can set the width and height from your .xcircuitrc > file by resizing the window (which already exists when the > .xcircuitrc file is read, which is why modifying the default doesn't > do anything): > > .xcircuit configure -width 900 > .xcircuit configure -height 700 Bingo!!! That's it! And now I have all the pesky little detail dealt with and so I have no more excuses for not getting lots of drawings done.... *smile* An incomplete list of the things that I really like - so far: * The menus work with the num-lock key on * The scroll wheel on my mouse works both while drawing _and_ in the open and write dialogs * The one-character keyboard functions (macros) haven't changed! This is GoodStuff (tm)! -- Philip From tim.edwards at multigig.com Tue Jul 18 17:55:05 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Tue, 18 Jul 2006 17:55:05 -0700 Subject: [Xcircuit-dev] Cadence DFII to XCircuit translator In-Reply-To: <200605271731.49576.svenn@bjerkem.de> References: <200605271731.49576.svenn@bjerkem.de> Message-ID: <44BD82E9.4020809@multigig.com> Dear Satya, >> I was wondering if anyone has attempted a Cadence DFII to XCircuit >> schematic translator. From a cursory glance, it seems rather easy to >> do. Here are the steps for the translation: >> >> 1. dump the DFII schematic using dbWriteSkill >> 2. read this schematic in a Skill/TCL program and emit XCircuit TCL >> 3. Load this XCircuit TCL script into XCircuit. >> >> If anyone can find faults in this approach, I would like to hear about >> it. I made a great deal of headway with an EDIF-to-XCircuit translator, which I can now use to port Cadence schematics to XCircuit (I don't have the process going the other way, yet). The newest version (3.6.42) has the Tcl script for EDIF reads in the "File" menu. From Cadence ICFB, I just need to do "File->Export->EDIF 200...", choose the schematic view of the cell I want, and otherwise accept the defaults. I did a Skill dump with dbWriteSkill() that looks something like the following: dbWriteSkill(dbOpenCellView("lib" "cell" "schematic") "filename" "a" "4.4.3") but the output is inscrutable with references to database hex addresses, stuff like: dbD_0xd51b9e0 = dbCreateNet(dbD_0xca17c2c "downn" nil) The EDIF output seems to be much more thorough (e.g., it produces all of the information necessary to draw each of the library components). Am I missing something in the Skill output? I get the feeling I would have to separately dump each library with a dbWriteSkill() call. I did notice that not everything in Cadence translates perfectly through EDIF; for example, the voltage and current sources are drawn with ellipses, which EDIF (at least not EDIF 2.0.0) doesn't support. I also couldn't figure out how the instance properties relate to the text that shows up in the Cadence schematic---it dumps a bunch of text lines with text values like "cdsParam(1)", where it is clear from looking at the schematic that the device width (for example) gets substituted there, but this cannot be derived from anything in the EDIF output. It looks like you don't need a license to get EDIF 2.0.0 output, but you do to get EDIF 3.0.0 output. It's possible that whatever level of support we got for Cadence comes with a license for EDIF 2.0.0 whether or not you ask for it. Hopefully over the next week I can work on some other format translation routines. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From snmishra at hotpop.com Wed Jul 19 06:20:09 2006 From: snmishra at hotpop.com (Satya Mishra) Date: Wed, 19 Jul 2006 07:20:09 -0600 Subject: [Xcircuit-dev] Cadence DFII to XCircuit translator In-Reply-To: <44BD82E9.4020809@multigig.com> References: <200605271731.49576.svenn@bjerkem.de> <44BD82E9.4020809@multigig.com> Message-ID: <44BE3189.5000208@hotpop.com> Dear Tim, R. Timothy Edwards wrote: > I made a great deal of headway with an EDIF-to-XCircuit translator, which > I can now use to port Cadence schematics to XCircuit (I don't have the > process going the other way, yet). The newest version (3.6.42) has the > Tcl script for EDIF reads in the "File" menu. From Cadence ICFB, I just > need to do "File->Export->EDIF 200...", choose the schematic view of the > cell I want, and otherwise accept the defaults. > > I did a Skill dump with dbWriteSkill() that looks something like the > following: > > dbWriteSkill(dbOpenCellView("lib" "cell" "schematic") "filename" "a" > "4.4.3") > > but the output is inscrutable with references to database hex addresses, > stuff like: > > dbD_0xd51b9e0 = dbCreateNet(dbD_0xca17c2c "downn" nil) > The hex names are just variable names. The Skill file is fairly simple actually and most operations in it map to XCircuit concepts. > The EDIF output seems to be much more thorough (e.g., it produces all > of the information necessary to draw each of the library components). I think dbWriteSkill is at least as thorough as EDIF (I haven't done any tests to prove this) as the program generated by it can reproduce the schematic (or any other database) exactly. > Am I missing something in the Skill output? I get the feeling I would > have to separately dump each library with a dbWriteSkill() call. I did Actually, you would have to do dbWriteSkill for each cell view. But Skill is a decent enough programming language. So a short program will do that for you. > notice that not everything in Cadence translates perfectly through EDIF; > for example, the voltage and current sources are drawn with ellipses, > which EDIF (at least not EDIF 2.0.0) doesn't support. I also couldn't > figure out how the instance properties relate to the text that shows > up in the Cadence schematic---it dumps a bunch of text lines with > text values like "cdsParam(1)", where it is clear from looking at the > schematic that the device width (for example) gets substituted there, > but this cannot be derived from anything in the EDIF output. cdsParam is a skill function that translates to the parameters defined for display in the CDF (component description format) of the cell at runtime. It is interesting how two people can find different things to be inscrutable. I found the EDIF format rather complicated for my taste. Lisp is far more straight forward for me. On my end, I have been working on the Skill to TCL converter off and on for a few weeks. Right now, I am stuck with trying to find mapping between the concepts of libraries in Cadence and XCircuit. DFII has the Cells in Libraries and Views within Cells. Correct me if I am wrong, but XCircuit only has objects in numbered library pages. I haven't yet figured out how to make an instance of an object in a library known only by name using XCircuit TCL. If you can give me some pointers in that regard, I think I can get further along in the translation process. Satya From tim.edwards at multigig.com Wed Jul 19 14:29:03 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Wed, 19 Jul 2006 14:29:03 -0700 Subject: [Xcircuit-dev] Cadence DFII to XCircuit translator In-Reply-To: <44BE3189.5000208@hotpop.com> References: <200605271731.49576.svenn@bjerkem.de> <44BD82E9.4020809@multigig.com> <44BE3189.5000208@hotpop.com> Message-ID: <44BEA41F.8080809@multigig.com> Dear Satya, > I think dbWriteSkill is at least as thorough as EDIF (I haven't done any > tests to prove this) as the program generated by it can reproduce the > schematic (or any other database) exactly. I think dbWriteSkill() is *more* thorough than the EDIF output, if one could write a script to automatically ask for a dump of libraries from Cadence. > cdsParam is a skill function that translates to the parameters defined > for display in the CDF (component description format) of the cell at > runtime. I'm pretty sure that there is no way to determine from the EDIF output how the cdsParam function maps parameters to the positions marked on the display. > It is interesting how two people can find different things to be > inscrutable. I found the EDIF format rather complicated for my taste. > Lisp is far more straight forward for me. I never said that EDIF *wasn't* inscrutable! In fact, I think it's a horrible format that combines the unreadability of binary code with the lack of conciseness of ASCII. The worst of both worlds. But I don't know how to drive Cadence from the command line very well, so the only way I could find to dump the contents of a schematic was through Export->EDIF. > On my end, I have been working on the Skill to TCL converter off and on > for a few weeks. Right now, I am stuck with trying to find mapping > between the concepts of libraries in Cadence and XCircuit. DFII has the > Cells in Libraries and Views within Cells. Correct me if I am wrong, but > XCircuit only has objects in numbered library pages. I haven't yet > figured out how to make an instance of an object in a library known only > by name using XCircuit TCL. If you can give me some pointers in that > regard, I think I can get further along in the translation process. Download the lastest xcircuit-3.6 code and look at the file lib/tcl/edif.tcl. If you have access to "edifout" from Cadence, then it would be instructive to write EDIF out from Cadence and read it into XCircuit to see how I handled the libraries. XCircuit puts symbol views in the libraries and schematic views on the pages. The schematic views are not grouped into libraries. I started to address that once recently but didn't get very far with it before I got sucked into another project. What I did for the EDIF reader is to create a new library page upon encountering a library definition. The symbol views all go into this library page. Each schematic view goes on the first empty page available. To make a new library, I use "library make $libname". To make a new symbol in that library, I use "object make $cellname $libname -force". The "-force" I just added to the latest revision of XCircuit, because otherwise you can't create an empty object; you would have to create some dummy element, select it and use that to make the object, then delete the dummy element out of the object. Alternatively, you could always place the object contents on an empty page, then select everything and make the object, but being able to create an empty object is the more obvious solution. If you find functions in the Tcl command-line interface that are either missing or broken, please let me know. Feel free to use any part of "edif.tcl" that you find useful. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From svenn at bjerkem.de Sat Jul 22 13:35:17 2006 From: svenn at bjerkem.de (Svenn Are Bjerkem) Date: Sat, 22 Jul 2006 22:35:17 +0200 Subject: [Xcircuit-dev] Suggestion to open a USENET group for xcircuit and friends Message-ID: <200607222235.17121.svenn@bjerkem.de> Hi, now we have a new web site, a wiki, a mailinglist, and I am starting to get hot on a newsgroup on USENET covering the tools that Tim support. The reason that I suggest this is that I do not have access to my private mail at work, but I really do need the info there. USENET messages are archived on groups.google.com which has a good search function and as a registered user it is possible to write articles on the web interface. (Not all companies maintain internal newsfeeds) As an example look at comp.cad.cadence which is covering the tools offered from Cadence. The newsgroup is meant to augment whatever info channels already available. Maybe the mailinglist will suffer a bit. Now, I would like to have the xcircuit newsgroup in the comp.cad hierarchy which needs a ballot. That means that I have to write a charter for the newsgroup and then put it on a special discussion list where people vote for it to be created. What I want to discuss here is how to conqueror and divide: One list called comp.cad.opencircuitdesign for all, or one separate for each: comp.cad.magic, comp.cad.xcircuit etc. I would start with comp.cad.xcircuit as that is easier to get through, I hope. I will not suggest to use any web based forum software as they grow clumsy and have lots of bugs and spam etc. Besides, I do not like forums as I always forget passwords. -- Svenn From sunderme at gmx.de Mon Jul 24 13:04:49 2006 From: sunderme at gmx.de (Jan Sundermeyer) Date: Mon, 24 Jul 2006 22:04:49 +0200 Subject: [Xcircuit-dev] Patch for edif.tcl Message-ID: <44C527E1.40903@gmx.de> Hi, i have tried out edif import and found some issues concerning bus notation and global nets. Find attached the patch (againt edif.tcl 3.6.44) and two edif-files which i used as test files. Ciao, Jan -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: buf_alt.edif Url: http://www.opencircuitdesign.com/pipermail/xcircuit-dev/attachments/20060724/c8aecd81/attachment.asc -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: bus.edif Url: http://www.opencircuitdesign.com/pipermail/xcircuit-dev/attachments/20060724/c8aecd81/attachment.pot -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: Patch_edif.txt Url: http://www.opencircuitdesign.com/pipermail/xcircuit-dev/attachments/20060724/c8aecd81/attachment.txt From sunderme at gmx.de Mon Jul 24 13:36:12 2006 From: sunderme at gmx.de (Jan Sundermeyer) Date: Mon, 24 Jul 2006 22:36:12 +0200 Subject: [Xcircuit-dev] Patch edif.tcl Message-ID: <44C52F3C.3010405@gmx.de> Unfortunately the previous cncerned a wrong version. Here the correct one (hopefully). Jan -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: Patch_edif.txt Url: http://www.opencircuitdesign.com/pipermail/xcircuit-dev/attachments/20060724/a2201090/attachment.txt From tim.edwards at multigig.com Mon Jul 24 15:31:07 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Mon, 24 Jul 2006 15:31:07 -0700 Subject: [Xcircuit-dev] Suggestion to open a USENET group for xcircuit and friends In-Reply-To: <200607222235.17121.svenn@bjerkem.de> References: <200607222235.17121.svenn@bjerkem.de> Message-ID: <44C54A2B.2050700@multigig.com> Dear Svenn, > now we have a new web site, a wiki, a mailinglist, and I am starting to get > hot on a newsgroup on USENET covering the tools that Tim support. This is okay by me. However, the more forums I have to canvass, the more often I miss things, simply because I haven't checked in on one of them recently. The email group works best for me, because it's always in my inbox, and the traffic is less than the average amount of spam I have to deal with every day. But I can probably set up the usenet group essentially the same way. There are numerous free newsfeeds that I can connect to. As for the organization: If there isn't a "comp.cad.opensource", or "comp.cad.free", then there should be, and everything else should go under it, unless there are other open source tools like gEDA that have newsgroups directly under comp.cad. XCircuit is definitively "mine", but others like Magic and IRSIM (and maybe TimberWolf, soon) are bigger than me, and I can only lay claim to being "maintainer for the duration". Or maybe it's just that I think "opencircuitdesign" is too long to type, and I wouldn't have chosen it except that all the shorter versions were already registered internet domains. > I will not suggest to use any web based forum software as they grow > clumsy and have lots of bugs and spam etc. Besides, I do not like > forums as I always forget passwords. The enlightening fact I discovered from putting together the Wiki is that a web-based anything with universal write access will attract spam like a magnet, but that pretty close to 100% of the spam is being generated by the simplest of automated scripts, and is easily held at bay by simple measures. All I did to the OpenCircuitDesign Wiki was to require a password, and then write the password next to the text entry widget. I haven't had a single instance of spam posting since I did that. ---Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From tim.edwards at multigig.com Mon Jul 24 15:53:05 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Mon, 24 Jul 2006 15:53:05 -0700 Subject: [Xcircuit-dev] Patch edif.tcl In-Reply-To: <44C52F3C.3010405@gmx.de> References: <44C52F3C.3010405@gmx.de> Message-ID: <44C54F51.4090507@multigig.com> Dear Jan, > Unfortunately the previous cncerned a wrong version. > Here the correct one (hopefully). Thanks for the patch. I applied it to the distribution source and updated the CVS. It should appear in revision 3.6.45, along with about a thousand changes I made to the source code over the weekend (which probably just thoroughly destabilized the code, but it should all be stable again soon enough). Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From svenn at bjerkem.de Tue Jul 25 13:55:22 2006 From: svenn at bjerkem.de (Svenn Are Bjerkem) Date: Tue, 25 Jul 2006 22:55:22 +0200 Subject: [Xcircuit-dev] Suggestion to open a USENET group for xcircuit and friends In-Reply-To: <200607222235.17121.svenn@bjerkem.de> References: <200607222235.17121.svenn@bjerkem.de> Message-ID: <200607252255.22509.svenn@bjerkem.de> Hi, Seems like this is going to be taking more time than I had anticipated. Idea behind a USENET group was to have some of the support communication running on USENET while development would run on the mailinglist and the wiki would capture the current common knowledge on the tools that Tim (co)develop. A USENET group can be created pretty quick in the alt.* hierarchy and needs a ballot in the comp.* hierarchy. Both will be available from groups.google.com, but some ISP choose not to host some alt.* groups due to content. What do I expect to see improved with a USENET group? 1. Access everywhere to a support channel for xcircuit and friends 2. I read other USENET groups regularly so one more doesn?t hurt. 3. ... Whatever... -- Svenn From chead at telus.net Thu Jul 27 22:34:44 2006 From: chead at telus.net (Christopher Head) Date: Thu, 27 Jul 2006 22:34:44 -0700 Subject: [Xcircuit-dev] Bug Report Message-ID: <44C9A1F4.4090602@telus.net> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi, I'd like to report a bug in XCircuit. When running XCircuit under StarNet X-Win32, everything works fine. However, when running under Cygwin/X (which is now based on X.org, not XFree86, so the website is also out-of-date), the menus don't appear. The menu bar is visible, and the menu titles highlight when selected, but the menus themselves don't appear. Thanks, Chris -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.4 (MingW32) Comment: GnuPT 2.7.2 Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFEyaHzs81VQrSOmo8RAm9DAJ9ocT4APr4TzuewJsKAtPq8QcOzggCbBFfx bDPf9EWp3VQ1in0E55jOfxQ= =BUWQ -----END PGP SIGNATURE----- From tim.edwards at multigig.com Fri Jul 28 08:20:47 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Fri, 28 Jul 2006 08:20:47 -0700 Subject: [Xcircuit-dev] Bug Report In-Reply-To: <44C9A1F4.4090602@telus.net> References: <44C9A1F4.4090602@telus.net> Message-ID: <44CA2B4F.1040503@multigig.com> Dear Chris, > I'd like to report a bug in XCircuit. When running XCircuit under > StarNet X-Win32, everything works fine. However, when running under > Cygwin/X (which is now based on X.org, not XFree86, so the website is > also out-of-date), the menus don't appear. The menu bar is visible, > and the menu titles highlight when selected, but the menus themselves > don't appear. That's a known problem, which *must* be on the xcircuit-dev mailing list archives somewhere, but if so, then it's worth repeating, and if not, then here it is: The non-Tcl/Tk compile of XCircuit has a known problem in which the "Num Lock" feature must be OFF, or the menus don't appear. Because this is some weird interaction between the Xw widget set and the X server (and/or window manager), the problem may or may not exist depending on the specific OS version, X server, and window manager. Normally I just recommend making sure you have the Tcl/Tk development installation (including header and library files) and compiling the Tcl/Tk version of XCircuit, which has many more useful features. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From svenn at bjerkem.de Fri Jul 28 11:27:25 2006 From: svenn at bjerkem.de (Svenn Are Bjerkem) Date: Fri, 28 Jul 2006 20:27:25 +0200 Subject: [Xcircuit-dev] Bug Report In-Reply-To: <44CA2B4F.1040503@multigig.com> References: <44C9A1F4.4090602@telus.net> <44CA2B4F.1040503@multigig.com> Message-ID: <200607282027.26028.svenn@bjerkem.de> On Friday 28 July 2006 17:20, R. Timothy Edwards wrote: > Normally I just recommend making sure you have the Tcl/Tk development > installation (including header and library files) and compiling the > Tcl/Tk version of XCircuit, which has many more useful features. When using xcircuit on unix via Citrix from a PC there are also problems with the numlock. It is basically the key bindings that are not recognized. Not a big problem, but it took me some time to find out why. -- Svenn From sunderme at web.de Sun Jul 30 08:16:08 2006 From: sunderme at web.de (Jan Sundermeyer) Date: Sun, 30 Jul 2006 17:16:08 +0200 Subject: [Xcircuit-dev] Ptch for edif.tcl Message-ID: <44CCCD38.90902@web.de> Hello, i have another patch for edif.tcl (3.6.45). Changes: 1) corrected a bug which made xcircuit crash when notes were present in the schematic (by the way label make normal "" {0 0} leads to instant death of xcircuit) 2) extended the handling of net names the way that several labels of the same name which are attached to several nets are decoded correctly 3) one minor cosmetic change in the source code Ciao, Jan -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: patch_edif_2.txt Url: http://www.opencircuitdesign.com/pipermail/xcircuit-dev/attachments/20060730/7c78ba85/attachment.txt From tim.edwards at multigig.com Sun Jul 30 11:50:25 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Sun, 30 Jul 2006 11:50:25 -0700 Subject: [Xcircuit-dev] Ptch for edif.tcl In-Reply-To: <44CCCD38.90902@web.de> References: <44CCCD38.90902@web.de> Message-ID: <44CCFF71.3000602@multigig.com> Dear Jan, > 1) corrected a bug which made xcircuit crash when notes were present in > the schematic > (by the way label make normal "" {0 0} leads to instant death of xcircuit) > 2) extended the handling of net names the way that several labels of the > same name which are attached to several nets are decoded correctly > 3) one minor cosmetic change in the source code Thanks for the patch, which I've applied, and I also corrected the segmentation fault problem. The "quick fix" was to return from the routine without creating anything. That may not be the right long-term solution. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From sunderme at gmx.de Mon Jul 31 08:22:16 2006 From: sunderme at gmx.de (Jan Sundermeyer) Date: Mon, 31 Jul 2006 17:22:16 +0200 Subject: [Xcircuit-dev] xcircuit crashes on startup Message-ID: <44CE2028.3040209@gmx.de> Gui shows up very shortly before crashing with segmentation fault. Version: 3.6.46 on Ubuntu 6.06 Previous versions work fine. Ciao, Jan From tim.edwards at multigig.com Mon Jul 31 09:42:07 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Mon, 31 Jul 2006 09:42:07 -0700 Subject: [Xcircuit-dev] xcircuit crashes on startup In-Reply-To: <44CE2028.3040209@gmx.de> References: <44CE2028.3040209@gmx.de> Message-ID: <44CE32DF.60803@multigig.com> Dear Jan, > Gui shows up very shortly before crashing with segmentation fault. > Version: 3.6.46 on Ubuntu 6.06 > Previous versions work fine. I can't duplicate that crash. Can you do: gdb /usr/local/lib/xcircuit-3.6/xcircexec So that GDB can catch the exact location of the segfault? Thanks. ---Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From tim.edwards at multigig.com Mon Jul 31 09:46:34 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Mon, 31 Jul 2006 09:46:34 -0700 Subject: [Xcircuit-dev] Suggestion to open a USENET group for xcircuit and friends In-Reply-To: <200607252255.22509.svenn@bjerkem.de> References: <200607222235.17121.svenn@bjerkem.de> <200607252255.22509.svenn@bjerkem.de> Message-ID: <44CE33EA.2080205@multigig.com> Dear Svenn, > A USENET group can be created pretty quick in the alt.* hierarchy and needs a > ballot in the comp.* hierarchy. Both will be available from > groups.google.com, but some ISP choose not to host some alt.* groups due to > content. Alt.* groups will just attract spam like a magnet. Go ahead and request a ballot in comp.*. > What do I expect to see improved with a USENET group? > 1. Access everywhere to a support channel for xcircuit and friends > 2. I read other USENET groups regularly so one more doesn?t hurt. 3. It's out of my hands and off of my computer, which makes it more in the proper spirit of Open Source. ---Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From svenn at bjerkem.de Tue Aug 1 11:58:47 2006 From: svenn at bjerkem.de (Svenn Are Bjerkem) Date: Tue, 1 Aug 2006 20:58:47 +0200 Subject: [Xcircuit-dev] xcircuit crashes on startup In-Reply-To: <44CE32DF.60803@multigig.com> References: <44CE2028.3040209@gmx.de> <44CE32DF.60803@multigig.com> Message-ID: <200608012058.48355.svenn@bjerkem.de> On Monday 31 July 2006 18:42, R. Timothy Edwards wrote: > gdb /usr/local/lib/xcircuit-3.6/xcircexec (gdb) run Starting program: /home/svenn/opt/x86_64/lib/xcircuit-3.6/xcircexec Starting xcircuit under Tcl interpreter Loaded font file /home/svenn/opt/x86_64/lib/xcircuit-3.6/fonts/helvetica.lps Font load warning: character "Hv::nullchar" at code position 0 not found. Font load warning: character "Hv::nullchar" at code position 1 not found. Font load warning: character "Hv::nullchar" at code position 2 not found. lots of things like this deleted Font load warning: character "Sy::rbracetop" at code position 252 not found. Font load warning: character "Sy::rvbrace" at code position 253 not found. Font load warning: character "Sy::rbracebot" at code position 254 not found. Font load warning: character "Sy::nullchar" at code position 255 not found. Program received signal SIGSEGV, Segmentation fault. 0x00002ad87b9cc1ca in ULength (drawlabel=0x7a71e0, localinst=0x60d240, newscale=0, dostop=0, tbreak=0x0) at text.c:1751 1751 xtotal += (float)(chptr->bbox.width + chptr->bbox.lowerleft.x) svenn at bingo ~ $ uname -a Linux bingo 2.6.17-gentoo-r4 #1 SMP PREEMPT Sat Jul 29 23:05:32 CEST 2006 x86_64 AMD Athlon(tm) 64 X2 Dual Core Processor 3800+ AuthenticAMD GNU/Linux -- Svenn From tim.edwards at multigig.com Tue Aug 1 16:46:57 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Tue, 01 Aug 2006 16:46:57 -0700 Subject: [Xcircuit-dev] xcircuit crashes on startup In-Reply-To: <200608012058.48355.svenn@bjerkem.de> References: <44CE2028.3040209@gmx.de> <44CE32DF.60803@multigig.com> <200608012058.48355.svenn@bjerkem.de> Message-ID: <44CFE7F1.6030104@multigig.com> Dear Svenn, > On Monday 31 July 2006 18:42, R. Timothy Edwards wrote: >> gdb /usr/local/lib/xcircuit-3.6/xcircexec > (gdb) run > Starting program: /home/svenn/opt/x86_64/lib/xcircuit-3.6/xcircexec > Starting xcircuit under Tcl interpreter > Loaded font file /home/svenn/opt/x86_64/lib/xcircuit-3.6/fonts/helvetica.lps > Font load warning: character "Hv::nullchar" at code position 0 not found. Check that line 8 of ~/opt/x86_64/lib/xcircuit-3.6/fonts/helvetica.lps is "/Hv::nullchar {", and check the dates and times of the files in the "fonts" subdirectory. The error suggests that the .xfe file got updated but that the .lps file didn't. I instituted library namespaces, in which each library object has a name ::, with various benefits, such as the ability to have a common object name like "nmos" in more that one library, without XCircuit getting screwed up by it, and the ability to load and save libraries of objects independently of how they're arranged on the library pages. So I expect this error is a minor issue; just another fallout from using bleeding-edge software. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From Jan.Sundermeyer at gmx.de Wed Aug 2 01:32:02 2006 From: Jan.Sundermeyer at gmx.de (Jan Sundermeyer) Date: Wed, 02 Aug 2006 10:32:02 +0200 Subject: [Xcircuit-dev] Another Patch for edif.tcl Message-ID: <44D06302.2040803@gmx.de> Hello, i have changed the script to handle array labels (labels with bus notation) correctly. Furthermore labels refering to globals (gnd!,vdd!) are handled correctly. Ciao, Jan From silvermaple at usermail.com Wed Aug 2 12:25:59 2006 From: silvermaple at usermail.com (Philip) Date: Wed, 2 Aug 2006 14:25:59 -0500 Subject: [Xcircuit-dev] Bug Report In-Reply-To: <44CC6DB6.6050700@telus.net> References: <44C9A1F4.4090602@telus.net> <20060728004837.4896275b.silvermaple@usermail.com> <44CC6DB6.6050700@telus.net> Message-ID: <20060802142559.26531f4f.silvermaple@usermail.com> rumor has it that Christopher wrote: > Philip wrote: > [snip] > > > > That is normal behavior for the Python version of XCircuit if any > > modifier key is pressed. Num-lock is considered a modifier key. I > > suspect cap-lock is also. > > > > That doesn't mean you didn't find a bug, but check you keyboard > > "lock" keys. > > > > -- Philip > Stranger and stranger... I'm using a laptop, so I have the following > lock keys: > > 1. Caps lock, which is completely separate and is turned on and off > by pressing the key. > 2. Num lock and scroll lock, only ONE of which can be active at a > time. Either one is activated by holding Fn and pressing the > appropriate key (F11 or F10 respectively). When one lock is turned > on, pressing Fn+same F-key turns the lock off, while pressing > Fn+other F-key turns the current lock off and the other one on. > Finally, if a lock is turned on, holding Fn temporarily turns it > off, and if neither lock is on, holding Fn temporarily turns on > whichever one was last used. > > Here's the scoop: > The menus show up if scroll-lock is locked. They don't show up if > num-lock is locked. > The menus show up if scroll-lock is locked, but Fn is held down so > it's temporarily disabled. They DON'T show up under the same > situation with num-lock. > The menus show up if no locks are locked, the last-enabled lock was > scroll-lock, and Fn is held (so scroll-lock is temporarily enabled). > They DON'T show up under the same situation but with num-lock > instead. > > Here's the scary one: > The menus show up if no locks are locked and Fn is NOT held down, > BUT the last-used lock was scroll-lock. They DON'T show up in the > same situation if the last-used lock was num-lock. > > Finally, as I already said, the above behaviour is observed with > Cygwin/X, but not StarNet X-Win32. Under StarNet X-Win32, the states > of num-lock, scroll-lock, and Fn have absolutely no effect > whatsoever. > > Under both servers, Caps Lock being locked prevents the menus from > appearing. > > I can't imagine how Cygwin/X figures out which modifier key was used > most recently (this seems like information that should be internal > to the keyboard driver); however, now that I know where the problem > is coming from, it's not really a big deal (I don't use num-lock > much, or scroll-lock for that matter, so I can just keep scroll-lock > as my last-used lock). > > Two points come from this: > 1) I know that for a long time XCircuit's menus have not shown up > when modifiers are active (I used XCircuit a bit under Linux too, on > a desktop, where it really annoyed me that I wasn't able to work > with num-lock turned on). Is there an actual reason for this? It > seems silly to examine modifiers for clicks on menu items. I don't > know much about X, so I don't know how it reports modifiers, but in > most windowing systems I'm familiar with (Win32, Java AWT and Swing, > and a bit of GTK), it's very easy to ignore modifiers. > > 2) Should the weirdness with num-lock be reported to Cygwin as a bug > in their X server? I'm not a developer, just a long-time user - so I don't know who should get the bug report. *smile* Tim Edwards isn't really developing the non-tcl/tk version anymore. He is trying not to break it, but most of his effort is in tcl/tk. Within the last month, I (finally) quite using the Debian package (non-tcl/tk) and complied the lastest version. Based on my experiences and systems, I'd echo Tim's recommendation to switch to Tcl/tk-enabled. Among other things, the modifier key issue is gone! (at least on all of my Debian systems) Sorry I'm not much help. -- Philip From silvermaple at usermail.com Wed Aug 2 12:31:53 2006 From: silvermaple at usermail.com (Philip) Date: Wed, 2 Aug 2006 14:31:53 -0500 Subject: [Xcircuit-dev] Bug Report In-Reply-To: <44CEB228.5060607@telus.net> References: <44C9A1F4.4090602@telus.net> <20060728004837.4896275b.silvermaple@usermail.com> <44CC6DB6.6050700@telus.net> <20060731031824.1253912b.silvermaple@usermail.com> <44CEB228.5060607@telus.net> Message-ID: <20060802143153.4257e24f.silvermaple@usermail.com> rumor has it that Christopher wrote: > > Tim Edwards isn't > > really developing the non-tcl/tk version anymore. He is trying not > > to break it, but most of his effort is in tcl/tk. Within the last > > month, I (finally) quite using the Debian package (non-tcl/tk) and > > complied the lastest version. Based on my experiences and systems, > > I'd echo Tim's recommendation to switch to Tcl/tk-enabled. Among > > other things, the modifier key issue is gone! (at least on all of > > my Debian systems > That would be unfortunate, since the Tcl/Tk version doesn't compile > under Cygwin... I like Linux, but I'm not really ready to try > putting it on my tablet PC which I actually need working for > university classes. I did use gschem with X forwarding for a while > (gschem running under a real Linux machine), but it was slow even on > a 100Mb LAN. There is a windows-native version. It runs _without_ an x-server. http://www.geocities.com/sw286000/ I think that's the right link... > Of course I understand the Tcl/Tk version is probably better, so the > ideal outcome would be the Tcl/Tk version compiling under Cygwin. > Maybe I should try to find out what's going on and why it doesn't > compile, and try to fix it. I had a bit of trouble with the location of various header files when I compiled it on Debian (mostly) testing. I have cygwin, but use it even more rarely than I do Windows. Mostly it's there so I have my life-essential *nix tools when I'm stuck in windows. -- Philip From jan.de.kruyf at hotmail.com Fri Aug 4 16:00:01 2006 From: jan.de.kruyf at hotmail.com (jan de kruyf) Date: Fri, 04 Aug 2006 23:00:01 +0000 Subject: [Xcircuit-dev] debian, tcl and xcircuit Message-ID: hello all, this is what I get when I run gdb on wish in debian-sarge, trying to debug a library problen in Xcircuit There are more symptoms, but perhaps the root of the evil is to be found here: Has anybody seen something like this before? Jan. PS : maybe I see something? libraries and files are mostly uncoupled now, but I am asking for the lib's filename. so a NIL pointer is passed???? ok lets first hear some wise words before I shoot some more in the dark. ----------------------------------------------------------------------------------------- : jan at debianrocket:~$ ps -C wish PID TTY TIME CMD 3589 pts/1 00:00:00 wish 3588 pts/1 00:00:01 wish 3590 pts/1 00:00:00 wish jan at debianrocket:~$ gdb wish .. .. -----this happens as soon as gdb is finished attaching itself------- 0x401b8456 in nanosleep () from /lib/libpthread.so.0 (gdb) where #0 0x401b8456 in nanosleep () from /lib/libpthread.so.0 #1 0x00000001 in ?? () #2 0x401b452a in __pthread_timedsuspend_new () from /lib/libpthread.so.0 #3 0x401b1122 in pthread_cond_timedwait_relative () from /lib/libpthread.so.0 #4 0x4019100c in Tcl_ConditionWait () from /usr/lib/libtcl8.4.so.0 #5 0x40191bf6 in Tcl_WaitForEvent () from /usr/lib/libtcl8.4.so.0 #6 0x4016da3c in Tcl_DoOneEvent () from /usr/lib/libtcl8.4.so.0 #7 0x40049648 in Tk_MainLoop () from /usr/lib/libtk8.4.so.0 #8 0x40056064 in Tk_MainEx () from /usr/lib/libtk8.4.so.0 #9 0x0804883c in main () (gdb) c Continuing. ------here i typed "library 1 name" in the console; library 1 was showing in the main window.----- ------which was a mistake but "library 1 filename" has excactly the same effect.---- ------now see---- Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 16384 (LWP 3588)] 0x40152de7 in Tcl_GetIndexFromObjStruct () from /usr/lib/libtcl8.4.so.0 (gdb) where #0 0x40152de7 in Tcl_GetIndexFromObjStruct () from /usr/lib/libtcl8.4.so. #1 0x40152d49 in Tcl_GetIndexFromObj () from /usr/lib/libtcl8.4.so.0 #2 0x40513cf0 in Xcircuit_Init () from /usr/lib/xcircuit-3.6/xcircuit.so #3 0x4016ac59 in TclGetOriginalCommand () from /usr/lib/libtcl8.4.so.0 #4 0x4011e6a4 in TclEvalObjvInternal () from /usr/lib/libtcl8.4.so.0 #5 0x4011f254 in Tcl_EvalEx () from /usr/lib/libtcl8.4.so.0 #6 0x4011f84a in Tcl_EvalObjEx () from /usr/lib/libtcl8.4.so.0 #7 0x40177a6a in Tcl_UplevelObjCmd () from /usr/lib/libtcl8.4.so.0 #8 0x4011e6a4 in TclEvalObjvInternal () from /usr/lib/libtcl8.4.so.0 #9 0x401459c8 in TclCompEvalObj () from /usr/lib/libtcl8.4.so.0 #10 0x40144f0b in TclCompEvalObj () from /usr/lib/libtcl8.4.so.0 #11 0x4011f8f6 in Tcl_EvalObjEx () from /usr/lib/libtcl8.4.so.0 #12 0x401555c7 in Tcl_GetInterpPath () from /usr/lib/libtcl8.4.so.0 #13 0x40153923 in Tcl_InterpObjCmd () from /usr/lib/libtcl8.4.so.0 #14 0x4011e6a4 in TclEvalObjvInternal () from /usr/lib/libtcl8.4.so.0 #15 0x401459c8 in TclCompEvalObj () from /usr/lib/libtcl8.4.so.0 #16 0x40144f0b in TclCompEvalObj () from /usr/lib/libtcl8.4.so.0 #17 0x40178147 in TclObjInterpProc () from /usr/lib/libtcl8.4.so.0 #18 0x4011e6a4 in TclEvalObjvInternal () from /usr/lib/libtcl8.4.so.0 #19 0x4011ea24 in Tcl_EvalObjv () from /usr/lib/libtcl8.4.so.0 #20 0x40154b54 in TclPreventAliasLoop () from /usr/lib/libtcl8.4.so.0 #21 0x4011e6a4 in TclEvalObjvInternal () from /usr/lib/libtcl8.4.so.0 #22 0x401459c8 in TclCompEvalObj () from /usr/lib/libtcl8.4.so.0 #23 0x40144f0b in TclCompEvalObj () from /usr/lib/libtcl8.4.so.0 #24 0x40178147 in TclObjInterpProc () from /usr/lib/libtcl8.4.so.0 #25 0x4011e6a4 in TclEvalObjvInternal () from /usr/lib/libtcl8.4.so.0 #26 0x401459c8 in TclCompEvalObj () from /usr/lib/libtcl8.4.so.0 #27 0x40144f0b in TclCompEvalObj () from /usr/lib/libtcl8.4.so.0 #28 0x40178147 in TclObjInterpProc () from /usr/lib/libtcl8.4.so.0 #29 0x4011e6a4 in TclEvalObjvInternal () from /usr/lib/libtcl8.4.so.0 #30 0x4011f254 in Tcl_EvalEx () from /usr/lib/libtcl8.4.so.0 #31 0x4011f6eb in Tcl_Eval () from /usr/lib/libtcl8.4.so.0 #32 0x40120d46 in Tcl_GlobalEval () from /usr/lib/libtcl8.4.so.0 #33 0x4003b41b in Tk_BindEvent () from /usr/lib/libtk8.4.so.0 #34 0x40041275 in TkBindEventProc () from /usr/lib/libtk8.4.so.0 #35 0x40048cc1 in Tk_HandleEvent () from /usr/lib/libtk8.4.so.0 #36 0x40049566 in TkQueueEventForAllChildren () from /usr/lib/libtk8.4.so.0 #37 0x4016d6c9 in Tcl_ServiceEvent () from /usr/lib/libtcl8.4.so.0 #38 0x4016d9b6 in Tcl_DoOneEvent () from /usr/lib/libtcl8.4.so.0 #39 0x40049648 in Tk_MainLoop () from /usr/lib/libtk8.4.so.0 #40 0x40056064 in Tk_MainEx () from /usr/lib/libtk8.4.so.0 #41 0x0804883c in main () (gdb) c Continuing. Program exited normally. (gdb) ----------------------------------------------------------------------- kernel 2.4.27-10 (g)libc6 version 2.3.2.ds1-22 gcc (GCC) 3.3.5 (Debian 1:3.3.5-13) (Tcl8.4.9 / Tk8.4.9) Xcircuit 3.6.46, compiled on this machine, with -g and no -O.. _________________________________________________________________ Eindeloos zoeken naar dat ene document is nu voorbij! http://desktop.msn.nl From tim.edwards at multigig.com Fri Aug 4 17:13:39 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Fri, 04 Aug 2006 17:13:39 -0700 Subject: [Xcircuit-dev] debian, tcl and xcircuit In-Reply-To: References: Message-ID: <44D3E2B3.40709@multigig.com> Dear Jan, > this is what I get when I run gdb on wish in debian-sarge, trying to debug a > library problen in Xcircuit > > There are more symptoms, but perhaps the root of the evil is to be found > here: Specifically, the error that causes the segmentation fault can be fixed by adding a NULL to the end of the list at tclxcircuit.c line 7193: char *subCmds[] = { "load", "make", "directory", "next", "goto", "override", "handle", "import", "list", "compose", NULL }; However, there are clearly more problems with the "library" command, mainly that almost any incorrect syntax will be interpreted as an attempt to load a library file. The "library" command should be followed by a library page name, not a filename or technology name. But at least the fix shown above stops the crashing. ---Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From svenn at bjerkem.de Sat Aug 5 13:10:32 2006 From: svenn at bjerkem.de (Svenn Are Bjerkem) Date: Sat, 5 Aug 2006 22:10:32 +0200 Subject: [Xcircuit-dev] What development environment is used for xcircuit? Message-ID: <200608052210.32291.svenn@bjerkem.de> Hi, the subject says it all. -- Svenn From tim.edwards at multigig.com Sun Aug 6 16:36:13 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Sun, 06 Aug 2006 16:36:13 -0700 Subject: [Xcircuit-dev] What development environment is used for xcircuit? In-Reply-To: <200608052210.32291.svenn@bjerkem.de> References: <200608052210.32291.svenn@bjerkem.de> Message-ID: <44D67CED.5010203@multigig.com> Dear Svenn, > the subject says it all. It does? Maybe I'm confused because I don't have a development environment. ---Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From svenn at bjerkem.de Mon Aug 7 13:56:28 2006 From: svenn at bjerkem.de (Svenn Are Bjerkem) Date: Mon, 7 Aug 2006 22:56:28 +0200 Subject: [Xcircuit-dev] What development environment is used for xcircuit? In-Reply-To: <44D67CED.5010203@multigig.com> References: <200608052210.32291.svenn@bjerkem.de> <44D67CED.5010203@multigig.com> Message-ID: <200608072256.29320.svenn@bjerkem.de> On Monday 07 August 2006 01:36, R. Timothy Edwards wrote: > Dear Svenn, > > > the subject says it all. > > It does? Maybe I'm confused because I don't have a development > environment. > ---Tim I was thinking about vi/emacs/nedit and friends -- Svenn From tim.edwards at multigig.com Tue Aug 8 09:57:59 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Tue, 08 Aug 2006 09:57:59 -0700 Subject: [Xcircuit-dev] What development environment is used for xcircuit? In-Reply-To: <200608072256.29320.svenn@bjerkem.de> References: <200608052210.32291.svenn@bjerkem.de> <44D67CED.5010203@multigig.com> <200608072256.29320.svenn@bjerkem.de> Message-ID: <44D8C297.7080707@multigig.com> Dear Svenn, > I was thinking about vi/emacs/nedit and friends Let's try this again. I thought the SBC mail relay was supposed to work from anywhere, since it's an authenticated connection, but my email from the hotel here in Vancouver just disappeared. Anyway---here's a rundown of my development setup: I do most of my development on my Dell Inspiron 8200 laptop, which I drag back and forth between work and home. It's running Fedora Core 2 (with numerous updates). I don't ascribe to "desktops" (they're much too like Windows for me, and I never use Windows until I'm out of all other options), so I don't have Gnome or KDE, but just a plain window manager (ctwm, a slight variant of the old twm) on top of X11. My video card and driver are from Nvidia. The other machine under my desk at work is an AMD Opteron running Fedora Core 3. I compile all my tools on an irregular basis there to make sure everything runs on a 64-bit platform. Its video card is also Nvidia, so I don't have a lot of variety for debugging graphics problems. OpenCircuitDesign itself is a Debian system, so I have another Linux variant to test the compile on. But it's just a box in a closet, so I never see the X server. My favored editor is "nvi", a variant of "vi" with all the major problems fixed (it was around before "vim", and I prefer its method of handling sequences of "undo"). I'm not an emacs persion (my pinkie finger can't take the strain of having to hit the Control key all the time). Maybe its a rule of thumb that touch typists prefer "vi". ---Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From tonylaneve at rogers.com Sun Aug 13 06:43:51 2006 From: tonylaneve at rogers.com (Tony Laneve) Date: Sun, 13 Aug 2006 09:43:51 -0400 Subject: [Xcircuit-dev] problems with latex mode and label positioning Message-ID: <44DF2C97.5020802@rogers.com> Hi I am new to xcircuit and I have been having some problems. I am using xcircuit 3.6.48 under cygwin on windows XP 1) Latex mode: in Latex mode the bakcslash character "\" won't show up when I type it. I need to go into the Latex files and manually add it 2) In general when I position text (inside a box for example) and then create a ps file. The text shifts position. If I save an xcircuit file with text labels in it and then load it back into xcircuit the font size changes. Have you noticed any of these problems of am I doing something incorrectly. Thanks for your help. Tony From tim.edwards at multigig.com Sun Aug 13 14:04:46 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Sun, 13 Aug 2006 14:04:46 -0700 Subject: [Xcircuit-dev] problems with latex mode and label positioning In-Reply-To: <44DF2C97.5020802@rogers.com> References: <44DF2C97.5020802@rogers.com> Message-ID: <44DF93EE.1030803@multigig.com> Dear Tony, > 1) Latex mode: in Latex mode the bakcslash character "\" won't show up > when I type it. > I need to go into the Latex files and manually add it That's a bug. I fixed it, and it will be in the new distribution (posted automatically tonight). > 2) In general when I position text (inside a box for example) and then > create a ps file. The text shifts position. If I save an xcircuit > file with text labels in it and then load it back into xcircuit the font > size changes. I haven't noticed this. Does this also have to do with LaTeX-mode labels, or any labels? I may need to see an example. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From BrianArmstrong at Eaton.com Tue Aug 15 17:29:12 2006 From: BrianArmstrong at Eaton.com (BrianArmstrong at Eaton.com) Date: Tue, 15 Aug 2006 19:29:12 -0500 Subject: [Xcircuit-dev] Raise / Lower (bring to front/back) Message-ID: Dear Time (or others) Thank you for a fabulous tool. I use xcircuit for drawing all the time. Here is a feature suggestion. Perhaps I' ve missed it in the documentation, but there seems to be no way to reliably place one object on top of another. With line drawings it doesn't make too much difference, but with filled shapes it makes a big difference which is on top. Raise, lower would be a great feature. Thanks Brian From tim.edwards at multigig.com Tue Aug 15 21:15:00 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Tue, 15 Aug 2006 21:15:00 -0700 Subject: [Xcircuit-dev] Raise / Lower (bring to front/back) In-Reply-To: References: Message-ID: <44E29BC4.8010208@multigig.com> Dear Brian, > Here is a feature suggestion. Perhaps I' ve missed it in the documentation, > but there seems to be no way to reliably place one object on top of another. > With line drawings it doesn't make too much difference, but with filled shapes > it makes a big difference which is on top. Yes, you missed it in the documentation. It's not in the pull-down menus (as it should be), which makes it a more obscure feature than it ought to be. Use the "X" key (shift-x) to (1) exchange the relative position of two objects, or (2) raise a (single) object, or if it's already on top, send it to the bottom. There are various notes in the source code to the effect that the whole over-under thing could be handled better, but I've never done anything about it. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From jan.de.kruyf at hotmail.com Tue Aug 22 19:34:45 2006 From: jan.de.kruyf at hotmail.com (jan de kruyf) Date: Wed, 23 Aug 2006 02:34:45 +0000 Subject: [Xcircuit-dev] placing of symbols in libraries Message-ID: Hello, There is something that evades me: I start xcircuit3.6.50 by loading some technology files onto library pages. Then I proceed to make a library symbol for a new library When I want to save this symbol xcircuit always insists on putting it in the project library page. So I revert back to brute force and save the schematic with the symbol on and afterwards copy it into my technology file. Is this correct? Jan de Kruyf. _________________________________________________________________ Chatten met je online vrienden via MSN Messenger. http://imagine-msn.com/messenger/launch80/default.aspx?locale=nl-nl From tim.edwards at multigig.com Wed Aug 23 13:05:27 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Wed, 23 Aug 2006 13:05:27 -0700 Subject: [Xcircuit-dev] placing of symbols in libraries In-Reply-To: References: Message-ID: <44ECB507.9080701@multigig.com> Dear Jan, > There is something that evades me: > I start xcircuit3.6.50 by loading some technology files onto library pages. > Then I proceed to make a library symbol for a new library > When I want to save this symbol xcircuit always insists on putting it in the > project library page. > So I revert back to brute force and save the schematic with the symbol on > and afterwards copy it into my technology file. Is this correct? I see the problem you describe, now, and I have fixed the error. Version 3.6.51 (currently in CVS; distribution will be compiled automatically tonight) corrects this problem, and also allows both the technology and target library page to be specified at the time the new object is made. Let me know if you find any other problems. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From jan.de.kruyf at hotmail.com Thu Aug 24 11:35:10 2006 From: jan.de.kruyf at hotmail.com (jan de kruyf) Date: Thu, 24 Aug 2006 18:35:10 +0000 Subject: [Xcircuit-dev] 3.6.51 Message-ID: xcircuit3.6.51 --xcircuit.c: In function `SetHandleFromAny': --xcircuit.c:1242: warning: implicit declaration of function `TclCheckBadOctal' Tim, where did you find this `TclCheckBadOctal' function? I seem to miss it on my machine! Then the fileloading broke from v50 to v51. This is what I get: when loading a file: invalid command name ".filelist.libself.libselect" invalid command name ".filelist.libself.libselect" while executing ".filelist.libself.libselect cget -text" invoked from within ".filelist.bbar.okay invoke" ("uplevel" body line 1) invoked from within "uplevel #0 [list $w invoke]" (procedure "tk::ButtonUp" line 22) invoked from within "tk::ButtonUp .filelist.bbar.okay" (command bound to event) the cocontact.ps file enclosed has this behavior, but all my files do it. This is just an old simple ps file. There is a secret connection between BoundingBox, PageOrientation and rotate in postscript. And I am sure it is send to test us!! Also in cmscale switching from BoundingBox to A4 format foxes the papersize on screen (in GV) I have not yet tried to send it to the printer. But lets call these things polishing mistakes for the time being. Regards jan. _________________________________________________________________ Bellen met Messenger? Download nu Windows Live Messenger beta! http://imagine-msn.com/messenger/launch80/default.aspx?locale=nl-nl From tim.edwards at multigig.com Thu Aug 24 13:21:21 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Thu, 24 Aug 2006 13:21:21 -0700 Subject: [Xcircuit-dev] 3.6.51 In-Reply-To: References: Message-ID: <44EE0A41.3060901@multigig.com> Dear Jan, > Tim, where did you find this `TclCheckBadOctal' function? I seem to miss > it on my machine! It's defined by the Tcl source, and should exist in the Tcl library. However, it's not an official Tcl routine defined in the Tcl header files. I can't see any obvious reason for the call to it, so it's probably best to just remove the call. > Then the fileloading broke from v50 to v51. This is what I get: > when loading a file: > > invalid command name ".filelist.libself.libselect" > invalid command name ".filelist.libself.libselect" > while executing > ".filelist.libself.libselect cget -text" I think I tracked the error down and fixed it properly (to appear in revision 52) > There is a secret connection between BoundingBox, PageOrientation and > rotate in postscript. > And I am sure it is send to test us!! Yeah, well, it's been testing my patience for years. > Also in cmscale switching from BoundingBox to A4 format foxes the > papersize on screen (in GV) I have not yet tried to send it to the printer. We don't stock A4 size paper here, so needless to say, I don't exercise that code very often. ---Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From silvermaple at usermail.com Thu Aug 31 13:14:04 2006 From: silvermaple at usermail.com (Philip) Date: Thu, 31 Aug 2006 15:14:04 -0500 Subject: [Xcircuit-dev] re-select Message-ID: <20060831151404.52a48d1b.silvermaple@usermail.com> I've been using a Tcl version for about a month now. The only thing I miss from the python version is the ability to re-select the last entity. By way of example; I select 5 objects, move them - but just as I let go my arm is bumped and I set the objects down on top of other stuff. Clicking button 3 used to re-select those objects making it easy to correct my error. With 3.6-39 Tcl, this doesn't work. Am I missing something obvious? Or is this a lost feature? I didn't even realize that I used it until it wasn't working! -- Philip From tim at opencircuitdesign.com Fri Sep 1 11:14:03 2006 From: tim at opencircuitdesign.com (R. Timothy Edwards) Date: Fri, 01 Sep 2006 11:14:03 -0700 Subject: [Xcircuit-dev] New in XCircuit: moves with pins attached Message-ID: <44F8786B.1030909@opencircuitdesign.com> A number of people have asked about a feature that allows wires connected to pins on a circuit symbol to stay connected to the symbol when the symbol is moved. I held off on attempting to implement that feature for a long time because I was working on a more complete and comprehensive "automatic schematic generation" package that would take care of that feature as a side-effect of the ASG auto-routing. However, since it has been quite some time since I tacked the ASG code onto the xcircuit distribution, and I have yet to get it working, I decided to implement a more standard version of the moves-with- connected-wires feature. So in versions of xcircuit starting with version 3.6.54 (now in CVS; distribution will be compiled and available for download tonight---avoid version 3.6.53, in which the feature is buggy and prone to crash xcircuit), this feature is available in the Tcl/Tk version of xcircuit by selecting menu button "Options--> Wires Stay Attached to Pins". People may find it useful to also enable the "manhattan draw" option, which is now more conveniently located in the toolbar "line styles" button drop-down menu. In addition, I have extended the "attach-to" function (key binding shift-A) to include automatic attachment to pin labels and symbol pins. Using shift-A from "normal" mode will start drawing a wire connected to the nearest symbol pin or pin label. The implementation is so obvious I don't know why I didn't think of it a long time ago. . . There will be some other related features coming soon (related to the code changes, that is; not obviously related functionally), including simultaneous editing of multiple wires (e.g., extending the ends of all wires in a bus at the same time). I figure this should make a lot of people happier about xcircuit. One of the most frequently asked questions now is whether symbols can be moved while retaining wire attachments to the pins. As always, any suggestions, complaints, bug reports, etc., are always appreciated. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim at opencircuitdesign.com | | Open Circuit Design, Inc. | web: http://opencircuitdesign.com | | 22815 Timber Creek Lane | phone: (301) 528-9364 | | Clarksburg, MD 20871-4001 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From jan.de.kruyf at hotmail.com Mon Sep 4 12:52:53 2006 From: jan.de.kruyf at hotmail.com (jan de kruyf) Date: Mon, 04 Sep 2006 19:52:53 +0000 Subject: [Xcircuit-dev] 3.6.55 Message-ID: Tim, I do not know if i missed something but with cvs from ...54 to ...55 only the VERSION file got updated. also the building did not show any activity. Other than that: in ...54 copying a symbol from the library to the drawing page caused a seg fault. I have not had the time to dig into it. Sorry. jan _________________________________________________________________ Vind alles terug op je PC: MSN Search Toolbar http://desktop.msn.nl From tim.edwards at multigig.com Mon Sep 4 13:29:51 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Mon, 04 Sep 2006 13:29:51 -0700 Subject: [Xcircuit-dev] 3.6.55 In-Reply-To: References: Message-ID: <44FC8CBF.4010002@multigig.com> Dear Jan, > I do not know if i missed something but with cvs from ...54 to ...55 only > the VERSION file got updated. > also the building did not show any activity. The change was to tclxcircuit.c lines 6250 and following. I'm not sure what happened to the CVS update. The change is in my "canonical" source directory on opencircuitdesign.com, which is the source from which the distribution tarball is made. > Other than that: > in ...54 copying a symbol from the library to the drawing page caused > a seg fault. > I have not had the time to dig into it. Sorry. I can't duplicate the error. On the other hand, I made a huge number of changes during the weekend and I may have fixed it. I can't commit to CVS right now, though, until I've fixed a couple of know fatal bugs in the code I added. Although it only concerns creating and editing paths, which I expect most people don't use. ---Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From tim.edwards at multigig.com Mon Sep 4 20:43:22 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Mon, 04 Sep 2006 20:43:22 -0700 Subject: [Xcircuit-dev] re-select In-Reply-To: <20060831151404.52a48d1b.silvermaple@usermail.com> References: <20060831151404.52a48d1b.silvermaple@usermail.com> Message-ID: <44FCF25A.3020605@multigig.com> Dear Philip, > I've been using a Tcl version for about a month now. > > The only thing I miss from the python version is the ability to > re-select the last entity. > > By way of example; > > I select 5 objects, move them - but just as I let go my arm is bumped > and I set the objects down on top of other stuff. Clicking button 3 > used to re-select those objects making it easy to correct my error. > With 3.6-39 Tcl, this doesn't work. > > Am I missing something obvious? Or is this a lost feature? > > I didn't even realize that I used it until it wasn't working! It's clearly been lost, although I can't quite say whether it was intentional or not. I made a number of big design changes having to do with both the selection mechanism, handling of key and button events, and the undo mechanism. I know that I used the re-select mechanism myself for a while, but I tended to get confused by it unless I was paying very close attention to what I was doing. Using the current 3.4 and 3.6 code, in the situation you describe, doing "undo" ("u" key) will undo the move. The selection of the multiple objects prior to the move was a separate event, so the "undo" command should finish with the objects in their original positions, but selected and ready to be moved again. Perhaps you're not used to using "u" for "undo" since earlier versions of XCircuit didn't have a comprehensive "undo" method and "u" was mapped to a more limited "undelete" function. I could add back the feature, but I would have to implement it from scratch, since the implementation given the current code base would be to search the "undo" stack to find the last selection event, then reselect the elements listed in the undo event record. Should be a trivial bit of code. ---Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From silvermaple at usermail.com Tue Sep 5 16:03:36 2006 From: silvermaple at usermail.com (Philip) Date: Tue, 5 Sep 2006 18:03:36 -0500 Subject: [Xcircuit-dev] re-select In-Reply-To: <44FCF25A.3020605@multigig.com> References: <20060831151404.52a48d1b.silvermaple@usermail.com> <44FCF25A.3020605@multigig.com> Message-ID: <20060905180336.2897f659.silvermaple@usermail.com> rumor has it that R. wrote: > Dear Philip, > > > I've been using a Tcl version for about a month now. > > > > The only thing I miss from the python version is the ability to > > re-select the last entity. > > > > By way of example; > > > > I select 5 objects, move them - but just as I let go my arm is > > bumped and I set the objects down on top of other stuff. Clicking > > button 3 used to re-select those objects making it easy to correct > > my error. With 3.6-39 Tcl, this doesn't work. > It's clearly been lost, although I can't quite say whether it was > intentional or not. I made a number of big design changes having > to do with both the selection mechanism, handling of key and button > events, and the undo mechanism. > > I know that I used the re-select mechanism myself for a while, but > I tended to get confused by it unless I was paying very close > attention to what I was doing. > > Using the current 3.4 and 3.6 code, in the situation you describe, > doing "undo" ("u" key) will undo the move. The selection of the > multiple objects prior to the move was a separate event, so the > "undo" command should finish with the objects in their original > positions, but selected and ready to be moved again. > > Perhaps you're not used to using "u" for "undo" since earlier > versions of XCircuit didn't have a comprehensive "undo" method and > "u" was mapped to a more limited "undelete" function. Ahh! I have continued to use "u" for undelete - but I don't do that often 'cause I don't usually make mistakes... *grin* That is a keyboard action rather than mouse, but I rely pretty heavily on many other keyboard shortcuts so that should just require a bit of time to retrain my brain. However, "undo" won't help with the other situation I used "reselect" for. That situation is when I am changing multiple attributes of text. I have discovered that I will select the text and make change the size, right click just inside the drawing but next to the menu and change the font, then change the style. I suppose it isn't really that big a deal to have to mouse all the way over to the actual object. Especially since the select function seems to be much better that it used to. I don't know if that is the fault of TCL, or the underlying code, but I find that I don't have to cycle through the list of selection choices nearly as often as I used to - and it's much more likely that I actually select what I want instead of a neighboring object. > I could add back the feature, but I would have to implement it from > scratch, since the implementation given the current code base would > be to search the "undo" stack to find the last selection event, then > reselect the elements listed in the undo event record. Should be a > trivial bit of code. > ---Tim I will use it if the feature returns, but if most users are just confused by it I ought to be able to function without it just fine. -- Philip From jan.de.kruyf at hotmail.com Mon Sep 11 13:03:26 2006 From: jan.de.kruyf at hotmail.com (jan de kruyf) Date: Mon, 11 Sep 2006 20:03:26 +0000 Subject: [Xcircuit-dev] 3.6.55 (cvs) Message-ID: I just compiled the cvs of last sunday (still VERSION 3.6.55) The parameter text does not show for any of the library symbols. Why were the libs changed, is my homegrown library going to be affected? cheers, jan de kruyf _________________________________________________________________ Vind alles terug op je PC: MSN Search Toolbar http://desktop.msn.nl From tim.edwards at multigig.com Tue Sep 12 16:15:32 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Tue, 12 Sep 2006 16:15:32 -0700 Subject: [Xcircuit-dev] 3.6.55 (cvs) In-Reply-To: References: Message-ID: <45073F94.9050807@multigig.com> Dear Jan, > I just compiled the cvs of last sunday (still VERSION 3.6.55) > The parameter text does not show for any of the library symbols. > Why were the libs changed, is my homegrown library going to be affected? The libs were changed because I ran into a problem importing schematics from Cadence, where they used the parameter "sub", which happens to be a PostScript command, and causes ghostscript to fail to display the resulting output file. I decided that simply prepending all parameters with the character "@" would suffice to keep them from ever conflicting with any PostScript keywords. Now, this was supposed to be completely backwards-compatible, and you are not supposed to have to make any changes to existing libraries. I have not noticed any instances where XCircuit failed to properly parse any of my own older libraries. I will likely need to see one of your libraries to figure out why XCircuit is failing to parse the parameters correctly. Hopefully, it's just a simple bug. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From tim.edwards at multigig.com Wed Sep 13 12:08:01 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Wed, 13 Sep 2006 12:08:01 -0700 Subject: [Xcircuit-dev] 3.6.55 (cvs) In-Reply-To: References: Message-ID: <45085711.8030200@multigig.com> Dear Jan, > the files seem to be parsed alright, but there is a display problem. > I just tried analog3 and the same thing occurs. the symbol is there, but > the writing is missing, although the parameters show correctly in the > parameter popup. > Also when I popped a symbol out of the library for editing, the text was > missing, but the red crosses that indicate the pins are there. This sounds like a problem loading the fonts. On or around the same revision, I changed the handling of libraries to use "namespaces". Since fonts are just xcircuit object libraries, they underwent the same changes. If you can't see any text, that might be what's happening, or it could be some specific font that XCircuit can't find. Does that describe what you're seeing? Are the font files in /usr/local/lib/ xcircuit-3.6/fonts/*.lps and *.xfe all dated to the time of the install process? ---Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From jan.de.kruyf at hotmail.com Wed Sep 13 20:16:29 2006 From: jan.de.kruyf at hotmail.com (jan de kruyf) Date: Thu, 14 Sep 2006 03:16:29 +0000 Subject: [Xcircuit-dev] 3.6.55 (cvs) In-Reply-To: <45085711.8030200@multigig.com> Message-ID: >>I just tried analog3 and the same thing occurs. the symbol is there, but >>the writing is missing, although the parameters show correctly in the >>parameter popup. >>Also when I popped a symbol out of the library for editing, the text was >>missing, but the red crosses that indicate the pins are there. > >This sounds like a problem loading the fonts. On or around the same >revision, I changed the handling of libraries to use "namespaces". >Since fonts are just xcircuit object libraries, they underwent the >same changes. If you can't see any text, that might be what's happening, >or it could be some specific font that XCircuit can't find. Does that >describe what you're seeing? Are the font files in /usr/local/lib/ >xcircuit-3.6/fonts/*.lps and *.xfe all dated to the time of the >install process? Could be yes. All xcircuit files of this version on my system are dated 09/11/06 17:55 with permissions: -rw-r--r-- but the xcircuit directory resides in /usr/lib/ as per standard debian practice. my local building rules file and installation practice have not changed for quite a while now. I normally build the .deb package and install with "dpkg -i" ; this effectively erases all old files. I have not changed the default font names at any stage. 1. Are you not seeing this problem? 2. Did you change the parsing of the search path at all? Cheers, jan. _________________________________________________________________ Typ je SMS sneller binnen MSN Messenger http://join.msn.com/mobile-Messaging/overview From tim.edwards at multigig.com Thu Sep 14 10:03:16 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Thu, 14 Sep 2006 10:03:16 -0700 Subject: [Xcircuit-dev] 3.6.55 (cvs) In-Reply-To: References: Message-ID: <45098B54.5020304@multigig.com> Dear Jan, > the xcircuit directory resides in /usr/lib/ as per standard debian > practice. > my local building rules file and installation practice have not changed for > quite a while now. I normally build the .deb package and install with "dpkg > -i" ; this effectively erases all old files. > > I have not changed the default font names at any stage. > > 1. Are you not seeing this problem? No, I'm not. I don't let egregious errors that I can see get into the posted distribution, and since I use XCircuit nearly every day, on the rare occasions in which a bad error gets in a distribution, it won't be there for very long. So if you see something horribly wrong with XCircuit, you can be pretty sure that it's not happening on my computer. > 2. Did you change the parsing of the search path at all? Do you remember which version you updated from? It will help to know which parts of the code may be at fault. For example, some number of revisions ago, I changed from the "m4" preprocessor to "sed" for making variable substitutions into files lib/tcl/xcircuit.tcl.in and /lib/tcl/xcircuit.sh.in, because I was getting more and more reports from people whose OS versions did not come with "m4" installed (it's a lousy preprocessor anyway, and good riddance). Oh, I do see one other thing that I changed not too long ago, which was to separate environment variables XCIRCUIT_LIB_DIR and XCIRCUIT_SRC_DIR. I can see a place where there might be a problem that causes XCIRCUIT_LIB_DIR to not be set, and the default value it uses may not be correct for your Debian installation. Here's one thing you can try: Set the environment variable XCIRCUIT_LIB_DIR to "/usr/lib/xcircuit-3.6" before running xcircuit. If that works, then add the following lines to "/usr/lib/xcircuit-3.6/ xcircuit.tcl" at line 9: set envlibdir [array get env "XCIRCUIT_LIB_DIR"] if {$envlibdir == {}} { set XCIRCUIT_LIB_DIR /usr/lib/xcircuit-3.6 } unset envlibdir And then let me know if that worked. Thanks, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From jan.de.kruyf at hotmail.com Fri Sep 15 15:38:32 2006 From: jan.de.kruyf at hotmail.com (jan de kruyf) Date: Fri, 15 Sep 2006 22:38:32 +0000 Subject: [Xcircuit-dev] 3.6.55 (cvs) no text In-Reply-To: <45098B54.5020304@multigig.com> Message-ID: Dear Tim The no text bug has been put to rest, finally. >I can see a place where there might be a problem that causes >XCIRCUIT_LIB_DIR to not be set, and the default value it uses may >not be correct for your Debian installation. > >Here's one thing you can try: > >Set the environment variable XCIRCUIT_LIB_DIR to "/usr/lib/xcircuit-3.6" >before running xcircuit. > Thanks for all the thinking but the mess was almost certainly on my side. I just made a new sourse dir, compiled and lo and behold!! i guess it has come about through me fixing some warnings or whatever that were than merged into the next file release after my fiddling, by cvs. I'll try to find the offending code tomorrow, so maybe I'll learn something. Thanks all the same!! Enjoy your weekend. jan. _________________________________________________________________ Meer ruimte nodig? Maak nu je eigen Space http://spaces.msn.nl/ From svenn at bjerkem.de Thu Sep 21 11:34:39 2006 From: svenn at bjerkem.de (Svenn Are Bjerkem) Date: Thu, 21 Sep 2006 20:34:39 +0200 Subject: [Xcircuit-dev] ASG standalone possible? Message-ID: <200609212034.39887.svenn@bjerkem.de> Hi, just wonder if it is possible to compile the ASG thing stand-alone. Wanted to play around a bit with the code to see what the schematics look like. -- Svenn From tim.edwards at multigig.com Fri Sep 22 17:47:44 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Fri, 22 Sep 2006 17:47:44 -0700 Subject: [Xcircuit-dev] XCircuit query In-Reply-To: <000a01c6dea6$ad6f7ca0$6800a8c0@reception> References: <000a01c6dea6$ad6f7ca0$6800a8c0@reception> Message-ID: <45148430.1020903@multigig.com> Dear Lew, > I downloaded and installed XCircuit onto a Windows XP machine. > The application works great - one problem: > How do I print a hard copy of the schematic I created? The output is PostScript, so any PostScript viewer will do. I'm pretty sure you can get a copy of GhostView for Windows. But chances are you can just send the output file straight to a printer, assuming that Windows has a printer filter to handle it. Be ready to hit the power switch on your printer in case it thinks it's getting plain text! ---Tim P.S.---This is a good question for the xcircuit-dev mailing list, so I'm CC'ing the email there. I'm sure you can get a simple answer on the best way to send PostScript to a printer under Windows from someone who uses Windows more than I do. +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From mariebaudot at mail.com Mon Sep 25 06:54:11 2006 From: mariebaudot at mail.com (marie baudot) Date: Mon, 25 Sep 2006 08:54:11 -0500 Subject: [Xcircuit-dev] xcircuit on Mac OS X10.4.7 crashes?? Message-ID: <20060925135412.17520164278@ws1-4.us4.outblaze.com> I just installed xcircuit on osX10.4.7 and it does not start. Could you tell me what's wrong? Command: Wish Shell Path: /usr/bin/../../System/Library/Frameworks/Tk.framework/Versions/8.4/Resources/Wish Shell.app/Contents/MacOS/Wish Shell Parent: sh [28359] Version: 8.4.7 a (8.4.7 a) Build Version: 301 Project Name: tcl Source Version: 200104 PID: 28361 Thread: 0 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_INVALID_ADDRESS (0x0001) at 0x20202eeb Thread 0 Crashed: 0 libX11.6.dylib 0x9b3e43ab XDefaultVisual + 21 1 libXpm.4.dylib 0x9b7a7ecd XpmCreateImageFromXpmImage + 132 2 libXpm.4.dylib 0x9b7a8686 XpmCreatePixmapFromXpmImage + 88 3 xcircuit.so 0x01706cff ImgXPMConfigureInstance + 341 (tkPixmap.c:321) GNU gdb 6.1-20040303 (Apple version gdb-437) (Fri Jan 13 18:45:48 GMT 2006) Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-apple-darwin"...Reading symbols for shared libraries ........... done (gdb) run Starting program: /opt/local/var/db/dports/software/xcircuit/3.4.24_0/opt/local/lib/xcircuit-3.4/xcircexec Reading symbols for shared libraries .................................................................... done Program received signal EXC_BAD_ACCESS, Could not access memory. Reason: KERN_INVALID_ADDRESS at address: 0x1410bf58 0x9ab7f7f4 in TclpFree () -- ___________________________________________________ Play 100s of games for FREE! http://games.mail.com From tim.edwards at multigig.com Mon Sep 25 07:20:14 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Mon, 25 Sep 2006 07:20:14 -0700 Subject: [Xcircuit-dev] xcircuit on Mac OS X10.4.7 crashes?? In-Reply-To: <20060925135412.17520164278@ws1-4.us4.outblaze.com> References: <20060925135412.17520164278@ws1-4.us4.outblaze.com> Message-ID: <4517E59E.2060809@multigig.com> Dear Marie, > I just installed xcircuit on osX10.4.7 and it does not start. > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_INVALID_ADDRESS (0x0001) at 0x20202eeb > > Thread 0 Crashed: > 0 libX11.6.dylib 0x9b3e43ab XDefaultVisual + 21 > 1 libXpm.4.dylib 0x9b7a7ecd XpmCreateImageFromXpmImage + 132 > 2 libXpm.4.dylib 0x9b7a8686 XpmCreatePixmapFromXpmImage + 88 > 3 xcircuit.so 0x01706cff ImgXPMConfigureInstance + 341 (tkPixmap.c:321) The quickest way to solve the problem is just to remove the dependency on the Xpm code. You can do this by editing lib/tcl/wrapper.tcl in the XCircuit source directory, and changing lines 1393-1397 from if {[string compare $tcl_platform(platform) "windows"] == 0} { image create photo img_${bname} -file ${XCIRCUIT_LIB_DIR}/pixmaps/${bname}.gif } else { image create xpm img_${bname} -file ${XCIRCUIT_LIB_DIR}/pixmaps/${bname}.xpm } to image create photo img_${bname} -file ${XCIRCUIT_LIB_DIR}/pixmaps/${bname}.gif (i.e., remove all but the second line.) That should solve the problem. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From tim.edwards at multigig.com Thu Sep 28 09:16:28 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Thu, 28 Sep 2006 09:16:28 -0700 Subject: [Xcircuit-dev] Xcircuit tkcon error In-Reply-To: <200609281029.LAA19048@physerv1.phyworks-ic.com> References: <200609281029.LAA19048@physerv1.phyworks-ic.com> Message-ID: <451BF55C.7060900@multigig.com> Dear Richard, > I?m getting the following error in tkcon 2.3 ? Ive tried the latest > build of xcircuit and version 3.3.38 > wrong # args: should be "regsub ?switches? exp string subSpec varName" > Main console display active (Tcl8.3.5 / Tk8.3.5) The syntax for "regsub" changed between Tcl version 8.3 and version 8.4. I suppose I should work through the code and change all the occurrances of the alternative syntax for "regsub", but it's easier to tell you to update your version of Tcl/Tk to 8.4. The problem is almost certainly occurring in XCircuit's Tcl code, not Tkcon, which is relatively old and would be unlikely to have any 8.4- specific syntax in it. Just with a cursory look, I can't find any instances of the alternative use of regsub, in which the "varName" cited in the error message is omitted, and the substitution is returned as a Tcl string result. I do have one comment in the CHANGES file, which is: 343 v3.4 rev 8 11/10/05 Changed an instance of "regsub" to make it backwardly compatible to Tcl version 8.3; otherwise, xcircuit fails to start up properly when linked to Tcl/Tk 8.3. so if your version of XCircuit predates 3.4.8, you will indeed get this error. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From alessandroruggeri at katamail.com Sat Sep 30 03:13:45 2006 From: alessandroruggeri at katamail.com (Alessandro Ruggeri) Date: Sat, 30 Sep 2006 12:13:45 +0200 Subject: [Xcircuit-dev] Quadparts library Message-ID: <1159611225.10339.5.camel@linux.site> In quadparts library I can see only one instance of each gate instead of four. I'v seen it in version 3.6.55 and 3.6.58 eather. I hope I'v been helpfull to you. Best regards Alessandro Ruggeri From tim.edwards at multigig.com Sun Oct 1 13:59:28 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Sun, 01 Oct 2006 13:59:28 -0700 Subject: [Xcircuit-dev] Quadparts library In-Reply-To: <1159611225.10339.5.camel@linux.site> References: <1159611225.10339.5.camel@linux.site> Message-ID: <45202C30.5060100@multigig.com> Dear Alessandro, > In quadparts library I can see only one instance of each gate instead of > four. > > I'v seen it in version 3.6.55 and 3.6.58 eather. Thanks for bringing that to my attention. I had failed to make the "libinst" keyword (which generates the other 3 views of each part) backwardly compatible after implementing technology namespaces. I just fixed the error in CVS, and it will be compiled into tonight's distribution tarball. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From kos.g at worldnet.att.net Sun Oct 22 16:44:55 2006 From: kos.g at worldnet.att.net (kos) Date: Sun, 22 Oct 2006 16:44:55 -0700 Subject: [Xcircuit-dev] XCircuit Bus Netlisting Bug Message-ID: <000301c6f634$1483c4b0$4000a8c0@ZEN> Greetings, I would like to report an XCircuit bug related to netlisting buses. Version: v3.6.58 to 3.6.61 (maybe earlier versions also?) Downloaded and compiled: Sun Oct 22 16:44:08 PDT 2006 Description: Reading the tutorial buses.ps file and netlisting the circuit generates a segmentation fault. System: Linux localhost.localdomain 2.6.9-42.0.3.ELsmp #1 SMP Mon Sep 25 17:28:02 EDT 2006 i686 i686 i386 GNU/Linux Best Regards --Kos Gitchev PS Tank you for a wonderful schematic capture tool. From tim.edwards at multigig.com Sun Oct 22 19:02:18 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Sun, 22 Oct 2006 19:02:18 -0700 Subject: [Xcircuit-dev] XCircuit Bus Netlisting Bug In-Reply-To: <000301c6f634$1483c4b0$4000a8c0@ZEN> References: <000301c6f634$1483c4b0$4000a8c0@ZEN> Message-ID: <453C22AA.2070304@multigig.com> Dear Kos, > I would like to report an XCircuit bug related to netlisting buses. Thanks for the bug report. I had an incorrect use of sizeof(). I have corrected the error in the CVS database, and the correction will be in the new tarball made (automatically) tonight. Meanwhile, you can correct the error by changing netlist.c line 4192 from: for (j = 0; j < sizeof(idxtype); j++) to: for (j = 0; j < 2; j++) +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From octoberallover at gmail.com Tue Nov 14 10:13:41 2006 From: octoberallover at gmail.com (Ryan Matlock) Date: Tue, 14 Nov 2006 10:13:41 -0800 Subject: [Xcircuit-dev] question about fink build (weird tcltk problem?) Message-ID: <4c150ac60611141013h4ac49284h2fb7ccb27f796b17@mail.gmail.com> Hello, For the past few days, I've unsuccessfully tried to install xcircuit onto my Mac OS X.4(power pc) computer. I've used "fink install xcircuit" to build it, but when I attempt to run it, I get the following error: Application initialization failed: no display name and no $DISPLAY environment variable Error in startup script: no display name and no $DISPLAY environment variable while executing "load /sw/lib/tk8.4/../libtk8.4.dylib Tk" ("package ifneeded" script) invoked from within "package require -exact Tk $tcl_version" invoked from within "if {$tcl_version < 8.0} { return -code error "tkcon requires at least Tcl/Tk8" } else { package require -exact Tk $tcl_version }" (file "/sw/lib/xcircuit- 3.4/tkcon.tcl" line 44) I really don't have much of an idea what it's trying to do with that, but I've made sure my Tcl/Tk is up-to-date. I just ran "fink reinstall tcltk" and it says I have version 8.4.1-12 installed. Anyway, earlier I tried just deleting the line, hoping that it was just some weird syntactical error or something, but then I got an error around line 60, and later on 138. As the tkcon.tcl file is so large, I really don't know how to go about fixing it. Any ideas, guys? Thank you very much. Sincerely, Ryan Matlock P.S. Also, if I sent this to the wrong place, do you know who I should contact/what forum I should query? From dab at froghouse.org Tue Nov 28 13:01:30 2006 From: dab at froghouse.org (David Bridgham) Date: Tue, 28 Nov 2006 16:01:30 -0500 Subject: [Xcircuit-dev] Alt_p and tcl Message-ID: <456CA3AA.2060900@froghouse.org> I don't know if this is really the right place to send questions like this but it's the only place I found. I picked up xcircuit-3.6.68 and was running through the tutorials over the weekend. I can't get Alt-p to work to add parameters to an object. I see from the source that Alt-P is disabled when tcl is enabled but the code doesn't link when tcl is turned off (and I get the idea that tcl is really expected to be turned on all the time with the current code). So what replaces the Alt-P functionality in the presence of tcl? Thanks, Dave From tim.edwards at multigig.com Tue Nov 28 14:00:46 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Tue, 28 Nov 2006 14:00:46 -0800 Subject: [Xcircuit-dev] Alt_p and tcl In-Reply-To: <456CA3AA.2060900@froghouse.org> References: <456CA3AA.2060900@froghouse.org> Message-ID: <456CB18E.40303@multigig.com> Dear Dave, > I picked up xcircuit-3.6.68 and was running through the tutorials over > the weekend. I can't get Alt-p to work to add parameters to an object. > I see from the source that Alt-P is disabled when tcl is enabled but the > code doesn't link when tcl is turned off (and I get the idea that tcl is > really expected to be turned on all the time with the current code). > > So what replaces the Alt-P functionality in the presence of tcl? First off, Tcl can't be "turned on" or "turned off". When XCircuit is compiled "with Tcl support", it's really being compiled as an extension of Tcl itself. It becomes inextricably tied to the Tcl interpreter. And yes, XCircuit without Tcl support is a operable but poorer version, missing a growing number of useful (even critical) features. Now, for your question: Alt-P has been replaced by the little red "p" icon button on the toolbar. If you click on that, you get a pop-up window listing all the available parameter keys and their values. If, for example, you are editing a label, click on the parameter name in the "Key" column, and the parameter value will get inserted into the label. If you want to change the parameter value, click on the parameter value in the "Value" column. This works a lot better than the original "Alt-P" method (followed by keyboard input). If you like the key binding, you can bring up the popup window with "Control-p". ---Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From nano.schultz at googlemail.com Tue Dec 12 10:10:53 2006 From: nano.schultz at googlemail.com (nano schultz) Date: Tue, 12 Dec 2006 19:10:53 +0100 Subject: [Xcircuit-dev] hidden files in xcircuit-3.6.73-1 Message-ID: hello there, I was wondering what are those hidden files are for ? - examples/.xcircuitrc - examples/.xcircuitrc.py how can I use them? however in .xcircuitrc.py: library("/usr/local/lib/xcircuit-3.1/musiclib") I think you should change the version number as well. regards, nano schultz From silvermaple at usermail.com Tue Dec 12 21:45:56 2006 From: silvermaple at usermail.com (Philip) Date: Tue, 12 Dec 2006 23:45:56 -0600 Subject: [Xcircuit-dev] hidden files in xcircuit-3.6.73-1 In-Reply-To: References: Message-ID: <20061212234556.5cab68e9.silvermaple@usermail.com> rumor has it that nano wrote: > hello there, > > I was wondering what are those hidden files are for ? > - examples/.xcircuitrc > - examples/.xcircuitrc.py > > how can I use them? Quoting from: http://www.opencircuitdesign.com/xcircuit/features.html#Configure If a configuration file named ".xcircuitrc" exists in the current working directory (first place searched) or the user's home directory (second place searched) or the xcircuit library directory (last place searched), it will be loaded on startup. The syntax of the .xcircuitrc file is the same as an executable xcircuit script or command-line entry, and is described in the section "The XCircuit Command Line". In other words, it's your personal config file. -- Philip From margamanterola at gmail.com Fri Dec 15 04:38:38 2006 From: margamanterola at gmail.com (Margarita Manterola) Date: Fri, 15 Dec 2006 09:38:38 -0300 Subject: [Xcircuit-dev] asg is not free ! Message-ID: Hi! xcircuit was removed from Debian a while ago, because it was unmaintained and had accumulated a number of bugs. I intend to package it and upload it to Debian soon. But while analysing the code and the different licences of the different parts, I discovered that the code used for Automatic Schematic Generation is not totally free: it only allows non-commercial use. I'm not totally sure, but I fear this might be incompatible with the GPL licence of the rest of the code. Is there no other asg code that is really free? The most probable thing that I'll do is upload xcircuit without that code, but I think it would be better to find a replacement, so that the whole xcircuit is really free. -- Besos, Marga From tim.edwards at multigig.com Fri Dec 15 09:39:06 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Fri, 15 Dec 2006 09:39:06 -0800 Subject: [Xcircuit-dev] asg is not free ! In-Reply-To: References: Message-ID: <4582DDBA.1010406@multigig.com> Dear Marga, > xcircuit was removed from Debian a while ago, because it was > unmaintained and had accumulated a number of bugs. > > I intend to package it and upload it to Debian soon. But while > analysing the code and the different licences of the different parts, > I discovered that the code used for Automatic Schematic Generation is > not totally free: it only allows non-commercial use. > > I'm not totally sure, but I fear this might be incompatible with the > GPL licence of the rest of the code. Is there no other asg code that > is really free? > > The most probable thing that I'll do is upload xcircuit without that > code, but I think it would be better to find a replacement, so that > the whole xcircuit is really free. The ASG code doesn't really work and never really has worked. I ripped it out of the 3.4 ("stable") distribution, so that's not a problem. Version 3.6 is now probably even more stable than 3.4. Maybe it's time to declare 3.6 stable (and remove the ASG package from it)? Either way, if you do upload xcircuit and remove the asg directory, you'll be doing exactly the same thing as I'll be doing when I declare version 3.6 to be stable. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From margamanterola at gmail.com Fri Dec 15 10:38:24 2006 From: margamanterola at gmail.com (Margarita Manterola) Date: Fri, 15 Dec 2006 15:38:24 -0300 Subject: [Xcircuit-dev] asg is not free ! In-Reply-To: <4582DDBA.1010406@multigig.com> References: <4582DDBA.1010406@multigig.com> Message-ID: Hi Timothy! On 12/15/06, R. Timothy Edwards wrote: > > The most probable thing that I'll do is upload xcircuit without that > > code, but I think it would be better to find a replacement, so that > > the whole xcircuit is really free. > > The ASG code doesn't really work and never really has worked. I ripped > it out of the 3.4 ("stable") distribution, so that's not a problem. Ok, good. I was quite worried about the GPL-violation thing. > Version 3.6 is now probably even more stable than 3.4. Maybe it's time > to declare 3.6 stable (and remove the ASG package from it)? I don't know enough about xcircuit to have an opinion on this, but I'm planning on uploading 3.6, as it has been really stable in all my tests. > if you do upload xcircuit and remove the asg directory, you'll be doing > exactly the same thing as I'll be doing when I declare version 3.6 to > be stable. Ok. Then I'll do that. Thanks for the reply. -- Besos, Marga From silvermaple at usermail.com Fri Dec 15 16:26:27 2006 From: silvermaple at usermail.com (Philip) Date: Fri, 15 Dec 2006 18:26:27 -0600 Subject: [Xcircuit-dev] Sequencing lables Message-ID: <20061215182627.196f0591.silvermaple@usermail.com> I'm thinking it could be helpful (for me, anyway) if I could figure out a way to have an object lable sequence on the drawing for me. Here's an example. I'm drawing a board that has 100 LEDs on it. Rather than having to edit the text 99 time, I would like to create a label for the LED, then each time I copy it the number sequences. I've been poking around the paramaters, info lables, etc - but what I'm finding seems to apply to SPICE output only. So, is it possible but I'm missing something, or is it not a practical endevor? -- Philip From tim.edwards at multigig.com Fri Dec 15 16:49:22 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Fri, 15 Dec 2006 16:49:22 -0800 Subject: [Xcircuit-dev] Sequencing lables In-Reply-To: <20061215182627.196f0591.silvermaple@usermail.com> References: <20061215182627.196f0591.silvermaple@usermail.com> Message-ID: <45834292.4010809@multigig.com> Dear Philip, > I'm thinking it could be helpful (for me, anyway) if I could figure > out a way to have an object label sequence on the drawing for me. > > Here's an example. > > I'm drawing a board that has 100 LEDs on it. Rather than having to > edit the text 99 times, I would like to create a label for the LED, > then each time I copy it the number sequences. > > I've been poking around the paramaters, info lables, etc - but what > I'm finding seems to apply to SPICE output only. > > So, is it possible but I'm missing something, or is it not a practical > endeavor? I put that into xcircuit version 3.6, but it's a Tcl script, so it only works with the Tcl version of XCircuit. If you have selected a label (either by selecting it or by dragging around a copy) that has a number in it, and you type "i", the number will increment. If you type "I", the number will decrement. Although this requires one more keystroke per copy, it's more flexible since you can either increment or decrement, or increment multiple times. You can even copy a whole column of labels, say, 1 through 50, select the 50 copies, then type "xcircuit::autoincr 50" on the console command line, and it will add 50 to each of the labels. Another helpful thing I added recently is copy-and-paste. You can copy anything from another terminal into the select buffer and paste it into an XCircuit label. You might find that useful, too. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From silvermaple at usermail.com Fri Dec 15 21:53:47 2006 From: silvermaple at usermail.com (Philip) Date: Fri, 15 Dec 2006 23:53:47 -0600 Subject: [Xcircuit-dev] Sequencing lables In-Reply-To: <45834292.4010809@multigig.com> References: <20061215182627.196f0591.silvermaple@usermail.com> <45834292.4010809@multigig.com> Message-ID: <20061215235347.4717c381.silvermaple@usermail.com> rumor has it that R. wrote: > > I'm thinking it could be helpful (for me, anyway) if I could > > figure out a way to have an object label sequence on the drawing > > for me. > > > > So, is it possible but I'm missing something, or is it not a > > practical endeavor? > > I put that into xcircuit version 3.6, but it's a Tcl script, so it > only works with the Tcl version of XCircuit. If you have selected a > label (either by selecting it or by dragging around a copy) that has > a number in it, and you type "i", the number will increment. If you > type "I", the number will decrement. Although this requires one > more keystroke per copy, it's more flexible since you can either > increment or decrement, or increment multiple times. You can even > copy a whole column of labels, say, 1 through 50, select the 50 > copies, then type "xcircuit::autoincr 50" on the console command > line, and it will add 50 to each of the labels. Sweet!! But it looses my preceding zero - that is, "07" increments to "8". > Another helpful thing I added recently is copy-and-paste. You can > copy anything from another terminal into the select buffer and paste > it into an XCircuit label. You might find that useful, too. Ahh, that has been a shortcoming that I was easy to live with because of all the other things XCircuit does so much better than anything else... It will be easy to get used to having it! -- Philip From silvermaple at usermail.com Sun Dec 17 16:20:24 2006 From: silvermaple at usermail.com (Philip) Date: Sun, 17 Dec 2006 18:20:24 -0600 Subject: [Xcircuit-dev] hidden files in xcircuit-3.6.73-1 In-Reply-To: References: <20061212234556.5cab68e9.silvermaple@usermail.com> Message-ID: <20061217182024.3f7394ce.silvermaple@usermail.com> rumor has it that nano wrote: > Hello, > > I think you completely misunderstood my question Could be... > Im not talking about .xcircuit found in the home directory by in the > examples/ directory of xcircuit package. And that what's inside > doesn't make sens with respect to the version number. The one is the examples directory is just that - an example. If you were to copy the content of that file to ~/.xcircuitrc then those things would be your default settings. The version number mismatch may just be an oversite on the part of the developer. *smile* -- Philip From tim.edwards at multigig.com Sun Dec 17 21:14:24 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Sun, 17 Dec 2006 21:14:24 -0800 Subject: [Xcircuit-dev] hidden files in xcircuit-3.6.73-1 In-Reply-To: <20061217182024.3f7394ce.silvermaple@usermail.com> References: <20061212234556.5cab68e9.silvermaple@usermail.com> <20061217182024.3f7394ce.silvermaple@usermail.com> Message-ID: <458623B0.3050309@multigig.com> >> I'm not talking about .xcircuit found in the home directory by in the >> examples/ directory of xcircuit package. And that what's inside >> doesn't make sense with respect to the version number. > The version number mismatch may just be an oversight on the part of the > developer. *smile* Oversights happen. And they get fixed when somebody points them out to me. ---Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From silvermaple at usermail.com Tue Dec 19 02:05:16 2006 From: silvermaple at usermail.com (Philip) Date: Tue, 19 Dec 2006 04:05:16 -0600 Subject: [Xcircuit-dev] Fw: [Fwd: xcircuit-3.6.73 and Fedora core 6 = crashes] Message-ID: <20061219040516.78ac7ee3.silvermaple@usermail.com> I received this message _not_ through this listserver. I did respond directly to the author and gave him the url for opencircuitdesign.com. But since I can't actually help him any with the problem, I said I would also forward it to the list - so here it is... - Philip ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Begin forwarded message: Date: Mon, 18 Dec 2006 22:03:58 +0100 From: Chitlesh GOORAH Subject: xcircuit-3.6.73 and Fedora core 6 = crashes The message's content type was not explicitly allowed Subject: xcircuit-3.6.73 and Fedora core 6 = crashes From: Chitlesh GOORAH To: xcircuit-dev at opencircuitdesign.com Hello there, I'm the packager of xcircuit for Fedora Extras. I'm testing your latest development release xcircuit-3.6.73 However, when I launch it, choose a capacitor and use the hand tool to move it elsewhere, xcircuit crashes. Below will give you more details, however, I'm ready to provide as much info as possible. Do you have a mailing list so that I can subscribe to ? Chitlesh GOORAH chitlesh(~)[0]$gdb wish GNU gdb Red Hat Linux (6.5-15.fc6rh) Copyright (C) 2006 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-redhat-linux-gnu"...(no debugging symbols found) Using host libthread_db library "/lib/libthread_db.so.1". (gdb) attach 5427 Attaching to program: /usr/bin/wish, process 5427 Reading symbols from /usr/lib/libtk8.4.so...(no debugging symbols found)...done. Loaded symbols for /usr/lib/libtk8.4.so Reading symbols from /usr/lib/libtcl8.4.so...(no debugging symbols found)...done. Loaded symbols for /usr/lib/libtcl8.4.so Reading symbols from /lib/libpthread.so.0...(no debugging symbols found)...done. [Thread debugging using libthread_db enabled] [New Thread -1208297792 (LWP 5427)] [New Thread -1208300656 (LWP 5428)] Loaded symbols for /lib/libpthread.so.0 Reading symbols from /usr/lib/libX11.so.6...(no debugging symbols found)...done. Loaded symbols for /usr/lib/libX11.so.6 Reading symbols from /lib/libdl.so.2... (no debugging symbols found)...done. Loaded symbols for /lib/libdl.so.2 Reading symbols from /lib/libm.so.6...(no debugging symbols found)...done. Loaded symbols for /lib/libm.so.6 Reading symbols from /lib/libc.so.6...(no debugging symbols found)...done. Loaded symbols for /lib/libc.so.6 Reading symbols from /lib/ld-linux.so.2...(no debugging symbols found)...done. Loaded symbols for /lib/ld-linux.so.2 Reading symbols from /usr/lib/libXau.so.6... (no debugging symbols found)...done. Loaded symbols for /usr/lib/libXau.so.6 Reading symbols from /usr/lib/libXdmcp.so.6...(no debugging symbols found)...done. Loaded symbols for /usr/lib/libXdmcp.so.6 Reading symbols from /usr/lib/libXcursor.so.1...(no debugging symbols found)...done. Loaded symbols for /usr/lib/libXcursor.so.1 Reading symbols from /usr/lib/libXrender.so.1...(no debugging symbols found)...done. Loaded symbols for /usr/lib/libXrender.so.1 Reading symbols from /usr/lib/libXfixes.so.3... (no debugging symbols found)...done. Loaded symbols for /usr/lib/libXfixes.so.3 Reading symbols from /usr/lib/xcircuit-3.6/xcircuit.so...Reading symbols from /usr/lib/debug/usr/lib/xcircuit-3.6/xcircuit.so.debug...done. done. Loaded symbols for /usr/lib/xcircuit-3.6/xcircuit.so Reading symbols from /usr/lib/libz.so.1...done. Loaded symbols for /usr/lib/libz.so.1 Reading symbols from /usr/lib/libXt.so.6...done. Loaded symbols for /usr/lib/libXt.so.6 Reading symbols from /usr/lib/libSM.so.6...done. Loaded symbols for /usr/lib/libSM.so.6 Reading symbols from /usr/lib/libICE.so.6...done. Loaded symbols for /usr/lib/libICE.so.6 Reading symbols from /usr/lib/libXpm.so.4...done. Loaded symbols for /usr/lib/libXpm.so.4 0x00eca402 in __kernel_vsyscall () (gdb) continue Continuing. Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1208297792 (LWP 5427)] ULength (drawlabel=0x9a59750, localinst=0x982f4b0, newscale=0, dostop=0, tbreak=0x0) at text.c:1763 1763 chptr = (*(somebet + *textptr)); -- http://www.fedoraproject.org/wiki/ChitleshGoorah http://clunixchit.blogspot.com From wim.vereecken at esat.kuleuven.be Fri Dec 29 14:57:38 2006 From: wim.vereecken at esat.kuleuven.be (Wim Vereecken) Date: Fri, 29 Dec 2006 23:57:38 +0100 Subject: [Xcircuit-dev] hidden files in xcircuit-3.6.73-1 In-Reply-To: <458623B0.3050309@multigig.com> References: <20061217182024.3f7394ce.silvermaple@usermail.com> <458623B0.3050309@multigig.com> Message-ID: <200612292357.38398.wim.vereecken@esat.kuleuven.be> Hi all, First of all, I would like to thank Tim for his effort into developing the XCircuit masterpiece. Now to the point: Since some time ago, a perl script is hanging around in our department that converts a matlab plot (.eps) to XCircuit's native eps format. This allows to use XCircuit to edit the font of the legend, change the line width of the axes, etc... Detailed info and installation instructions can be found at: http://www.esat.kuleuven.be/~wvereeck/matgen/matgen.html The script is still in a _very_ experimental stage, and was tested on Matlab version 7.3.0.298 (R2006b) A happy New Year, Wim -- Wim Vereecken Research assistant K.U.Leuven, Dept. ESAT-MICAS Kasteelpark Arenberg 10 B-3001 Leuven Belgium Tel. +32 16 321070 FAX +32 16 321975 Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm From tim.edwards at multigig.com Fri Dec 29 17:49:27 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Fri, 29 Dec 2006 20:49:27 -0500 Subject: [Xcircuit-dev] hidden files in xcircuit-3.6.73-1 In-Reply-To: <200612292357.38398.wim.vereecken@esat.kuleuven.be> References: <20061217182024.3f7394ce.silvermaple@usermail.com> <458623B0.3050309@multigig.com> <200612292357.38398.wim.vereecken@esat.kuleuven.be> Message-ID: <4595C5A7.2040909@multigig.com> Dear Wim, > Since some time ago, a perl script is hanging around in our > department that converts a matlab plot (.eps) to XCircuit's native eps > format. This allows to use XCircuit to edit the font of the legend, change > the line width of the axes, etc... I would like to point out one problem that may need to be addressed (I haven't yet looked at the Perl code in detail). Matlab will write array data as generated, which may contain thousands of points. XCircuit will handle this with no problem, since it just allocates memory as necessary for any element. Ghostscript, likewise, should have no problem with it. Specific PostScript printers, though, (and this is according to the PostScript manual) may have a limited stack depth and may generate an error if a polygon is too large. I haven't ever encountered this limit on a printer, and would be interested to know if anyone has. Maybe all printer implementations of PostScript are designed to handle arbitrarily deep data stacks. Thanks for posting the link to the web page. Can I make a link to it from the XCircuit web page? ---Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+