delorie.com/archives/browse.cgi | search |
X-Authentication-Warning: | delorie.com: mail set sender to geda-user-bounces using -f |
X-Recipient: | geda-user AT delorie DOT com |
X-Original-DKIM-Signature: | v=1; a=rsa-sha256; c=relaxed/relaxed; d=prochac.sk; |
s=default; t=1452813601; | |
bh=NWyZekXgAkdv6lds//AedZ2VTKdooV661sIdJaqDVWE=; | |
h=Subject:To:References:From:Date:In-Reply-To; | |
b=U4OML88M64KlH8Y3SGYyvE0fhoGu25ID9G8dHjphmsecdY/l2nuvucV972nvkaPPS | |
EU3qwyhHJFckKmm/o4qsgjDRo/ueG3djDHQjlSaVEiqPunNXGuP3A6J8fRJQpfi1Ig | |
cdq9WzKm+wKXEkbWo5LTE7K+Z1klsvniEm31JLqs= | |
X-Clacks-Overhead: | "GNU Terry Pratchett" |
Subject: | Re: [geda-user] pcb behavior when invoked on invlalid file needs to |
change | |
To: | geda-user AT delorie DOT com |
References: | <CAC4O8c9J6LaRRmNNcV2jJKYV5J430gcB_=wQ5dRMXxc+1xe5JQ AT mail DOT gmail DOT com> |
From: | "Milan Prochac (milan AT prochac DOT sk) [via geda-user AT delorie DOT com]" <geda-user AT delorie DOT com> |
Message-ID: | <56982D6C.9040009@prochac.sk> |
Date: | Fri, 15 Jan 2016 00:21:16 +0100 |
User-Agent: | Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 |
Thunderbird/38.5.0 | |
MIME-Version: | 1.0 |
In-Reply-To: | <CAC4O8c9J6LaRRmNNcV2jJKYV5J430gcB_=wQ5dRMXxc+1xe5JQ@mail.gmail.com> |
X-Spam-Status: | No, score=-101.0 required=5.0 tests=ALL_TRUSTED, |
USER_IN_WHITELIST autolearn=ham autolearn_force=no version=3.4.0 | |
X-Spam-Checker-Version: | SpamAssassin 3.4.0 (2014-02-07) on angua.bastl.sk |
Reply-To: | geda-user AT delorie DOT com |
Errors-To: | nobody AT delorie DOT com |
X-Mailing-List: | geda-user AT delorie DOT com |
X-Unsubscribes-To: | listserv AT delorie DOT com |
On 14. 1. 2016 21:28, Britton Kerin (britton DOT kerin AT gmail DOT com) [via geda-user AT delorie DOT com] wrote: > > If you do e.g. > > pcb not_a_pcb_file.sch > > pcb will put a parse error message in the log for you (which you may > not even be viewing) and start editing a new blank pcb with the given > file name remembered. > > If you then do File->Save it will silently overwrite > not_a_pcb_file.sch with an empty pcb file. > It seems that it is by intention. There is comment in source files: /* keep filename even if initial load command failed; * file might not exist */ The reason of failure is not provided/checked. I guess that if file exists and load fails for file specified in command line, PCB should exit immediately. The fix should be simple: check if file exists; if so, try to load it and exit with error status if it fails; if file does not exist, remember the fielname and continue with empty pcb. No more than 5 lines. I will log the fix on LP later > I got as far as fixing the file format plugin to replicate this > behavior before I stepped back and realized how insane it is. > Something must change. Here are the options I can see: > How is the issue related to format plugins? Milan > 1. Make the parse error message much more noticeable (e.g. a > pop-up) and have it include a warning about the destructiveness of any > subsequent File->Save. Easiest option. Wouldn't risk messing up > batch mode pcb that depends on current behavior > > 2. Make pcb do what it does after > File->Open(not_a_pcb_file.sch): don't remember the file name if the > file doesn't load right (then Save will do Save As). Consistency with > File->Open is good. Inconsistent with traditional unix command line > behavior where mentioned files get silently nuked is slightly bad, but > how many users really use deliberately use pcb to clobber non-pcb files? > > 3. Both the above (without the destructiveness warning since > that wouldn't apply). > > I favor the third option. A log message is not enough for this sort > of situation. Option 2 seems ok but its still a great way to confuse > the user to show a blank file without explanation of why it isn't what > they wanted to edit, when you can easily help them out in this case. > However I've never used batch mode pcb so don't know for sure how this > might impact it. > > Informative opinions welcome. > > Britton >
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |