Saturday, December 19, 2009

v8.70.0153 - 2009-12-19 20:08

BETA versions are now only available for registered users.
Find the download link at the bottom of the License Lounge.

  • + Scripting got a new function.
      Name:   isunicode
      Action: Analyzes a text string for the presence of wide characters.
      Syntax: isunicode(string, [mindcodepage])
        string: [required] string (any length) to analyze.
        mindcodepage: [optional]
          1 = do not count wide characters that
              have a narrow pendant in the current codepage.
        return:
          true = wide characters contained
      Examples:
        echo isunicode("abc"); //False
        echo isunicode("abc", 1); //False
        echo isunicode(chr(20000)); //True
        echo isunicode(chr(20000), 1); //True
        echo isunicode("€"); //True (U+20AC EURO SIGN)
        echo isunicode("€", 1); //False! e.g. on 1252 Western codepage,
            where the Euro sign is mapped to 0x80
      Also these refer to the Euro sign:
        echo isunicode(chr(8364), 0); //True
        echo isunicode(chr(8364), 1); //False on 1252 Western codepage
  • + Scripting got a new function.
      Name:   filetype
      Action: Analyzes a file by its contents.
      Syntax: filetype(file)
        file:   [required] full path/file name to analyze.
        return:
          Ascii   It's an ASCII text file.
          Unicode It's a UNICODE text file (has UTF-16 BOM).
          Binary  It's a binary file.
          Empty   It's an empty file.
          Cannot  Cannot open file.
          Nofile  It's not an existing file.
      Example:
        echo filetype(<curitem>);
  • ! On a Rename Special a locked tree was refreshed and changed when it was neither necessary nor correct. Fixed.
  • ! Raw View misinterpreted UTF-16 files as binary files when they contained a certain ambiguous byte pattern (a double null across double byte borders). Fixed.
  • ! SC report: Fields {tag} and {comment} did not return anything when neither the Tag nor the Comment column were visible in the list. Fixed.
    Note that "Show tags and comments in file list" must be enabled in Configuration | Tags, else SC report will not return any tags or comments.
  • ! SC break: Would not jump to the expected line when the broken structure was surrounded by an if-block, for example:
      if (1) {
        while (1) {
          break;
        }
        msg 'foo'; // never gets executed
      }
    Fixed.