Commit Graph

121 Commits

Author SHA1 Message Date
Przemyslaw Czerpak
a44e171cc2 2012-05-16 19:23 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/src/vm/classes.c
    % small optimization in __CLSGetProperties() function

  * harbour/src/rtl/tpersist.prg
    ! force linkin ARRAY() function when HBPersistent class is used
    ! use hb_ValToExp() instead of local ValToText() function which
      didn't work correctly for memos and some other types
    ! fixed infinite loop in HBPersistent:LoadFromText() used with
      empty text. The problem was also exploited by :LoadFromFile()
      method if file does not exists or it's empty()
    ! fixed deserialization of strings containing "=" char inside
    ! fixed deserialization of strings containing "::"
    ! added support for decoding nested objects - the code was not
      finished and this part was not implemented at all
    + added support for serialized text using ":=" assign operator
      instead of "="
    * use ":=" instead of "=" as assign operator in new serialized
      text
    + ignore lines starting with "//" and added support for files
      which do not start with OBJECT directive
    * ignore pointer and codeblock items stored in instance variables
      during serialization
    ; now HBPersistent class in Harbour should read serialized files
      created in xHarbour with few exceptions:
         - Harbour does not allow to serialize codeblocks
           See "CODEBLOCK SERIALIZATION / DESERIALIZATION" in
           doc/xhb-diff.txt for the reasons.
           If Harbour application restores xHarbour HBPersistent files
           with serialized codeblocks then RTE
               Undefined function: HB_RESTOREBLOCK
           is generated.
         - xHarbour serialize pointer items as numeric items
           saved in hexadecimal notation. Then restore them as numbers.
         - HBPersistent does not support hash arrays - they are
           serialized by default serialization code used by both
           compilers to generate expressions.
           In Harbour it's done by hb_valToExp() function and
           in xHarbour it's ValToPrg() is used.
           ValToPrg() does not create valid macrocompiler expressions
           for arrays and objects so HBPersistent files created
           by xHarbour are broken and cannot be correctly deserialized.
           It happens if objects has hash arrays in instance variables
           and these hash arrays contain normal arrays or object
           If Harbour application restores such xHarbour HBPersistent
           file then RTE "Syntax error: &" is generated.
    ; xHarbour encapsulates deserialization code inside TRY/CATCH/END
      statement saving errors to trace.log file. Harbour generates RTE.
      If programmer needs similar behavior then he should
      call :LoadFromText() and :LoadFromFile() methods inside
      BEGIN SEQUENCE [ / RECOVER ... ] / END SEQUENCE
      statement.
    ; xHarbour reinitialize all or properties instance variables to
      default state inside :LoadFromText() and :LoadFromFile() methods.
      The 3-rd parameter in above method <lPropertiesOnly> allows to
      chose which install variables should be reinitialized:
      all (default) or properties only.
      Harbour does not have such functionality.
      If programmer needs it then he should reinitialize them himself.
      It can be easy done be simple function.
      Alternatively we can implement this functionality but in such
      case I'd suggest to define three actions for such switch:
         none (default), all, properties only.
    ; Harbour does not support 2-nd parameter <lIgnoreBadIVars> which
      exist in xHarbour versions of HBPersistent:LoadFromText() and
      HBPersistent:LoadFromFile():
      If necessary we can implement it though it's usable only if we
      want to ignore some wrong lines and process others.
    ; Warning: Neither Harbour nor xHarbour supports arrays and objects
               with cyclic references in HBPersistent code - infinite
               loop appears in such case.
    ; I've never used HBPersistent and the state of the previous
      HBPersistent code in Harbour suggests that no one used it for
      some serious jobs so I'm open for any opinions and suggestions
      about it from xHarbour users.

  * harbour/src/compiler/harbour.y
    * generate line numbers before extended codeblocks - it gives
      more debugger friendly code.

  * harbour/src/compiler/harbour.yyh
  * harbour/src/compiler/harbour.yyc
    * regenerated (with bison 2.4.1)
2012-05-16 17:23:20 +00:00
Przemyslaw Czerpak
93d3a46d84 2012-04-20 17:52 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/include/hbdefs.h
    * moved HB_WCHAR definition from hbapicdp.h to hbdefs.h

  * harbour/include/hbapicdp.h
  * harbour/include/hbcdpreg.h
  * harbour/src/rtl/cdpapi.c
  * harbour/src/rtl/cdpapihb.c
    + added support for custom sorting redirected from HVM
    + added support for custom character indexes in strings
    + added support for custom character flags (upper, lower, alpha, digit)
    + added support for custom upper/lower conversions
    + added support for CPs using unicode character values instead of
      ASCII ones
    + added new CP functions which respects custom CP settings:
        hb_cdpUpperWC(), hb_cdpTextLen(), hb_cdpTextPos(),
        hb_cdpTextPosEx(), hb_cdpTextGetU16(), hb_cdpTextPutU16(),
        hb_cdpCharEq(), hb_cdpCharCaseEq()
    + added new conversion functions:
        hb_cdpGetUC(), hb_cdpGetWC(), hb_cdpGetU16Ctrl()
    + added macros to detect codepage parameters:
         HB_CDP_ISBINSORT() - codepage uses simple binary sorting
         HB_CDP_ISCUSTOM()  - codepage uses custom string decoding
         HB_CDP_ISCHARIDX() - codepage use character indexes instead
                              of bytes ones
         HB_CDP_ISCHARUNI() - CHR(), ASC() and similar functions operates
                              on Unicode values instead of bytes
         HB_CDP_ISUTF8()    - codepage uses UTF-8 encoding

  * harbour/include/inkey.ch
    - removed HB_INKEY_EXTENDED - it was not used in Harbour
    + added new flag HB_INKEY_EXT - it allows to used different
      event encoding system with automatic translation to
      standard Clipper values. It will be used in the future
      as base for low level GTs code. Now it's possible to
      selectively switch to the new system. New codes are
      unique and do not interacts with Clipper.
    + added HB_INKEY_ALL macro - it's similar to INKEY_ALL but
      enables also GTEVENT keys.

  * harbour/include/hbgtcore.h
  * harbour/src/rtl/hbgtcore.c
    * changed character values in internal screen buffer to unicode.
      Warning: this modification interacts with SAVESCREE()/RESTSCREEN()
               data. Now all GTs uses extended definition. If somene
               has code which needs VGA like screen buffers returned
               by SAVESCREE() then it can be forced by
                  hb_gtInfo( HB_GTI_COMPATBUFFER, .t. )
               Anyhow it will for to use only one CP in output.
    + added new GT methods which operated on HB_WCHAR values
    * modified existing methods using HB_WCHAR/HB_USHORT parameters
      to operate on HB_WCHAR values
    + added codepage conversion code directly to core code so it can
      be eliminated from low level GT drivers which do not need some
      special operations on it.
    + added support for extended inkey codes, they allow to encoded
      unicode values, mouse events with flags, keyboard events with
      modifier flags (shift,alt,ctrl,...), etc.
      Now in low level GT code only unicode key values are used but
      I plan to updated all GTs and switch to new code - it should
      resolve many small problems inheriting with Clipper inkey codes.

  * harbour/include/hbapifs.h
    * moved hb_fsNameConvU16() definition from hbapicdp.h to hbapifs.h

  * harbour/include/hbxvm.h
    - removed comment copied by mistake from GT header file

  * harbour/include/hbwinuni.h
    * changed HB_CHARDUP() and HB_CHARDUPN() macros - now they
      operate on functions which can be used without active HVM.
      In such case ANSI CP is used as source encoding.
    + added new macros: HB_OSSTRDUP() and HB_OSSTRDUP2().
      They make conversions from OS encoding to HVM one.
      They can be used without active HVM and in such case ANSI CP
      is used as destination encoding.

  * harbour/include/hbapi.h
  * harbour/src/vm/cmdarg.c
    + added new function hb_cmdargProgName()
      It returns application name with path or NULL if not set,
      caller must free returned value with hb_xfree() if not NULL.
      The string is in HVM encoding so it does not need any additional
      encodings.
    * modified hb_cmdargString() to return strings in HVM encoding.
    % some small code optimizations
    ; NOTE: parameters passed to MS-WINDOWS GUI programs which use
            WinMain() instead of main() as startup entry are translated
            to ANSICP before they can be accessed by application.
            This can be eliminated though not for console programs
            using where C compiler makes such translation to main()
            parameters.
            in all systems parameters are passed to application
            startup and init functions before programmer can set OS CP.
            This can be resolved by adding:
               INIT PROC CLIPINIT()
                  SET( _SET_CODEPAGE, <userCP> )
                  SET( _SET_OSCODEPAGE, <systemCP> )
               RETURN
            to linked code. INIT procedures called CLIPINIT() are
            executed before any other ones.

  * harbour/include/hbapi.h
  * harbour/src/vm/set.c
    + added new functions for CP converisons which can be used with
      and without active HVM:
         hb_osStrEncode(), hb_osStrEncodeN(),
         hb_osStrDecode(), hb_osStrDecode2(),
         hb_osStrU16Encode(), hb_osStrU16EncodeN(),
         hb_osStrU16Decode(), hb_osStrU16Decode2(),

  * harbour/include/hbvm.h
  * harbour/src/vm/hvm.c
    + added new function hb_vmIsReady() - it's similar to hb_vmActive()
      but it also checks if current thread has active HVM stack.
    * moved hb_cdpReleaseAll() to the end of HVM cleanup code so
      CP conversions are longer active.

  * harbour/include/hbcomp.h
  * harbour/src/compiler/cmdcheck.c
  * harbour/src/compiler/hbusage.c
  * harbour/src/common/expropt2.c
    + added new compiler switch:
         -ku  - strings in user encoding
      Now it informs compiler that strings use custom encoding so some
      optimizations which are byte oriented cannot be used.
      It's possible that in the future we will change above definition
      to sth like: "strings in UTF8 encoding" but now I would like to
      keep more general.

  * harbour/src/vm/macro.c
    * inform macrocompiler about custom CPs using own character indexes
      to disable byte oriented optimizations.

  * harbour/include/hbapigt.h
  * harbour/src/rtl/gtapi.c
  * harbour/src/rtl/inkeyapi.c
    + added HB_B_*_W macros with unicode box character definitions
    + added HB_MBUTTON_* macros
    + added new GT functions: hb_gtHostCP() and hb_gtBoxCP() which
      allows to extract CPs used in translations by GTs.
    + added new function hb_inkeyKeyString() - it converts inkey value
      to corresponding string
    + added new function hb_inkeyKeyStd() - it converts new extended
      key value to standard Clipper one.

  * harbour/include/hbapifs.h
  * harbour/src/common/hbffind.c
    * moved OS codepage translations fully to hb_fsFind*() functions.
      It fixes few problems which existed before, i.e. double CP
      conversions in MS-Windows builds and simplifies upper level code.

  * harbour/src/pp/hbpp.c
  * harbour/src/rtl/direct.c
  * harbour/src/rtl/fssize.c
  * harbour/src/rtl/file.c
  * harbour/contrib/hbct/files.c
    * eliminated not longer necessary CP conversions in code calling
      hb_fsFind*() functions.

  * harbour/src/common/hbgete.c
    * moved OS codepage translations to hb_getenv(), hb_getenv_buffer()
      and hb_setenv() functions. It fixes few problems which existed
      before, i.e. double CP conversions in MS-Windows builds and
      simplifies upper level code.

  * harbour/src/rtl/net.c
  * harbour/src/rtl/gete.c
    * eliminated not longer necessary CP conversions in code calling
      hb_getenv()/hb_setenv() functions.
    ; NOTE: additional parameters in HB_GETENV() and HB_SETENV() which
            disabled CP conversions are not longer supported.
            They were strictly platform dependent and ignored in chosen
            cases (i.e. in MS-Windows UNICODE builds we always have to
            convert strings transferred between HVM and OS. If someone
            needs old functionality for other platform then he should
            temporary disable _SET_OSCODEPAGE.

  * harbour/src/common/hbver.c
  * harbour/src/common/hbfsapi.c
  * harbour/src/rtl/fstemp.c
  * harbour/src/rtl/fslink.c
    * eliminated HB_TCHAR_*() macros

  * harbour/src/common/strwild.c
    + added supprot for custom CPs using own character indexes in:
         hb_strMatchWild(),
         hb_strMatchWildExact(),
         hb_strMatchCaseWildExact()

  * harbour/src/nortl/nortl.c
    + added new dummy function replacement for binaries which are not
      linked with HVM.

  * harbour/src/rtl/filesys.c
    ! fixed double CP conversions in MS-Windows builds of hb_fsCurDirBuff()
    * use hb_vmIsReady() instead of hb_stackId() in file name conversions.
    * use hb_cmdargProgName() in hb_fsBaseDirBuff()

  * harbour/src/rtl/philes.c
    * use hb_cmdargProgName() in HB_PROGNAME() function.

  * harbour/src/rtl/gtcgi/gtcgi.c
  * harbour/src/rtl/gtstd/gtstd.c
  * harbour/src/rtl/gtpca/gtpca.c
  * harbour/src/rtl/gtdos/gtdos.c
  * harbour/src/rtl/gtos2/gtos2.c
  * harbour/src/rtl/gtwin/gtwin.c
  * harbour/src/rtl/gtwvt/gtwvt.h
  * harbour/src/rtl/gtwvt/gtwvt.c
  * harbour/src/rtl/gttrm/gttrm.c
  * harbour/src/rtl/gtcrs/gtcrs.c
  * harbour/src/rtl/gtsln/gtsln.c
  * harbour/src/rtl/gtsln/kbsln.c
  * harbour/src/rtl/gtsln/gtsln.h
  * harbour/src/rtl/gtxwc/gtxwc.h
  * harbour/src/rtl/gtxwc/gtxwc.c
  * harbour/contrib/gtwvg/gtwvg.c
  * harbour/contrib/gtwvg/gtwvg.h
  * harbour/contrib/gtalleg/gtalleg.c
  * harbour/contrib/hbqt/gtqtc/gtqtc.cpp
  * harbour/contrib/hbqt/gtqtc/gtqtc.h
    * updated to work with new unicode GT API
      please make tests with different GTs - I'm not able to test
      all of them, i.e. I do not have any OS2 machine.

  * harbour/src/rtl/box.c
  * harbour/src/rtl/oldbox.c
  * harbour/src/rtl/scroll.c
  * harbour/src/rtl/console.c
    * updated to work with new unicode GT API and
      CPs using custom character indexes

  * harbour/src/rtl/at.c
  * harbour/src/rtl/ati.c
  * harbour/src/rtl/rat.c
  * harbour/src/rtl/len.c
  * harbour/src/rtl/transfrm.c
  * harbour/src/rtl/left.c
  * harbour/src/rtl/right.c
  * harbour/src/rtl/substr.c
  * harbour/src/rtl/stuff.c
  * harbour/src/rtl/padc.c
  * harbour/src/rtl/padl.c
  * harbour/src/rtl/padr.c
    * updated to work with CPs using custom character indexes

  * harbour/src/rtl/chrasc.c
    + added support for HB_CDP_ISCHARUNI() CPs.

  * harbour/src/rtl/mlcfunc.c
    * rewritten from scratch to work with CPs using custom character
      indexes

  * harbour/src/rtl/accept.c
    * updated to work with unicode inkey values and
      CPs using custom character indexes

  * harbour/src/rtl/strmatch.c
    % small optimization

  * harbour/src/rtl/Makefile
  + harbour/src/rtl/chruni.c
    + added new PRG functions which allows to make byte/binary and
      unicode/character operations on strings:
         HB_UCHAR( <nCode> ) -> <cText>
            return string with U+nCode character in HVM CP encoding
         HB_BCHAR( <nCode> ) -> <cText>
            return 1 byte string with <nCode> value
         HB_UCODE( <cText> ) -> <nCode>
            return unicode value of 1-st character (not byte) in given string
         HB_BCODE( <cText> ) -> <nCode>
            return value of 1-st byte in given string
         HB_ULEN( <cText> ) -> <nChars>
            return string length in characters
         HB_BLEN( <cText> ) -> <nBytes>
            return string length in bytes
         HB_UPEEK( <cText>, <n> ) -> <nCode>
            return unicode value of <n>-th character in given string
         HB_BPEEK( <cText>, <n> ) -> <nCode>
            return value of <n>-th byte in given string
         HB_UPOKE( [@]<cText>, <n>, <nVal> ) -> <cText>
            change <n>-th character in given string to unicode <nVal> one and
            return modified text
         HB_BPOKE( [@]<cText>, <n>, <nVal> ) -> <cText>
            change <n>-th byte in given string to <nVal> and return modified
            text

  * harbour/src/rtl/hbdoc.prg
  * harbour/src/rtl/memvarhb.prg
    * use HB_BCHAR() for binary string definitions

  * harbour/src/rtl/hbi18n2.prg
    * use hb_utf8CHR( 0xFEFF ) instead of hardcoded binary sting and
      HB_BLEN() instead of LEN()

  * harbour/src/rtl/inkey.c
    + added new functions:
         HB_KEYCHAR( <nKey> ) -> <cChar>
         HB_KEYSTD( <nExtKey> ) -> <nClipKey>
    ! use HB_INKEY_ALL instead of INKEY_ALL in LASTKEY()

  * harbour/src/rtl/achoice.prg
  * harbour/src/rtl/browse.prg
  * harbour/src/rtl/menuto.prg
  * harbour/src/rtl/tgetlist.prg
  * harbour/src/rtl/teditor.prg
  * harbour/src/rtl/tlabel.prg
  * harbour/src/rtl/tpopup.prg
  * harbour/src/rtl/radiobtn.prg
  * harbour/src/rtl/radiogrp.prg
  * harbour/src/rtl/wait.prg
    * updated to work with unicode inkey() values

  * harbour/src/rtl/listbox.prg
    * use box.ch macros instead of explicit CHR(...) definitions

  * harbour/src/rtl/ttopbar.prg
    * updated to work with different type of CPs

  * harbour/src/rtl/scrollbr.prg
    * formatting

  * harbour/src/rtl/mouse53.c
    * use HB_MBUTTON_* macros instead of local ones

  * harbour/src/codepage/cp_utf8.c
  + harbour/src/codepage/uc16def.c
  + harbour/src/codepage/utf8sort.c
    * replaced UTF8ASC with new CP: UTF8EX
      This CP uses character indexes instead of bytes one
      and operates on unicode characters flags.
      Tables for upper/lower conversions and upper/lower/alpha/digit
      flags were generated automatically from
         http://www.unicode.org/Public/UNIDATA/UnicodeData.txt
      It also uses custom collation rules. It's very simple one
      level sorting based on UTF8 C collation.
      If someone needs some advanced sorting rules, then it's enough
      to create copy of this cp with user custom version of UTF8_cmp()
      and UTF8_cmpi() functions, i.e. they can be redirected to some
      external library like ICU (icu-project.org).

  * harbour/contrib/hbct/ctwin.c
  * harbour/contrib/hbct/ctwin.h
  * harbour/contrib/hbct/ctwfunc.c
    * added support for new unicode GT API

  * harbour/contrib/xhb/xhbfunc.c
    * redirected HB_CMDARGARGV() to HB_PROGNAME()

  * harbour/contrib/hbnf/origin.c
    * redirected FT_ORIGIN() to HB_PROGNAME()

  * harbour/contrib/hbnf/getenvrn.c
    ! windows version of FT_GETE() fully rewritten - it should
      fix well known problems reported to the devel list. Please test.
    % small optimization for other systems

  * harbour/contrib/hbfship/exec.c
    * use hb_cmdargProgName() in EXECNAME()

  + harbour/tests/uc16_gen.prg
    + added code which generates tables with unicode character flags
      from http://www.unicode.org/Public/UNIDATA/UnicodeData.txt.
      harbour/src/codepage/uc16def.c was generated by this code.

  * harbour/tests/inkeytst.prg
  * harbour/tests/wvtext.prg
  * harbour/tests/gtkeys.prg
    * use HB_INKEY_ALL

  * harbour/include/harbour.hbx
  * harbour/include/hbcpage.hbx
  * harbour/include/hblang.hbx
    * regenerated

   ; It was quite big peace of modifications and for sure not everything
     is well tested so please make test and report problems you will find.
   ; This is basic version which introduce to HVM CPs with custom encodings.
     Some contrib code has to be updated to work correctly with it.
     I hope that developers interesting in will make necessary updates.
     I haven't touched GTWVW code at all - sorry but it needs very serious
     work to make it production ready and fix all existing problems.
   ; Special thanks to OTC - this firm sponsored adding basic UTF8 support
     to HVM.
2012-04-20 15:55:44 +00:00
Mindaugas Kavaliauskas
a8473b3fd8 2012-04-04 20:20 UTC+0300 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)
* src/compiler/hbopt.c
    ! fixed -w3 warning 'Variable ... is assigned but not used' in case of 
      BEGIN SEQUENCE/END SEQUENCE sentence. Ex.:
          BEGIN SEQUENCE
            nI := 1
            BREAK(NIL)
          RECOVER
            ? nI
          END SEQUENCE
2012-04-04 17:20:54 +00:00
Viktor Szakats
db1285be72 2012-03-19 02:05 UTC+0100 Viktor Szakats (harbour syenar.net)
* src/compiler/hbusage.c
    ! typo
  * INSTALL
    ! generic *nix instructions moved after *nix specific ones
2012-03-19 01:05:29 +00:00
Przemyslaw Czerpak
f9f8387208 2012-02-24 13:46 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/include/hbcompdf.h
  * harbour/src/compiler/hbmain.c
  * harbour/src/compiler/hbcomp.c
  * harbour/src/compiler/harbour.y
  * harbour/src/compiler/harbour.yyc
    ! fixed compile time GPF exploited by strings used in CASE values
      of SWITCH statement compiled with active TEXHIDDEN pragma.
      Warning: strings used in such context (CASE values) are not encrypted
               in generated code, i.e. ".jpeg", ".jpg", ".png" in this code:
            SWITCH hb_FNameExt( cFileName )
               CASE ".jpeg"
               CASE ".jpg"
               CASE ".png"
                  show_pict( "Article picture", cFileName )
            ENDSWITCH
2012-02-24 12:47:10 +00:00
Viktor Szakats
1b4008723b 2012-01-06 16:13 UTC+0100 Viktor Szakats (harbour syenar.net)
* ChangeLog
  * (whole tree)
    * changed e-mail address
2012-01-06 15:28:23 +00:00
Viktor Szakats
7ad3481808 2011-12-24 03:32 UTC+0100 Viktor Szakats (harbour syenar.hu)
* ChangeLog
  * (whole tree)
    * removed obsolete antispam measure from my e-mail address
2011-12-24 02:47:24 +00:00
Viktor Szakats
eee41e6a0f 2010-12-13 03:33 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/pp/hbpp.c
  * src/compiler/hbusage.c
  * contrib/hbnetio/utils/hbnetio/netiosrv.prg
  * contrib/hbnetio/utils/hbnetio/netiomgm.prg
  * contrib/hbnetio/utils/hbnetioq/netiosrq.prg
  * contrib/hbformat/utils/hbformat.prg
  * contrib/hbide/idethemes.prg
  * contrib/hbrun/hbrun.prg
  * utils/hbmk2/hbmk2.hu_HU.po
  * utils/hbmk2/hbmk2.prg
  * utils/hbi18n/hbi18n.prg
  * utils/hbtest/hbtest.prg
  * INSTALL
    * Bumped copyright year to 2012.
2011-12-13 02:35:06 +00:00
Przemyslaw Czerpak
a874a061ef 2011-10-20 23:06 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/compiler/hbmain.c
    ! take starting line number from PP to eliminate possible
      synchronization problem

  * harbour/src/compiler/hbcmplib.c
    ! minor fix in meta filename detecting
2011-10-20 21:06:32 +00:00
Przemyslaw Czerpak
9ec8317887 2011-10-20 22:03 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbpp.h
  * harbour/include/hbcomp.h
  * harbour/src/pp/ppcore.c
  * harbour/src/compiler/hbmain.c
  * harbour/src/compiler/hbcmplib.c
    + added support for setting starting line number in code compiled
      from memory buffer
    ! removed unnecessary EF_CANDEFULT flag from recently added
      compiler RTE
2011-10-20 20:04:04 +00:00
Przemyslaw Czerpak
049e9da26f 2011-10-20 20:19 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbpp.h
  * harbour/include/hbcomp.h
  * harbour/include/hbcompdf.h
  * harbour/src/compiler/hbmain.c
  * harbour/src/compiler/hbcomp.c
  * harbour/src/compiler/hbgenerr.c
    + added support for redirecting compiler warning and error messages
      to user function.

  * harbour/src/compiler/hbcmplib.c
    + optional support for generating RTE in HB_COMPILE*() functions
      on compile errors.
2011-10-20 18:19:19 +00:00
Przemyslaw Czerpak
915eea1017 2011-08-01 15:28 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbstack.h
  * harbour/src/vm/estack.c
    + added internal function hb_stackLockCount()

  * harbour/src/vm/hvm.c
    * modified hb_vmRequestReenter() to return HB_FALSE instead of GPF
      when called from non HVM thread.
    * extended hb_vmRequestReenter[Ext]()/hb_vmRequestRestore() to
      save and restore HVM stack lock state and lock HVM stack before
      successful return.
      This extensions is critical for MT applications which need
      to safely reenter HVM also from code encapsulated inside unknown
      number of hb_vnUnlock()/hb_vnLock() calls.
      [TOMERGE 3.0]

  * harbour/src/compiler/cmdcheck.c
    % removed redundant conditions
2011-08-01 13:29:07 +00:00
Viktor Szakats
ea7010429a 2011-07-28 13:02 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/compiler/cmdcheck.c
    ! added workaround for what it seems like a clang bug in latest Apple XCode 4.1
      'Apple clang version 2.1 (tags/Apple/clang-163.7.1) (based on LLVM 3.0svn)',
      manifesting in this error:
      ---
         /Developer/usr/bin/clang   -I. -I../../../../../include -fno-common -W -Wall -O3   -o cmdcheck.o  -c ../../../cmdcheck.c
         clang: error: unable to execute command: Segmentation fault: 11
         clang: error: clang frontend command failed due to signal 1 (use -v to see invocation)
      ---
      The fix simply introduces a new variable to use ptr reference instead of
      indexed vector access in one specific loop.
      Please review/refix it, I didn't make functional tests.
2011-07-28 11:07:03 +00:00
Przemyslaw Czerpak
c72ee124b3 2011-06-02 21:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/vm/thread.c
    * set sleep timeout in *nix version of hb_threadReleaseCPU() to 10 ms

  * harbour/src/compiler/hbpcode.c
    ! fixed typo which could cause compile time crash when debugger code
      is generated (-b) and file name with extenssion has only one or
      two characters

  * harbour/include/hbcompdf.h
  * harbour/src/compiler/hbmain.c
  * harbour/src/compiler/hbstripl.c
  * harbour/src/compiler/harbour.y
  * harbour/src/compiler/harbour.yyc
    ! removed old code designed to optimize line numbers generated in PCODE.
      It cannot work correctly and in some cases it was generating HB_P_LINE
      pcodes in wrong places.
    % enabled new code for HB_P_LINE PCODEs optimization also in debugger (-b)
      compilation so it can be used to replaced the old one.
2011-06-02 19:05:56 +00:00
Viktor Szakats
9178af03a4 2011-05-17 16:51 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/compiler/gencc.c
    ! hb_p_pushlong: conditional -gc3 generated code modified to
      evaluate the condition at C compile time rather than .c
      code generation time. This particular fix would pbly only
      affect 16-bit cross builds, which we don't have any ATM.
    ; TOFIX: same in hb_p_pushlonglong
2011-05-17 14:53:36 +00:00
Viktor Szakats
4d314929e3 2011-03-11 13:36 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbrun/hbrun.prg
    ! Fixed to not crash due to corrupted .hrb leftover files next to hbrun executable.

  * src/compiler/hbusage.c
    ! typo in e-mail address
  * contrib/hbqt/hbqt_common.hbm
    + qt autodetection on beos
  * config/postinst.hbs
    * ld config -> linux only
  ; [Tamas Tevesz]
2011-03-11 12:37:30 +00:00
Przemyslaw Czerpak
41465028f7 2011-03-10 22:38 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/compiler/hbmain.c
    ! fixed GPF when -build cor -credit parameters were used with
      embedded compiler
2011-03-10 21:39:11 +00:00
Przemyslaw Czerpak
37bfb36fc3 2011-03-10 17:12 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbpp.h
  * harbour/include/hbvmpub.h
  * harbour/include/hbapi.h
  * harbour/include/hbcomp.h
  * harbour/include/hbcompdf.h
  * harbour/include/hbexpra.c
  * harbour/include/hbexprop.h
  * harbour/include/hbhash.h
  * harbour/src/compiler/harbour.yyc
  * harbour/src/compiler/harbour.y
    * simplified function type declarations

  * harbour/src/common/hbstr.c
    ! fixed potential GPF in hb_strnicmp() HB_TR_DEBUG message
2011-03-10 16:12:35 +00:00
Przemyslaw Czerpak
017debeb6e 2011-03-07 12:44 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/valtype.c
    * modified to work with any HB_IT_STRING flags we may add in the future

  * harbour/src/rdd/dbcmd.c
    * eliminated explicit hb_parinfo() usage

  * harbour/src/compiler/harbour.y
    * added casting which seems to be necessary for some newer bison versions

  * harbour/doc/xhb-diff.txt
    * typo
2011-03-07 11:44:42 +00:00
Przemyslaw Czerpak
f9823284df 2011-02-28 21:42 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbpp.h
  * harbour/include/hbapilng.h
  * harbour/include/hbapi.h
  * harbour/include/hbcomp.h
  * harbour/src/pp/pplib.c
  * harbour/src/pp/ppcore.c
  * harbour/src/common/hbstr.c
  * harbour/src/rtl/sha2.c
  * harbour/src/rtl/hbinet.c
  * harbour/src/compiler/ppcomp.c
  * harbour/src/compiler/hbfunchk.c
  * harbour/src/compiler/hbgenerr.c
  * harbour/contrib/hbtip/utils.c
    % added missing const to some variable declarations so they can be
      stored in readonly segments

  * harbour/doc/xhb-diff.txt
    ! fixed few typos
2011-02-28 20:43:05 +00:00
Viktor Szakats
b92e1176bd 2011-02-20 01:54 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/compiler/gencc.c
    ! Fixed typos in 2011-02-15 13:39 UTC+0100 Przemyslaw Czerpak
      breaking strlarge and strhidden VM ops.
2011-02-20 00:54:43 +00:00
Przemyslaw Czerpak
6685b34dcb 2011-02-15 13:39 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/compiler/gencc.c
    * added workaround for C compilers which cannot compile very long
      strings. This hack is not enabled by default and can be enabled
      by __HB_CSTRING_SIZE_MAX[=<maxsize>] macro (by default <maxsize>
      is 4KB).
2011-02-15 12:39:12 +00:00
Przemyslaw Czerpak
6e1a0844d2 2011-01-27 00:22 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbcompdf.h
  * harbour/src/compiler/hbmain.c
    * save and restore compiler settings when separated .prg files are
      compiled as different modules. Files compiled as single module
      (i.e. by .clp files, #included, added by DO ... [WITH ...], etc.)
      are still compiled using the same settings inheriting any modifications
      introduced by #pragma. It's intentional behavior.
2011-01-26 23:22:54 +00:00
Przemyslaw Czerpak
a5d1bcaee7 2011-01-24 23:12 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbcomp.h
  * harbour/src/compiler/cmdcheck.c
  * harbour/src/compiler/hbmain.c
  * harbour/src/compiler/hbusage.c
    - removed some old unused declarations and code

  * harbour/src/main/harbour.1
    * updated
2011-01-24 22:12:58 +00:00
Viktor Szakats
68ad6b9146 2010-12-08 23:37 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/pp/hbpp.c
  * src/compiler/hbusage.c
  * contrib/hbnetio/utils/netiosrv.prg
  * contrib/hbide/idethemes.prg
  * utils/hbformat/hbformat.prg
  * utils/hbmk2/hbmk2.hu_HU.po
  * utils/hbmk2/hbmk2.prg
  * utils/hbi18n/hbi18n.prg
  * utils/hbtest/hbtest.prg
  * utils/hbrun/hbrun.prg
  * INSTALL
    * Bumped copyright year to 2011.

  * contrib/hbide/ideprojmanager.prg
    ! Fixed $ id $ in generated source.
2010-12-08 22:38:19 +00:00
Przemyslaw Czerpak
0823337f39 2010-12-08 12:20 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/compiler/complex.c
    ! fixed condition used in some seldom places to convert expressions
      inside square brackets [] to strings, i.e.:
         FOR EACH c IN [abc]
            ? c
         NEXT
    * keep Clipper restrictions for FUNCTION and PROCEDURE keywords
      covered by -kc switch
2010-12-08 11:20:15 +00:00
Przemyslaw Czerpak
3134021021 2010-11-19 11:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/ChangeLog
    * marked may last TODO note as DONE - thanks to Viktor and Mindaugas

  * harbour/include/hbmacro.h
    ! added missing const in hb_macroGenPCodeN() declaration

  * harbour/include/hbapi.h
    * added const to HB_CODEBLOCK.pCode

  * harbour/include/hbcompdf.h
    ! added missing const to HB_MACRO.string

  * harbour/src/pp/ppcore.c
  * harbour/src/common/hbstr.c
  * harbour/src/compiler/hbmain.c
  * harbour/src/compiler/hbfix.c
  * harbour/src/compiler/complex.c
  * harbour/src/compiler/hbdead.c
  * harbour/src/compiler/genc.c
  * harbour/src/compiler/hbident.c
  * harbour/src/compiler/gencc.c
  * harbour/src/compiler/hblbl.c
  * harbour/src/compiler/harbour.yyc
  * harbour/src/compiler/harbour.y
  * harbour/src/compiler/harbour.yyh
  * harbour/src/vm/macro.c
  * harbour/src/vm/codebloc.c
  * harbour/src/vm/itemapi.c
  * harbour/src/vm/hvm.c
  * harbour/src/rtl/hbjson.c
  * harbour/src/rtl/sha1.c
  * harbour/src/rtl/sha2hmac.c
  * harbour/src/rtl/hbsocket.c
  * harbour/src/rtl/hbbffnc.c
  * harbour/src/rtl/itemseri.c
  * harbour/src/rtl/filebuf.c
  * harbour/src/rtl/hbbfish.c
  * harbour/src/rtl/gttrm/gttrm.c
  * harbour/src/rdd/workarea.c
  * harbour/src/macro/macrolex.c
  * harbour/src/rdd/usrrdd/usrrdd.c
    * cleaned const pointer casting

  * harbour/src/rdd/usrrdd/usrrdd.c
    ! fixed very serious bug located during const pointer cleanup
      which should cause GPF on user code creating indexes

  * harbour/src/rtl/sha2.c
    * minor formatting

   ; TOFIX: Seems that there is sth wrong with src/rtl/sha1.c.
            Function SHA1_Transform() wrongly declares 2-nd parameter
            buffer[64] as const when in fact it changes it what can be
            seen if
               BYTE64QUAD16    *block;
            is changed to:
               const BYTE64QUAD16 *block;
            This casting which removes const hides potentially very serious
            bug - modifying readonly memory area. SHA1_Transform() changes
            the buffer so the 2-nd parameter must be declared without const.
            After such modification C compiler should warn when const buffers
            are passed to this function and such places should be fixed.
            In fact it seems to be only line 136:
               SHA1_Transform(context->state, &data[i]);
            Viktor can you look at it and fix the code?
2010-11-19 10:11:29 +00:00
Przemyslaw Czerpak
bc30cabde4 2010-11-17 21:11 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbpp.h
    ! removed repeated declaration of hb_pp_eof()

  * harbour/include/hbapicdp.h
  * harbour/include/hbapilng.h
  * harbour/include/hbgtcore.h
    * added extern declaration to HB_*_REQUEST() macros to pacify
      undeclared global functions warnings

  * harbour/include/hbstack.h
    ! added missing hb_stackDec() declaration

  * harbour/include/hbdefs.h
    ! added missing const in some endian macros
    * removed some unnecessary casting which may hide bugs
      in the code

  * harbour/include/hbapi.h
    ! removed repeated declaration of hb_strVal()

  * harbour/include/hbznet.h
    ! removed repeated declaration of hb_znetError()

  * harbour/include/hbcompdf.h
    * minor comment

  * harbour/src/vm/hvm.c
    ! added missing static to hb_vmTSVarClean() declaration
    * added extern hb_vmForceLink() declaration to pacify
      undeclared global functions warnings

  * harbour/src/vm/thread.c
    * make hb_threadInit() and hb_threadExit() internal HVM
      functions available only in MT mode

  * harbour/src/rtl/dates.c
    ! added missing static to hb_dateUnformatRaw() declaration

  * harbour/src/macro/macrolex.c
    * added extern hb_macro_yylex() declaration to pacify
      undeclared global functions warnings

  * harbour/src/rdd/workarea.c
    * added extern _hb_rddWorkAreaForceLink() declaration to pacify
      undeclared global functions warnings

  * harbour/src/compiler/complex.c
    * added extern hb_comp_yylex() declaration to pacify
      undeclared global functions warnings

  * harbour/contrib/hbnetio/netiocli.c
    ! added missing static to s_fileFlush() declaration

  * harbour/contrib/hbct/tempfile.prg
    ! respect in TmepFile() function default file attributes set by
      SetFCreate()

  * harbour/contrib/hbct/ctstrfil.h
    ! added missing declarations for ct_getfcreate() and ct_setfcreate()

  * harbour/contrib/hbwin/legacy.prg
    * removed dummy RETURN statement

  * harbour/contrib/xhb/fparse.c
    ! added missing static to hb_ParseLine() declaration

  * harbour/contrib/xhb/freadlin.c
    ! added missing static to hb_fsReadLine() declaration

  * harbour/contrib/xhb/txtline.c
    ! added missing static to hb_readLine() and hb_tabexpand() declarations
    ! fixed uninitialized variable warning exploited by above modification
      (static function was automatically inlined increasing optimizations)

  * harbour/contrib/xhb/hbserv.c
    ! removed repeated declaration of hb_isService() and hb_serviceExit()

  * harbour/contrib/xhb/cstructc.c
    * disabled public C functions hb_retclenAdoptRaw() and hb_retclenStatic()

  * harbour/contrib/xhb/xhbat.c
    * declare C function hb_AtSkipStrings() as static
      Warning: this functions is part of public xHarbour C API.

   ; TODO: The following functions are declared as public but without
           any prototypes in header files so they should be made static
           or we should add them to some header files:
               hbver.c:143:  hb_verHostCPU()
               hbjson.c:640: hb_jsonEncode()
               hbjson.c:665: hb_jsonDecode()
               sha2.c:228:   sha256_transf()
               sha2.c:445:   sha512_transf()
           I would like to ask authors to look at them and chose
           best solution.
2010-11-17 20:12:12 +00:00
Przemyslaw Czerpak
4e5a819c80 2010-11-15 16:13 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/gtclip.c
    ! fixed bug in calculation of maximum unicode clipboard buffer size

  * harbour/src/compiler/complex.c
    ! recognize BREAK( [<exp>] ) as BREAK [<exp>] statement
      not function call - it enables some addiitonal compiler
      logic like warning for unreachable code, i.e.:
         proc main()
            break()
            ? "Hello World!!!"
         return

  * harbour/contrib/xhb/xhb.hbp
  * harbour/contrib/xhb/xhb.hbx
  + harbour/contrib/xhb/xhbmvinf.c
    + added __MVSYMBOLINFO() xHarbour compatible function

  * harbour/src/rdd/dbfntx/dbfntx1.c
  * harbour/src/rdd/dbfnsx/dbfnsx1.c
  * harbour/src/rdd/dbfcdx/dbfcdx1.c
    ! fixed INDEX ON ... command with USECURRENT clause to
      ignore active filter on internal GOTOP operation.
      Many thanks to Oleg for bug report and self contain
      code example illustrating the problem.
2010-11-15 15:14:01 +00:00
Przemyslaw Czerpak
2432e2f5d3 2010-11-04 20:27 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbpp.h
  * harbour/include/hbcomp.h
  * harbour/src/pp/ppcore.c
  * harbour/src/main/harbour.c
  * harbour/src/compiler/hbmain.c
  * harbour/src/compiler/ppcomp.c
  * harbour/src/compiler/hbcmplib.c
    * added support for setting hash array as container for included
      files in HB_COMPILE*() functions.

  * harbour/utils/hbrun/hbrun.prg
    + added optional support for embedding all core header files
      into final HBRUN executable file. It can be enabled by
      compilation with HBRUN_WITH_HEADERS macro.

  * harbour/contrib/hbsqlit3/hbsqlit3.c
    ! removed non standard C construction
    % push function parameters directly on HVM stack
2010-11-04 19:28:05 +00:00
Przemyslaw Czerpak
9ec18ba4a0 2010-11-03 23:28 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/compiler/hbmain.c
    + allow to use -p* switches in HB_COMPILEFROMBUF()

  * harbour/src/compiler/harbour.y
    + accept
         #line <num>
      directive without file name. It can be usable in some cases
      and it also resolves the problem reported by Viktor when
      we compile file without any name, i.e. using HB_COMPILEFROMBUF()
      function.

  * harbour/src/compiler/harbour.yyc
    * regenerated
2010-11-03 22:28:55 +00:00
Przemyslaw Czerpak
8521154cfb 2010-11-03 19:36 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/compiler/hbmain.c
    ! fixed very old bug which can be exploited in some seldom cases,
      i.e. the one reported by Viktor using HBRUN.
2010-11-03 18:36:50 +00:00
Przemyslaw Czerpak
bd381db5d2 2010-10-18 12:18 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/compiler/hbmain.c
    ! reset function and class declaration between compiling files included
      by SET PROCEDUR TO <name> or DO <name> [ WITH <args,...> ]
      This behavior is synced with PP rules resetting.

  * harbour/contrib/xhb/xhb.hbp
    + added two .ch files

  * harbour/contrib/hbct/hbct.hbx
    * regenerated with LF EOL.
      I think that these files should be declared in SVN as using native
      EOLs
2010-10-18 10:18:38 +00:00
Przemyslaw Czerpak
6256ccc4be 2010-10-07 10:21 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/compiler/hbmain.c
    * declare automatically created function in code compiled by
      HB_COMPILEFROMBUF() with -n2 switch as static.
      It eliminates possible conflicts when user tries to register
      in single HVM instance many HRB modules with such startup function.
2010-10-07 08:21:20 +00:00
Przemyslaw Czerpak
4e55b4a133 2010-09-30 10:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/compiler/hbmain.c
    + added support to compile code not encapsulated in function using
      HB_COMPILEFROMBUF() with -n2 switch
2010-09-30 08:10:40 +00:00
Viktor Szakats
32e5e776c5 * src/compiler/hbusage.c
+ Added to the list of contributors:

        Carlos Bacco (carlosbacco gmail.com)
        Francesco Perillo (fperillo gmail.com)
        Istvan Bisz (istvan.bisz t-online.hu)
        Tamas Tevesz (ice extreme.hu)

      (I accept recommendation about who else should be added, 
      it's be a while I updated this list)

  * contrib/hbide/ideparseexpr.c
    % Using hb_parldef().
2010-09-28 15:51:55 +00:00
Viktor Szakats
2775f662f2 2010-09-07 00:10 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/compiler/hbcomp.c
    ! Revisiting non-*nix stdout/stderr usage in compiler.
      From now on the Clipper (and old MS-DOS/Windows tool) 
      compatible behavior is only maintained for MS-DOS Harbour 
      builds, for the rest error messages are output to stderr, 
      regular msgs are output to stdout.
2010-09-06 22:12:08 +00:00
Viktor Szakats
30ee213749 2010-08-17 23:10 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbcomp.h
  * src/macro/macro.yyc
  * src/macro/macro.y
  * src/macro/macrolex.c
  * src/compiler/hbmain.c
  * src/compiler/complex.c
  * src/compiler/harbour.yyc
  * src/compiler/harbour.y
    * Changed prefix used for bison generated function prefix
      (hb_comp -> hb_comp_yy, hb_macro -> hb_macro_yy)
    ; Pls review.
      This avoids collision between hb_macroError/hb_macroerror
      for obsolete tools like bcc implib which uses case-insensitive
      symbol lookup by default)

  * package/winuni/mpkg_win_uni_extra_copy.bat
    + Added trick to generate special implib for core .dlls so
      that now bcc can use the regular Harbour one and doesn't
      need the special '-bcc' postfixed version to be shipped.
      An ugly trick for an obsolete compiler.
      (release process now requires bcc implib tool because of this)

  * utils/hbmk2/hbmk2.prg
    + Added -c option to implib calls. This fixes implib generation 
      for certain .dlls, like OpenSSL.
2010-08-17 21:11:12 +00:00
Przemyslaw Czerpak
8a8f786af2 2010-08-06 13:29 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbcomp.h
    ! fixed description of HB_VS_CBLOCAL_VAR macro

  * harbour/src/compiler/hbmain.c
    ! fixed wrongly generated E0047 compile time error for
      codeblocks with early evaluated macros accessing local
      parameters. It should fix problem reported by Itamar.

  * harbour/src/vm/hvm.c 
    * modified one #if condition to pacify ICC warning
      reported by Andi
2010-08-06 11:30:27 +00:00
Przemyslaw Czerpak
c08eecae20 2010-07-29 15:30 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/compiler/gencc.c
    ! fixed wrongly used HB_ISIZ instead of HB_LONG

  * harbour/package/harbour.spec
    ! fixed /etc/ld.so.conf.d detection
    % minor improvement
    ; TOFIX:
        * /etc/ld.so.conf.d/harbour.conf in final RPM contains
          wrong path due to missing HB_INSTALL_PREFIX
        * soft links to harbour shared libraries for systems
          without /etc/ld.so.conf.d are missing
        * soft links with short shared libraries names are missing
          and current long names do not confirm standard Linux
          shared library naming convention:
             <name>.so[.<maj>[.<min>[.<rel>]]]
          hbmk2 also uses short names so it does not work correctly
          with binaries installed from the RPMs
2010-07-29 13:30:56 +00:00
Viktor Szakats
6b758c4f6d 2010-07-25 10:41 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/xhb/hbcompat.ch
    + Added xhb translations for hb_eol() and hb_ps().

  * contrib/make.hbs
    - Deleted SetCancel().

  * src/debug/tbrwtext.prg
  * src/debug/debugger.prg
  * src/rtl/errsys.prg
  * src/rtl/profiler.prg
  * src/rtl/hbini.prg
  * src/rtl/treport.prg
  * src/rtl/tpersist.prg
  * src/rtl/hbi18n2.prg
  * src/rtl/ttextlin.prg
  * src/rtl/teditor.prg
  * src/rdd/usrrdd/rdds/logrdd.prg
  * tests/hbpptest/hbpptest.prg
  * tests/longstr2.prg
  * tests/cdow.prg
  * tests/output.prg
  * tests/dirtest.prg
  * tests/tstdbi.prg
  * tests/speedold.prg
  * tests/dates3.prg
  * tests/set_test.prg
  * tests/rto_get.prg
  * tests/cpinfo.prg
  * tests/speedtst.prg
  * tests/dates.prg
  * tests/set_num.prg
  * tests/rto_tb.prg
  * tests/testhtml.prg
  * tests/round.prg
  * tests/dates2.prg
  * tests/dates4.prg
  * tests/version.prg
  * tests/seconds.prg
  * tests/gtkeys.prg
  * tests/adirtest.prg
  * include/simpleio.ch
  * include/assert.ch
  * contrib/hbct/tests/tab.prg
  * contrib/hbct/tests/expomant.prg
  * contrib/xhb/traceprg.prg
  * contrib/xhb/hblog.prg
  * contrib/xhb/dumpvar.prg
  * contrib/xhb/dbgfx.prg
  * contrib/xhb/xhberr.prg
  * contrib/xhb/cstruct.prg
  * contrib/hbqt/generator/hbqtgen.prg
  * contrib/hbqt/hbqt_errorsys.prg
  * contrib/hbqt/generator2/hbqtgen2.prg
  * contrib/hbxpp/hbxpp.ch
  * contrib/hbnetio/utils/netiosrv.prg
  * contrib/hbnetio/utils/rpcdemo.hbs
  * contrib/hbnetio/utils/netiocmd.prg
  * contrib/hbpgsql/tests/dbf2pg.prg
  * contrib/hbmisc/tests/readfile.prg
  * contrib/hbmisc/tests/testhbf.prg
  * contrib/hbtip/thtml.prg
  * contrib/hbtip/client.prg
  * contrib/hbwin/tests/testsim.prg
  * contrib/hbwin/tests/testole.prg
  * contrib/hbwin/tests/testsvc.prg
  * contrib/hbssl/tests/bio.prg
  * contrib/hbssl/tests/pem.prg
  * contrib/hbide/ideedit.prg
  * contrib/hbide/idemisc.prg
  * contrib/hbide/idethemes.prg
  * contrib/hbide/idesaveload.prg
  * contrib/hbide/idedocwriter.prg
  * contrib/hbide/hbide.ch
  * contrib/hbide/ideprojmanager.prg
  * contrib/hbide/idehome.prg
  * contrib/hbide/ideshortcuts.prg
  * utils/hbformat/hbformat.prg
  * utils/hbmk2/hbmk2.prg
  * utils/hbi18n/hbi18n.prg
  * utils/hbtest/hbtest.prg
  * examples/hbextern/hbextern.prg
  * examples/uhttpd2/umain.prg
  * examples/guestbk/inifiles.prg
  * examples/guestbk/testcgi.prg
  * examples/httpsrv/uhttpd.prg
  * examples/hscript/hscript.prg
    * hb_osnewline() -> hb_eol()
      (deleting temp variables and temp pp macros used in the past
      to workaround the long typing of the old function name)
    * Some formatting along the way in tests dir.

  * src/rtl/errsys.prg
    - Deleted usage of ISNIL(). It's a quite pointless macro.

  * src/rtl/errsys.prg
  * src/rtl/listbox.prg
  * src/rtl/profiler.prg
  * src/rtl/treport.prg
  * src/rtl/tpersist.prg
  * src/rtl/tgetlist.prg
  * src/rtl/teditor.prg
    % DO CASE -> SWITCH

  * src/rtl/alert.prg
    * Replaced DEFAULT TO with simple NIL check.

  * src/compiler/gencc.c
    * Formatting of generated code.

  * contrib/hbide/ideedit.prg
  * contrib/hbide/idemisc.prg
  * contrib/hbide/idethemes.prg
  * contrib/hbide/idesaveload.prg
  * contrib/hbide/idedocwriter.prg
  * contrib/hbide/hbide.ch
  * contrib/hbide/ideprojmanager.prg
  * contrib/hbide/idehome.prg
  * contrib/hbide/ideshortcuts.prg
    * hb_osPathSeparator() (and static variable) -> hb_ps()
2010-07-25 08:45:50 +00:00
Viktor Szakats
7e07cde56c 2010-07-09 15:08 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/compiler/genc.c
  * src/compiler/gencc.c
    ! Fixed format strings to be win64 compatible. Also fixing 
      mingw64 (4.6.0) reported warnings.
    ; I'd appreciate a review here. There are explicit lengths 
      used in some of these format strings, which may need to 
      be extended.

  * src/rdd/dbffpt/dbffpt1.c
    ! Silenced bcc warning.
2010-07-09 13:09:09 +00:00
Przemyslaw Czerpak
22100001e8 2010-07-08 12:35 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbpp.h
  * harbour/include/hbmacro.h
  * harbour/include/hbcomp.h
  * harbour/include/hbcompdf.h
  * harbour/include/hbexprb.c
  * harbour/src/pp/ppcore.c
  * harbour/src/compiler/hbmain.c
  * harbour/src/vm/macro.c
    ! fixed code used to decide about early and late macro
      evaluation in codeblocks to be exactly Clipper compatible.
      Now if codeblock contains at least one macro variable
      (i.e.: &var, any&var, any&var.2) then it's always early
      evaluated.
      Please remember that codeblocks which contains only simple
      macro variable ( &var[.] ), i.e.:
         {|| &var }
      are modified during compilation by Clipper and Harbour compilers to:
         &( "{||" + var + "}" )
      and then PCODE is generated. It allows to use LOCALs, STATICs and
      FIELDs as 'var' in such expressions. In xHarbour above functionality
      was extended to work also with macrotext variables, i.e.:
         {|| &var.2 }
      If you think it's important extension then I can make the same
      in Harbour or I can even implement it for all codeblock expressions
      with macros using declared non memvar symbols, i.e.
         {|| &var + 1 }
      what should effectively eliminate E0047 compile time error
    ! fixed compile time error E0042 "Macro of declared symbol..."
      to be generated with the same conditions as in Clipper.
    ! fixed compile time error E0047
         "Code block contains both macro and declared symbol references..."
      to be generated with the same conditions as in Clipper.
      Note: -km switch disables macro text evaluation so also above errors
      unless macro is not used in codeblock

      Warning: above modifications can cause compile time errors in some
               code which was not Clipper compatible and in such case they
               will have to be updated.

  * harbour/utils/hbtest/rt_math.prg
    ! updated code with Clipper incompatible code exploited by above
      modifications
2010-07-08 10:35:53 +00:00
Viktor Szakats
53093e704f 2010-07-08 09:24 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/macro.c
  * src/vm/hashes.c
  * src/vm/itemapi.c
  * src/vm/hvm.c
  * src/vm/arrays.c
  * src/vm/extend.c
  * src/common/expropt1.c
  * src/common/expropt2.c
  * src/rtl/hbgtcore.c
  * src/compiler/hbmain.c
  * include/hbgtcore.h
  * include/hbmacro.h
  * include/hbapi.h
  * include/hbapiitm.h
  * include/hbvm.h
  * include/hbcomp.h
  * include/hbexprop.h
    * Variable name cleanups.
    * Corrections/completions in declarations.
2010-07-08 07:24:58 +00:00
Viktor Szakats
c863e84065 2010-07-07 18:53 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/macro.c
    ! Added missing renames from prev session.

  * src/common/expropt1.c
  * src/common/expropt2.c
  * src/compiler/hbmain.c
  * src/compiler/harbour.yyc
  * src/compiler/harbour.y
  * include/hbcompdf.h
  * include/hbexpra.c
  * include/hbexprb.c
    * Some final renames in compiler area.
      (compiler objects verified)

  * contrib/make.hbs
    * Updated header.
2010-07-07 16:53:35 +00:00
Viktor Szakats
f9270e4a0e 2010-07-07 18:13 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/compiler/ppcomp.c
  * src/compiler/hbmain.c
  * src/compiler/hbpcode.c
  * src/compiler/hbdead.c
  * src/compiler/gencc.c
  * src/compiler/hblbl.c
  * include/hbcompdf.h
    * lPCodeSize -> nPCodeSize
    * pulLabels -> pnLabels
      (objects verified)
2010-07-07 16:14:11 +00:00
Viktor Szakats
f1bea060aa 2010-07-07 18:08 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/compiler/hbmain.c
  * src/compiler/hbfix.c
  * src/compiler/hbdbginf.c
  * src/compiler/hbpcode.c
  * src/compiler/genhrb.c
  * src/compiler/hbdead.c
  * src/compiler/genc.c
  * src/compiler/hbopt.c
  * src/compiler/gencc.c
  * src/compiler/hblbl.c
  * src/compiler/harbour.yyc
  * src/compiler/hbstripl.c
  * src/compiler/harbour.y
  * include/hbcomp.h
  * include/hbcompdf.h
  * include/hbexprb.c
    * lPCodePos -> nPCodePos
      (objects verified)
2010-07-07 16:09:23 +00:00
Viktor Szakats
fca2161dd5 2010-07-07 18:03 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/compiler/ppcomp.c
  * src/compiler/hbmain.c
  * src/compiler/hbdbginf.c
  * src/compiler/hbpcode.c
  * src/compiler/genhrb.c
  * src/compiler/hbdead.c
  * src/compiler/hbopt.c
  * src/compiler/genc.c
  * src/compiler/hbident.c
  * src/compiler/gencc.c
  * src/compiler/hbcmplib.c
  * src/compiler/hblbl.c
    * HB_SIZE/HB_ISIZ variable rename.
      (objects verified)
2010-07-07 16:04:25 +00:00
Przemyslaw Czerpak
ce80cf2c1e 2010-07-07 14:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/cdpapi.c
    % removed one redundant if() condition
    * replaced not working HB_CDP_[UN]LOCK used in hb_cdpList()
      function with simple counter as protection against possible
      overflow.

  * harbour/src/compiler/complex.c
    + added support also for "." as date delimiters in VFP compatible
      date[time] constant values.

  * harbour/doc/xhb-diff.txt
    * updated description of date[time] constant values syntax
      to follow current Harbour and xHarbour behavior.
2010-07-07 12:51:10 +00:00
Przemyslaw Czerpak
b87112ecde 2010-07-02 14:20 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbpp.h
  * harbour/src/pp/ppcore.c
  * harbour/src/pp/hbpp.c
  * harbour/src/pp/pplib.c
  * harbour/src/compiler/complex.c
    * eliminated HB_USHORT limit for maximum token size
    * changed prefix of HB_SIZE numeric values from 'ul' to 'n'

  * harbour/contrib/rddads/adsfunc.c
    + added wrapper to AdsGetMemoDataType() function
2010-07-02 12:21:18 +00:00