# Perforce Public Depot Jobs # # Job: The job name. 'new' generates a sequenced job number. # Status: Job status; [open/closed/suspended]. Required # Project: The project this job is for [none/cdsp4/jam/p4hl] Optional. # Severity: [A/B/C] (A is highest) Required. # ReportedBy The user who created the job. Can be changed. # ReportedDate: The date the job was created. Automatic. # ModifiedBy: The user who last modified this job. Automatic. # ModifiedDate: The date this job was last modified. Automatic. # OwnedBy: The owner, responsible for doing the job. Optional. # Description: Description of the job. Required. # DevNotes: Developer's comments. Optional. Job: job000019 Status: closed Project: jam Severity: B ReportedBy: ghost@cs.msu.su ReportedDate: 2002/03/23 09:50:00 ModifiedBy: shawn_hladky ModifiedDate: 2008/04/13 13:00:54 Description: if ( "" a b ) returns false; was true in 2.3 | From: Vladimir Prus | To: jamming@perforce.com, jamboost@yahoogroups.com | Date: Fri, 22 Mar 2002 12:58:50 +0300 | Subject: [jamming] "if" behaviour change from 2.3 to 2.4 | | | Hi, | the following code: | | l = "" a b ; | | if $(l) { | ECHO "Okay" ; | } | | Behaves differently in 2.3 and the most most recent version from the public | depot. Should this be considered a bug? | | The problem is in compile.c: | LIST * | compile_eval( | PARSE *parse, | LOL *args ) | { | ........................... | switch( parse->num ) | { | case EXPR_EXISTS: | if( ll && ll->string[0] ) status = 1; | ^^^^^^^^ here's the problem | should check all the elements of the list. | It appears to be trivial to fix. | | - Volodya |