Commit Graph

80 Commits

Author SHA1 Message Date
Viktor Szakats
0329bd5d94 2012-11-21 13:12 UTC+0100 Viktor Szakats (harbour syenar.net)
* src/common/hbver.c
  * src/compiler/hbpcode.c
  * src/pp/hbpp.c
  * src/pp/ppcore.c
  * src/rdd/dbf1.c
  * src/rdd/dbfcdx/dbfcdx1.c
  * src/rdd/wafunc.c
  * src/rtl/gttrm/gttrm.c
  * src/rtl/mlcfunc.c
  * src/vm/hvm.c
  * src/vm/itemapi.c
    * cleaned empty loops to be:
       for( ... )
          ;
      or
       while( ... )
          ;
      Please use this from now on. It's also what uncrsustify will 
      do and it's well greppable and readble.
      (I didn't change yet where ';' is in the same line as while() 
      and for(), and will let uncrustify do this in a future pass)

  * contrib/hbmisc/spd.c
    * minor
2012-11-21 12:15:44 +00:00
Viktor Szakats
ceb5386de5 2012-11-18 12:46 UTC+0100 Viktor Szakats (harbour syenar.net)
* src/pp/ppcore.c
  * src/pp/pplib.c
    * some uncrustify formattings applied

  * tests/testbrw.prg
  * website/samples/testbrw.prg.html
    * cleanup

  * website/menu/harbour-menu.js
    ! fixed menu links to work when used under a subdir

  * website/samples/array16.prg.html
  * website/samples/arreval.prg.html
  * website/samples/begin.prg.html
  * website/samples/byref.prg.html
  * website/samples/codebl.prg.html
  * website/samples/codebloc.prg.html
  * website/samples/dates3.prg.html
  * website/samples/foreach.prg.html
  * website/samples/hello.prg.html
  * website/samples/initexit.prg.html
  * website/samples/longdev.prg.html
  * website/samples/mousetst.prg.html
  * website/samples/onidle.prg.html
  * website/samples/osshell.prg.html
  * website/samples/parseini.prg.html
  * website/samples/switch.prg.html
  * website/samples/testbrdb.prg.html
  * website/samples/testbrw.prg.html
  * website/samples/testhtml.prg.html
  * website/samples/testidle.prg.html
  * website/samples/tstmacro.prg.html
    * enabled light mode to disable gutter, so now
      the code can be copy pasted easily
2012-11-18 11:51:17 +00:00
Viktor Szakats
829d9ab965 2012-11-09 19:31 UTC+0100 Viktor Szakats (harbour syenar.net)
* src/common/hbprintf.c
  * src/common/hbtrace.c
  * src/compiler/harbour.y
  * src/compiler/hbcmplib.c
  * src/compiler/hbmain.c
  * src/macro/macro.y
  * src/macro/macrolex.c
  * src/pp/ppcore.c
  * src/rdd/dbcmd.c
  * src/rdd/dbffpt/dbffpt1.c
  * src/rdd/hsx/hsx.c
  * src/rtl/cdpapi.c
  * src/rtl/dates.c
  * src/rtl/filebuf.c
  * src/rtl/hbcom.c
  * src/rtl/hbgtcore.c
  * src/rtl/hbi18n1.c
  * src/rtl/hbjson.c
  * src/rtl/hbsocket.c
  * src/rtl/hbstrfmt.c
  * src/rtl/hbznet.c
  * src/vm/classes.c
  * src/vm/fm.c
  * src/vm/hvm.c
  * src/vm/itemapi.c
  * src/vm/macro.c
  * src/vm/set.c
    * applied some non-space formattings and changes 
      to make it format better using uncrustify
2012-11-09 18:39:45 +00:00
Viktor Szakats
19de44257f 2012-11-05 01:03 UTC+0100 Viktor Szakats (harbour syenar.net)
+ contrib/hbtip/tests/gmail.hbp
    + added hbmk2 project for gmail.prg (picked up automatically
      when using 'hbmk2 gmail' cmd)

  * config/global.mk
    ! fixed to not display 'autodetected' for HB_COMPILER
      if it's set by the user

  * contrib/hbgs/core.c
    % deleted unnecessary parenthesis

  * config/global.mk
  * utils/hbmk2/hbmk2.prg
    + added autodetection for mingw 4.7 versions

  * contrib/hbmisc/doc/en/ht_dbf.txt
    ! deleted broken and misplaced formatting tag

  * src/common/*.c
  * src/compiler/*.c
  * src/debug/*.c
  * src/nortl/*.c
  * src/pp/*.c
    * applied some uncrustify formatting
2012-11-05 00:17:26 +00:00
Viktor Szakats
f1ad3f0e97 2012-11-03 19:22 UTC+0100 Viktor Szakats (harbour syenar.net)
* src/pp/hbpp.c
    ! bumped copyright year to 2012
2012-11-03 18:23:41 +00:00
Viktor Szakats
bc745c3b75 2012-10-07 22:49 UTC+0200 Viktor Szakats (vszakats syenar.net)
* contrib/hbhttpd/readme.txt
  * doc/dirstruc.txt
  * doc/xhb-diff.txt
  * include/hbapi.h
  * INSTALL
  * NEWS
  * src/common/hbver.c
  * src/main/harbour.c
  * src/pp/hbpp.c
  * src/rtl/version.c
  * src/vm/cmdarg.c
    * Avoiding the word "SVN" (use 'source repository',
      'repository' or 'repo' for short)
    * Added new names that don't refer to SVN:
      C level:
      - hb_verRevision()           (was: hb_verSvnID())
      - hb_verChangeLogID()        (was: hb_verSvnChangeLogID())
      - hb_verChangeLogLastEntry() (was: hb_verSvnLastEntry())
      .prg level:
      - HB_VER_REVID built-in macro (was: HB_VER_SVNID)
    ; Old functions/macros will be deleted after next major
      revision, start using the new names until then.
2012-10-07 20:54:02 +00:00
Przemyslaw Czerpak
e853a90f08 2012-10-01 23:48 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/src/pp/ppcore.c
    ! fixed possible GPF when some broken expressions are used as
      part of extended expression match marker

  * harbour/src/rtl/padr.c
  * harbour/src/rtl/padc.c
  * harbour/src/rtl/padl.c
    ! fixed PADR(), PADL() and PADC() to accept pad mulibyte characters
      when CPs with such encoding is used, i.e. CP950 or UTF8EX

  * harbour/contrib/xhb/xhb.hbx
    * updated to follow recent modifications
2012-10-01 21:48:26 +00:00
Przemyslaw Czerpak
3ac75bd18e 2012-08-14 12:44 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/src/rtl/valtype.c
    * modified HB_ISEVALITEM() to use HB_IS_EVALITEM() macro

  * harbour/src/pp/ppcore.c
    ! fixed typo in .ppt file handle - many thanks to Teo Fonrouge
      for the information about the problem.

  * harbour/include/hbthread.h
  * harbour/src/vm/thread.c
    + added new C function:
         HB_THREAD_NO hb_threadNO( void )
      it returns unique thread number

  * harbour/src/vm/classes.c
    * cleaned static function names

  * harbour/src/rdd/dbffpt/dbffpt1.c
    * use RDDINFO() method instead of direct access to RDD TSD data

  * harbour/src/rdd/dbfntx/dbfntx1.c
  * harbour/src/rdd/dbfnsx/dbfnsx1.c
    * changed initialization method - now RDD TSD data is initialized
      by each thread which access it. It resolves the problem with
      memo type in NSX and NTX RDDs - it was SMT/DBT in main thread
      but in child threads default FPT driver was used.

  * harbour/tests/speedtst.prg
    ! fixed xHarbour compilation - it was broken by HB_EOL()
2012-08-14 10:44:42 +00:00
Viktor Szakats
f36a5dbd3c 2012-06-15 03:17 UTC+0200 Viktor Szakats (harbour syenar.net)
* bin/3rdpatch.hb
  * contrib/make.hb
    * changed to be executed by hbmk2

  - contrib/hbrun/extdyn.prg
  - contrib/hbrun/hbrun.prg
  - contrib/hbrun/hbrun.rc
  - contrib/hbrun/headers.prg
  - contrib/hbrun/p_ext.hb
  - contrib/hbrun/plugins.prg
  * contrib/hbrun/hbrun.hbp
    % changed to use hbmk2 sources and make file to build hbrun,
      implementing the build method described in previous ChangeLog
      entry. The lost feature is netio management plugin, which
      is now not loaded by default. Plus, since this is a static
      build, dynamic extensions don't work.

  * contrib/make.hb
  * src/pp/ppcore.c
    * deleted reference to hbrun in comment

  * contrib/hbnetio/utils/hbnetio/netiocon.prg
  * contrib/hbnetio/utils/hbnetio/netiomgm.hb
    * __hbrun_plugin() -> __hbshell_plugin()

  * INSTALL
    * minor in previous change
2012-06-15 01:21:55 +00:00
Viktor Szakats
4d96da75b6 2012-06-06 10:26 UTC+0200 Viktor Szakats (harbour syenar.net)
* src/pp/ppcore.c
    + accept and ignore '#require' PP directive

  * contrib/hbrun/hbrun.prg
  * utils/hbmk2/hbmk2.prg
    + use '#require "name"' to request modules.
      (This replaces former '//#require', '//#pragma module' and
       '*#pragma module' directives.)

  * utils/hbmk2/hbmk2.prg
    + add .hbc automatically for '#require' directives (experimental)
      ; TODO: to work also in non-incremental mode and to work
              reliably in -inc mode. To not impact performance, the
              compiler could do a callback when #require is found,
              hbmk2 could find the .hbc and extend compiler options
              dynamically.
    ! fixed finding .hbc files that were detected automatically

  * contrib/hbrun/hbrun.1
    + added my name as author
2012-06-06 08:29:39 +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
Przemyslaw Czerpak
83bf2ee7d8 2012-04-11 18:46 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/src/pp/ppcore.c
    ! fixed GPF if #pragma __*streaminclude is used with
      redirect user custom files
2012-04-11 16:46:54 +00:00
Przemyslaw Czerpak
3850eb6a28 2012-01-31 16:22 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/src/pp/ppcore.c
    ! added resetting conditional compilation stack in hb_pp_reset()
      Before this modification unclosed #if[def] statements were
      significant for next PRG files passed to Harbour compiler
      as single command (in such way works also HBMK2 with build
      in compiler).
    * clean stream functions and user operators in hb_pp_reset()
2012-01-31 15:22:45 +00:00
Przemyslaw Czerpak
db91e64c15 2012-01-31 05:07 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/src/pp/ppcore.c
    ! fixed line numbering in extended codeblocks with multiline
      commands
2012-01-31 04:07:44 +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
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
ce5750db0f 2011-10-05 23:12 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/pp/ppcore.c
    ! fixed problem with line numbering exploited by recent modification
      [MERGED 3.0]

  * harbour/contrib/hbwin/wapi_winuser_dlg.c
    ! fixed memory leak
      [MERGED 3.0]
2011-10-05 21:12:42 +00:00
Przemyslaw Czerpak
7ad364ed15 2011-09-30 22:23 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/pp/ppcore.c
    ! fixed few problems with line numbering and code using
      extended codeblocks
      [TOMERGE 3.0]

  * harbour/src/pp/pplib2.c
    ! fixed typo in comment
2011-09-30 20:23:58 +00:00
Viktor Szakats
44306c955c 2011-07-17 16:21 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/extend.api
  * include/harbour.hbx
  * include/hbdefs.h
  * include/hbapi.h
  * include/hbvm.h
  * include/hbapigt.h
  * include/clipdefs.h
  - src/pp/pplib3.c
  * src/pp/Makefile
  * src/vm/hvm.c
  * src/rtl/hbtoken.c
  * src/rtl/inkey.c
  * src/rdd/usrrdd/usrrdd.c
  * contrib/hbmysql/hbmysql.hbx
  - contrib/hbmysql/mysqlold.c
  * contrib/hbmysql/mysql.c
  * contrib/hbmysql/hbmysql.hbp
  * contrib/hbmysql/mysql.ch
  * contrib/hbpgsql/hbpgsql.hbx
  * contrib/hbpgsql/postgres.c
  * contrib/hbwin/hbwin.hbp
  * contrib/hbwin/hbwin.hbx
  - contrib/hbwin/legacy.prg
  - contrib/hbwin/legacycd.c
  - contrib/hbwin/legacyco.c
  - contrib/hbwin/legacycp.c
  * contrib/hbodbc/hbodbc.hbx
  - contrib/hbodbc/odbcold.c
  * contrib/hbodbc/odbc.c
  * contrib/hbodbc/hbodbc.hbp
  * contrib/hbtip/utils.c
  * contrib/hbtip/hbtip.hbx
    * deleted things marked with HB_LEGACY_LEVEL3, finishing cleanup
      job started many years ago.
    ; this also means that windows.h and os2.h will no longer be
      included by Harbour headers, HB_OS_WIN_USED is thus ineffective,
      so if someone needs these headers to access system APIs, they
      should be manually included in each source file. Some old
      hacks have also been removed which disabled some Clipper
      compatibility macros/types in compatibility headers (clipdefs.h, *.api),
      if someone uses these alongside windows.h/os2.h inclusion, it will
      be broken, here the strategy is to move to Harbour types and
      Harbour API headers, simply Clipper headers and newer OS headers
      are not compatible.
    ; HB_DONT_DEFINE_BASIC_TYPES is not effective anymore.
    ; INKEY_RAW is no more, use HB_INKEY_RAW instead.
    ; NEXTKEY() hidden parameter extension is disabled. Use HB_KEYNEXT()
      Harbour alternative which has it.
    ; Some legacy PP functions are no more.
    ; hb_vmPushState()/hb_vmPopState() APIs were now permanently deleted.
    ; __STR*() token handling legacy functions are no more, use native HB_TOKEN*()
      ones instead.
    ; WRITEBHEADER in USRRDD is no more, WRITEDBHEADER is the replacement.
    ; hbmysql, hbodbc compatibilty and deprecated functions were deleted
    ; hbwin compatibility functions were deleted. If there is demand, mainly to
      help migrating xhb users, they can be readded to xhb lib by interested
      developers, now deleted code should be changed to fall back to dummies
      on non-Windows builds.
    ; some deprecated hbpgsql functions were deleted
    ; hbtip HB_BASE64() is deleted. Use core HB_BASE64ENCODE() instead.

    ; Anyone affected by above changes has the option to stick with 3.0.x Harbour
      versions or to update their source code according to above instructions
      (or instructions included in past ChangeLog entries)

    ; Some fallouts in Harbour build is possible after these changes
2011-07-17 14:23:26 +00:00
Przemyslaw Czerpak
1dfda63230 2011-07-05 07:49 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/pp/ppcore.c
    % removed dummy (always false) condition

  * harbour/src/rtl/arc4.c
    ! do not uses sysctl() in Android builds
2011-07-05 05:49:24 +00:00
Przemyslaw Czerpak
dfbe9dd6ce 2011-05-17 17:33 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/pp/ppcore.c
    ! do not strip spaces from serialized codeblocks with late macro
      evaluation
2011-05-17 15:33:28 +00:00
Viktor Szakats
424968243f 2011-05-12 09:34 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/pp/ppcore.c
    * hb_xgrab( nSize ) -> hb_xgrab( nSize * sizeof( char ) )
      trying to make flto warning disappear to no avail

  * contrib/hbexpat/unitable.prg
    ! static -> thread static
2011-05-12 07:34:57 +00:00
Przemyslaw Czerpak
121478fffe 2011-05-04 14:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/pp/ppcore.c
    ! fixed #pragma __binarystreaminclude used with zero length files.
      Thanks to Viktor for information.
2011-05-04 12:05:26 +00:00
Przemyslaw Czerpak
2f4cd8c8c0 2011-03-10 18:56 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/pp/ppcore.c
    % small optimization
2011-03-10 17:56:31 +00:00
Przemyslaw Czerpak
e03dbb75d6 2011-03-04 11:31 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/pp/pplib.c
    * updated function description

  * harbour/src/pp/pplib3.c
    * covered old long time obsolete functions:
          __PPADDRULE(), __PREPROCESS(), __PP_FREE()
      by HB_LEGACY_LEVEL3 macro
2011-03-04 10:31:18 +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
Przemyslaw Czerpak
0e49bea8f9 2011-01-31 00:54 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/pp/ppcore.c
    ! fixed to not strip path in .d dependencies list for files included
      from -I<directories>

  * harbour/utils/hbmk2/hbmk2.prg
    % do not use FindHeader() for dependencies list extracted from .d
      files - they should contain full paths so it's not necessary
2011-01-30 23:54:38 +00:00
Przemyslaw Czerpak
f3259b2cab 2011-01-26 23:56 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbpp.h
  * harbour/src/pp/ppcore.c
    ! added resetting some internal PP states in hb_pp_reset()
2011-01-26 22:56:48 +00:00
Przemyslaw Czerpak
3444dfc907 2011-01-26 19:08 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/pp/hbpp.c
    * modified syntax info to keep output well formatted for 80 columns
  * harbour/src/pp/hbpp.1
    * updated

  * harbour/src/rdd/dbf1.c
  * harbour/src/rdd/delim1.c
  * harbour/src/rdd/sdf1.c
  * harbour/contrib/rddsql/sqlbase.c
    ! added protection against GPF when wrong field index is passed to
      {GET|PUT}VALUE[FILE]() methods
2011-01-26 18:08:34 +00:00
Viktor Szakats
05f2b13336 2010-12-08 23:46 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/pp/hbpp.c
    * Bumped some more years.
    ! Fixed to $ Id $ in generated code.
2010-12-08 22:47:11 +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
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
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
f0de048177 2010-11-03 23:24 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/Makefile
    + added missing hblpp.ch file

  * harbour/src/pp/ppcore.c
    % removed redundant fBinary paramater from hb_pp_pragmaStreamFile()
2010-11-03 22:24:18 +00:00
Viktor Szakats
79b266ca4f 2010-11-03 19:01 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    * Using _APPMAIN() instead of MAIN() as entry function, to be
      friendly with plugins using MAIN().
    * Commented test code added for hbrun integration.
    + Added popular package handler's lib and include directory
      to bsd builds' default setup.
    * Added comments describint which such directory belongs to which package
      system (darwin, bsd)
    + Plugins will now be called with Harbour header directory properly setup,
      so it's possible to use headers in them.

  * include/hbclass.ch
    - Deleted some lines which were active when __HARBOUR__ is not defined.
      As I understand this is Harbour-only header, so __HARBOUR__ is always
      to be defined. Please speak up if you know what it was for.
      It was added here: 2006-10-04 02:30 UTC+0200

  * src/pp/hbpp.c
    + Support for -e option which lets override the name of the
      public entry function in generated PP rules .c file.

  * contrib/hbqt/hbqt_hbmk2_plugin.hbs
    + Some provisions to handle .qth files.

  * INSTALL
    * https links changed to http for win nightly pkgs.
2010-11-03 18:03:03 +00:00
Viktor Szakats
241e472652 2010-11-01 22:56 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/pp/ppcore.c
    ! Fixed regression in 2010-11-01 16:42 UTC+0200.
      Forgot to set value for __PLATFORM__* macros.
      INCOMPATIBLE: So far the value returned by __PLATFORM__*
                    macros were the version part from the string
                    also returned by OS(), but only in non-cross
                    platform situations. Now they are defined
                    without any value, which means now the returned 
                    value is consistent regardless of build-situation
                    and OS version. If you relied on this feature, 
                    change your code to extract OS version from value 
                    return by OS() function.

  * src/vm/mainwin.c
    % Do not include windows header.

  * src/vm/cmdarg.c
    - Undone some (innocent) part of patch in 2010-11-01 13:53 UTC+0200.

  * INSTALL
    * Moved around cygwin inside example section.
2010-11-01 21:59:18 +00:00
Viktor Szakats
ab28161da8 2010-11-01 16:42 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbapi.h
  * src/common/hbver.c
    + Added hb_verPlatformMacro(), which returns string as it appears
      in __PLATFORM__* macro.
      This function will have to be extended for each new platform
      Harbour is getting ported to.

  * src/pp/ppcore.c
    ! Changed to use hb_verPlatformMacro() value to form __PLATFORM__*
      macro, instead of using hb_verPlatform(), which offers no
      guarantee for the value on *nix systems and it's was hack
      on other platforms too (f.e. it got messed up when Windows
      version string was changed to show "wine" at the beginning
      of the human readable platform string).
    % Made forming of __PLATFORM__* macros simpler, using hb_snprintf().
    ! Now WINCE builds of pp will also defined __PLATFORM__WINDOWS.

  ; Please review/test.
2010-11-01 15:44:47 +00:00
Przemyslaw Czerpak
c32df3353a 2010-09-23 12:11 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/pp/ppcore.c
    + added new PP directive:
         #warning <*msg*>

  * harbour/include/hbclass.ch
    * use #warning instead of #error for class method declaration mismatch
      (enabled by -w3 compiler switch)
2010-09-23 10:11:13 +00:00
Przemyslaw Czerpak
3cd6f5a972 2010-09-04 12:30 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbatomic.h
    * added two new build time macros which can be used to control
      using GCC atomic builtin functions changing the default settings.
         HB_USE_GCCATOMIC_OFF - disable using atomic builtins
         HB_USE_GCCATOMIC     - force using atomic builtins

  - harbour/src/pp/hbpp.1
  + harbour/examples/pp/pp.1
    ! moved man files for old harbour preprocessor to correct place

  + harbour/src/pp/hbpp.1
    + added new man file for current hbpp
2010-09-04 10:30:41 +00:00
Przemyslaw Czerpak
67565d079a 2010-08-19 11:09 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbpp.h
  * harbour/src/pp/ppcore.c
    + added new result marker <@> which creates token significant for PP but
      invisible for compiler.
      This extenssion allows to resolve problem with circular rules in very
      easy way, i.e.
         #command function <!name!>( [@]<!par1!> [:= <val1>] ;
                                     [, [@]<!parN!> [:= <valN>]] ) => ;
                  function <name>( <par1> [, <parN> ] ) <@>
2010-08-19 09:09:44 +00:00
Przemyslaw Czerpak
87316155b4 2010-08-13 14:23 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbpp.h
    ! typo in comment

  * harbour/src/pp/ppcore.c
    ! fixed to not include file by #pragma __*streaminclude <file> | ...
      used inside code disabled by #if* condition, i.e.
         #if 0
            #pragma __streaminclude "file.unknown" | ? %s
         #endif
    ! fixed memory leak and unclosed file handle when too long file was
      included by #pragma __*streaminclude <file> | ...
    ! fixed line numbering in code using
         #pragma __*streaminclude <file> | ...
    ! fixed possible wrong preprocessing or even GPF in code using
         #pragma __*streaminclude <file> | ...
      indirectly (i.e. by some other PP directives) or more then once
      in single line (i.e. using ';' as directive separator)
2010-08-13 12:24:11 +00:00
Viktor Szakats
903294787a 2010-07-29 13:54 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* debian/rules
  * src/pp/Makefile
  * src/dynlib/mt/Makefile
  * src/dynlib/Makefile
  * package/harbour-win.spec
  * package/harbour-wce.spec
  * package/harbour.spec
  * contrib/make.hbs
  * utils/hbmk2/hbmk2.1
  * utils/hbmk2/hbmk2.prg
  * utils/hbrun/hbrun.prg
  * utils/hbrun/hbrun.hbp
  * utils/hbrun/Makefile
  * doc/gmake.txt
  * config/postinst.hbs
  * config/global.mk
  * config/lib.mk
  * config/bin.mk
  * config/header.mk
  * config/dyn.mk
  * config/doc.mk
  * INSTALL
    * Renamed install dir control envvars to be in the same
      "namespace": (INCOMPATIBLE if you used to manually
      configure these)
      HB_BIN_INSTALL -> HB_INSTALL_BIN
      HB_LIB_INSTALL -> HB_INSTALL_LIB
      HB_DYN_INSTALL -> HB_INSTALL_DYN
      HB_INC_INSTALL -> HB_INSTALL_INC
      HB_DOC_INSTALL -> HB_INSTALL_DOC
      HB_MAN_INSTALL -> HB_INSTALL_MAN
      HB_ETC_INSTALL -> HB_INSTALL_ETC

  * contrib/hbide/idemisc.prg
    - Deleted unused code.
2010-07-29 11:58:25 +00:00
Viktor Szakats
78e026b4a8 2010-07-27 18:42 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/pp/ppcore.c
    ! Fixed missing const when compiled with HB_PP_STRICT_LINEINFO_TOKEN
      option. Reported by Frank van Nuffel.
2010-07-27 16:43:12 +00:00
Viktor Szakats
5c7a07b0ba 2010-07-15 07:12 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbdoc2/hbdoc2.prg
  * contrib/hbdoc2/hbdoc2.hbp
  - contrib/hbdoc2/genhbd.prg
    - Deleted .hbd geneation from hbdoc2. This tool will 
      have to redesigned to use core hbdoc load/save functions, 
      etetc.

  ; Patches by Tamas Tevesz:

  * src/pp/ppcore.c
    ! Fixed very old bad type on one of the PP error msgs.

  * contrib/gtwvg/wvgwin.c
  * contrib/gtwvg/wvgwing.c
  * contrib/hbwin/win_shell.c
    * Cleanups after recent changes.
2010-07-15 05:14:56 +00:00
Viktor Szakats
96e069c19e 2010-07-12 18:44 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
  * src/rtl/Makefile
  + src/rtl/hbdoc.prg
    + Added __HBDOC_LOADDIR() internal RTL function to read
      NFDOC formatted documentation source directories into
      memory. The result will be a list of hashes which contain
      the raw content of doc files. The function does format
      validation (but not content) and add all agreed-on metadata
      to the hashes.
      It's a start and I hope others can join to create new
      layers of function for below functionality:
         - doc content validation
         - pre-formatting
         - output generators
      The goal is to avoid local solutions and standardize
      the format.

  + tests/hbdoctst.prg
    + Added small test app which will find and parse all
      documentation inside the Harbour source tree and
      save them in .hbd (serialized doc hash) format.
      Such .hdb files can be generated by the build process
      in the future, so tools like HBIDE can use the content
      to display intellisense or built-in help.
    ; TODO: HBQT doc/html should be removed as it's 
            hbdoc tools' job to convert HBDOC source 
            format to html or whatever else format needed.

  * harbour.spec
  * debian/rules
  - doc/man
  + src/pp/hbpp.1
  + src/main/harbour.1
  + utils/hbmk2/hbmk2.1
  + utils/hbtest/hbtest.1
  + utils/hbrun/hbrun.1
    * Moved man doc files to their own component dirs.

  * doc/Makefile
  * doc/en/Makefile
  + doc/clipper.txt
  - doc/en/clipper.txt
    * Moved non-NFDOC formatted doc file to doc dir.

  * doc/en/Makefile
    ! Fixed missing 1stread.txt

  * doc/en/hb_apigt.txt
  * doc/en/hbinet.txt
  * doc/en/tbrowse.txt
  * doc/en/hb_apifs.txt
    ! Fixed NFDOC non-standard entries.

  * bin/hbxpatch.hbs
    ! Fixed detecting dirs. (could cause errors only in rare cases)

  * contrib/hbdoc2/tmplates.prg
    * Formatting.
2010-07-12 16:47:24 +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
d01a607625 2010-07-07 19:02 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/pp/ppcore.c
    ! Extended one variable type to HB_ISIZ from int after
      latest PP modifications. Shown by msvc64.
2010-07-07 17:03:33 +00:00
Przemyslaw Czerpak
8856f7bccd 2010-07-02 16:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/pp/ppcore.c
    % do not allocate 16MB buffer even if included file has 1 byte.
    * changed the maximum size for data included by
      #pragma __[c]streaminclude from 64KB to 16MB
2010-07-02 14:06:09 +00:00
Viktor Szakats
b83ec8bb29 2010-07-02 15:04 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/pp/ppcore.c
  * include/hbpp.h
    + Added #pragma __binarystreaminclude. Works the same as
      other stream include pragmas, but here it the size limit
      is ~16MB and it accepts binary files for input.
    ; TODO: The encoding now contains high ascii chars which
            is unsafe as it can be converted by editors thus
            corrupting the embedded binary.

  * contrib/hbqt/hbmk2_plugin_qt.prg
    % Optimized .qrc to .prg converter to not split the lines.
      Harbour is able to compile very long source lines, pbly 
      todays patch from Przemek was needed for that. Nice!
2010-07-02 13:04:35 +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