2016-10-26 12:50 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)

- extras/hbdoc/_tmplate.prg
  - extras/hbdoc/hbdoc.ch
  * extras/hbdoc/_genbase.prg
  * extras/hbdoc/_genhtml.prg
  * extras/hbdoc/_gentxt.prg
  * extras/hbdoc/_genxml.prg
  * extras/hbdoc/hbdoc.hbp
  * extras/hbdoc/hbdoc.prg
    + improve readability by paragraphs spacing in DESCRIPTION sections
    + improve divs in section content for better control via CSS
    + improve readability of tables with borders and
      header hightlights
    * change default output to single-file
    + add support for the old <table>/<fixed> tags in html output until they
      are converted to something better
    + add support for <b>/<b>, <URL:url>, Markdown `inline code`,
      _emphasis_, *bold*, character escaping \*, line separators ===/---,
      and fenced code using triple backticks.
      Very limited and not with standard compliance or completeness
      in mind, just to be able to use some basic formatting.
    ; TODO: Markdown URL and lists, then replace all <b>,<URL>,<fixed>
            markup with Markdown equivalents in docs
    + better localization support
    + add support for one file per component output via -output-component
      cmdline option
    % assemble output in memory and write to disk in a single call
    % integrate external header
    % replace almost all internal arrays with hashes
    % replace self-modifying class and macro expansion with
      regular hashes
    % internal cleanups
    % switch to simpler method for sort weighting
    + merge category/subcategory values into tag list. It
      means they will be now be included in the output
    % cleanup/fix/simplify value expansions for 'compliance',
      'status' and 'platform' fields
    % cleanup the way output engines are handles internally
    + add support for 'TAGS' entry to replace/extend the rigid and
      ambiguous CATEGORY/SUBCATEGORY-based categorization. It is meant
      to be a comma-separated list of freeform tags, possibly with a set
      of standard common tags, with the freedom to use anything else deemed
      useful by component/doc authors.
    + add footer showing the build date of the doc
    + include Git revision the doc is based on, link to the relevant
      source tree version.
    * various code refactoring steps to avoid unnecessary
      classes, arrays, macro evaluation, and using undocumented
      functions
    % various HTML5 tag improvements and optimizations
    + load HBX file contents and lookup each referenced
      symbol. Emit warning in verbose mode, if docs refers
      to non-existing one.
      (this replaces slow and broken logic based on hbextern.ch)
    + use core hbdoc API to load the documentation instead
      of locally rolled logic
    * always show those content problems that are considered
      fatal and the input doc to be skipped
    + filter docs to English language by default
    + add ability to choose language using a command-line option
    ! fix faulty validation logic that resulted in
      erronously skipping certain entries
    + identify docs' 'component' property automatically
    ! fix to not eat empty lines from examples
    + convert "see also" items to links (this works correctly only
      in single file output mode)
    ! fix to not break words (f.e. URLs) when outputting HTML
    % use shorter class names
    ! fix invalid element ID generated
    ! fix RTE when trying to create output by category
    % delete dummy "HTML2" output mode
    * convert more ASCII chars to better Unicode equivalents
    + mark more text as code automatically
    * drop MS-DOS compatibility

  * src/rtl/hbdoc.prg
    ! fix filling '_LANG' property with the correct value
    * switch to use LF instead of CRLF in the field contents

  * contrib/hbct/doc/en/*.txt
  * contrib/hbgd/doc/en/hbgd.txt
  * contrib/hbgt/doc/en/hbgt.txt
  * contrib/hbmisc/doc/en/dates2.txt
  * contrib/hbnf/doc/en/*.txt
  * contrib/rddads/doc/en/adsfuncs.txt
  * doc/en/*.txt
    * cleanups and fixes
    ! casing
    ! fix to always delimit "see also" items with comma (",")
    ! fix various casing issues and old typos
    ! various fixes after detecting them using updated hbdoc
    ! eliminate/fix various rare/unnecessary/invalid field values
    ! move some embedded docs from hbdoc into their respective
      doc sources
    ! fix a typo
    * use backtick
    * replace code copyright with reference to COPYING.txt (=LICENSE.txt)
    + mark tables without a header or with double height header

  ; Above patches come from 3.4 fork commits below:

    2016-10-26 12:43 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2016-10-26 12:34 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2016-10-26 12:20 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2016-10-26 03:21 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2016-10-26 02:47 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2016-10-25 15:05 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2016-10-25 14:51 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2016-10-25 14:30 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2016-10-25 13:19 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2016-10-25 12:35 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2016-10-25 11:47 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2016-10-25 02:48 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2016-10-24 22:26 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2016-10-24 18:35 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2016-10-24 17:58 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2016-10-24 16:12 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2016-10-24 15:44 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2016-10-24 03:36 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2016-10-24 02:40 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2016-10-24 00:23 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2016-10-23 23:09 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2016-10-23 16:39 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2016-10-23 16:10 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2016-10-23 13:15 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
This commit is contained in:
Viktor Szakats
2016-10-26 13:07:21 +02:00
parent da5de0c27b
commit c1bde05495
86 changed files with 1791 additions and 1613 deletions

View File

@@ -1,44 +1,7 @@
/*
* Copyright 2009 April White <bright.tigra gmail.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this software; see the file COPYING.txt. If not, write to
* the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
* Boston, MA 02111-1307 USA (or visit the website https://www.gnu.org/).
*
* As a special exception, the Harbour Project gives permission for
* additional uses of the text contained in its release of Harbour.
*
* The exception is that, if you link the Harbour libraries with other
* files to produce an executable, this does not by itself cause the
* resulting executable to be covered by the GNU General Public License.
* Your use of that executable is in no way restricted on account of
* linking the Harbour library code into it.
*
* This exception does not however invalidate any other reasons why
* the executable file might be covered by the GNU General Public License.
*
* This exception applies only to the code released by the Harbour
* Project under the name Harbour. If you copy code from other
* Harbour Project or Free Software Foundation releases into a copy of
* Harbour, as the General Public License permits, the exception does
* not apply to the code that you add in this way. To avoid misleading
* anyone as to the status of such modified files, you must delete
* this exception notice from them.
*
* If you write modifications of your own for Harbour, it is your choice
* whether to permit this exception to apply to your modifications.
* If you do not wish that, delete this exception notice.
* See COPYING.txt for licensing terms.
*
*/
@@ -46,17 +9,14 @@
$TEMPLATE$
Document
$NAME$
1st document to read
Welcome to Harbour
$CATEGORY$
Document
$SUBCATEGORY$
Intro
$ONELINER$
A starters guide to Harbour
A starter's guide
$DESCRIPTION$
Welcome to Harbour
==================
Clipper is a trademark of Computer Associates and will often be
referred to as CA-Cl*pper within Harbour documents. Regardless of this
variant, Clipper is recognized as Computer Associates' trademark.
@@ -66,19 +26,18 @@
Clipper). The goal of Harbour is to produce a cross platform CA-Cl*pper
compatible compiler.
The Harbour website is at <URL:https://harbour.github.io/>.
The Harbour website is at <URL:https://vszakats.github.io/harbour-core/>.
If you have any problems with this copy of Harbour please visit our web
site and ensure that you are using the latest release.
If you are reading this file as part of a source distribution of Harbour you
probably want to start by reading dirstruc.txt because this is your map to
probably want to start by reading `dirstruc.txt` because this is your map to
the Harbour source directories.
Harbour is a superset of Clipper and is backwards compatible with nearly
100% of all Clipper 5.2x or 5.3 code. Most Clipper S'87 code will also
compile and run fine, but may require some modifications to run well.
$PLATFORMS$
All
$FILES$
$SEEALSO$

View File

@@ -38,6 +38,9 @@
destroy the original array and release the entire contents of the
array. This depends, of course, on the data storage type of either
the array or the variable with the same name as the array.
CA-Cl*pper v5.x compliant except that arrays in Harbour can have
an unlimited number of elements.
$EXAMPLES$
PROCEDURE Main()
LOCAL aArray := Array( 10 )
@@ -50,7 +53,7 @@
$STATUS$
R
$COMPLIANCE$
C(array)
C
$FILES$
Library is core
$SEEALSO$
@@ -574,6 +577,9 @@
can sort multidimensional array, descending orders or even (but why
would you want to do that) sort array that contain different data
type.
Codeblock calling frequency and order differs from CA-Cl*pper, since
Harbour uses a different (faster) sorting algorithm (quicksort).
$EXAMPLES$
// sort numeric values in ascending order
ASort( { 3, 1, 4, 42, 5, 9 } ) // result: { 1, 3, 4, 5, 9, 42 }
@@ -590,7 +596,7 @@
$STATUS$
R
$COMPLIANCE$
C(arrayblock)
C
$FILES$
Library is core
$SEEALSO$

View File

@@ -7,8 +7,6 @@
Document
$SUBCATEGORY$
Compiler
$ONELINER$
Compiler Options
$DESCRIPTION$
<b>Invoking the Harbour compiler: </b> </par>
============================== </par>

View File

@@ -39,6 +39,10 @@
__Dir() is a compatibility function, it is superseded by Directory()
which return all the information in a multidimensional array.
If long file names are available Harbour will use/display the first
15 characters else Harbour will use/display a 8.3 file name consistent
with CA-Cl*pper.
$EXAMPLES$
__Dir() // information for all DBF files in current directory
@@ -55,7 +59,7 @@
$COMPLIANCE$
C
$PLATFORMS$
All(LFN)
All
$FILES$
Library is core
$SEEALSO$
@@ -94,6 +98,10 @@
__Dir() is a compatibility function, it is superseded by Directory()
which returns all the information in a multidimensional array.
If long file names are available Harbour will use/display the first
15 characters else Harbour will use/display a 8.3 file name consistent
with CA-Cl*pper.
$EXAMPLES$
DIR // information for all DBF files in current directory
@@ -110,7 +118,7 @@
$COMPLIANCE$
C
$PLATFORMS$
All(LFN)
All
$SEEALSO$
ADir(), Directory(), SET DEFAULT, __Dir()*
$END$

View File

@@ -42,7 +42,7 @@
$COMPLIANCE$
C
$PLATFORMS$
DOS, Win, OS2
All
$FILES$
Library is core
Header is fileio.ch
@@ -104,7 +104,7 @@
$COMPLIANCE$
H
$PLATFORMS$
DOS, Win, OS2, Unix
All
$FILES$
Library is core
Header is fileio.ch

View File

@@ -5,8 +5,6 @@
Harbour Extensions
$CATEGORY$
Document
$ONELINER$
Harbour Extensions
$DESCRIPTION$
<b>Language extensions:</b> </par>
--------------------

View File

@@ -1,47 +1,8 @@
/*
* Hash table type and functions
*
* Copyright 2009 April White <bright.tigra gmail.com>
* Copyright 2007 Przemyslaw Czerpak <druzus / at / priv.onet.pl>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this software; see the file COPYING.txt. If not, write to
* the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
* Boston, MA 02111-1307 USA (or visit the web site https://www.gnu.org/).
*
* As a special exception, the Harbour Project gives permission for
* additional uses of the text contained in its release of Harbour.
*
* The exception is that, if you link the Harbour libraries with other
* files to produce an executable, this does not by itself cause the
* resulting executable to be covered by the GNU General Public License.
* Your use of that executable is in no way restricted on account of
* linking the Harbour library code into it.
*
* This exception does not however invalidate any other reasons why
* the executable file might be covered by the GNU General Public License.
*
* This exception applies only to the code released by the Harbour
* Project under the name Harbour. If you copy code from other
* Harbour Project or Free Software Foundation releases into a copy of
* Harbour, as the General Public License permits, the exception does
* not apply to the code that you add in this way. To avoid misleading
* anyone as to the status of such modified files, you must delete
* this exception notice from them.
*
* If you write modifications of your own for Harbour, it is your choice
* whether to permit this exception to apply to your modifications.
* If you do not wish that, delete this exception notice.
* See COPYING.txt for licensing terms.
*
*/

View File

@@ -90,7 +90,7 @@
DO WHILE Inkey( 0.1 ) != K_ESC
ENDDO
//
KEYBOARD "AB"; ? Inkey(), Inkey() // ==> 65 66
KEYBOARD "AB"; ? Inkey(), Inkey() // -> 65 66
$STATUS$
S
$COMPLIANCE$
@@ -136,9 +136,9 @@
// Clear the keyboard buffer
CLEAR TYPEAHEAD
//
KEYBOARD Chr( 13 ); ? Inkey() // ==> 13
KEYBOARD ";" ? Inkey() // ==> 13
KEYBOARD "Hello"; CLEAR TYPEAHEAD; ? Inkey() // ==> 0
KEYBOARD Chr( 13 ); ? Inkey() // -> 13
KEYBOARD ";"; ? Inkey() // -> 13
KEYBOARD "Hello"; CLEAR TYPEAHEAD; ? Inkey() // -> 0
$STATUS$
R
$COMPLIANCE$
@@ -176,8 +176,8 @@
be inserted.
$EXAMPLES$
// Stuff an Alt+PgDn key into the keyboard buffer
hb_keyPut( K_ALT_PGDN ); ? Inkey() // ==> 417
hb_keyPut( K_F11 ); ? Inkey() // ==> -40
hb_keyPut( K_ALT_PGDN ); ? Inkey() // -> 417
hb_keyPut( K_F11 ); ? Inkey() // -> -40
$STATUS$
R
$COMPLIANCE$
@@ -228,7 +228,7 @@
ENDIF
ENDDO
//
KEYBOARD "AB"; ? NextKey(), NextKey() // ==> 65 65
KEYBOARD "AB"; ? NextKey(), NextKey() // -> 65 65
$STATUS$
R
$COMPLIANCE$
@@ -273,7 +273,7 @@
ENDIF
ENDDO
//
KEYBOARD "AB"; ? Inkey(), LastKey() // ==> 65 65
KEYBOARD "AB"; ? Inkey(), LastKey() // -> 65 65
$STATUS$
R
$COMPLIANCE$
@@ -319,8 +319,8 @@
// Clear the keyboard buffer
CLEAR TYPEAHEAD
//
KEYBOARD Chr( 13 ); ? Inkey() // ==> 13
KEYBOARD "Hello"; CLEAR TYPEAHEAD; ? Inkey() // ==> 0
KEYBOARD Chr( 13 ); ? Inkey() // -> 13
KEYBOARD "Hello"; CLEAR TYPEAHEAD; ? Inkey() // -> 0
$STATUS$
R
$COMPLIANCE$
@@ -353,7 +353,7 @@
key pressed. If the GET buffer was updated during READ, 256 is added
to the return code.
<table>
<table-doubleheader>
Exit Return code Return code
Key (not updated) (updated)

View File

@@ -7,8 +7,6 @@
Document
$SUBCATEGORY$
Compiler
$ONELINER$
Macro compiler
$DESCRIPTION$
<b>Invoking the macro compiler: </b> </par>
============================== </par>

View File

@@ -147,7 +147,7 @@
$STATUS$
R
$COMPLIANCE$
C(menu)
C
$FILES$
Library is core
$SEEALSO$
@@ -210,7 +210,7 @@
$STATUS$
R
$COMPLIANCE$
C(menu)
C
$SEEALSO$
AChoice(), MENU TO, SET MESSAGE, SET INTENSITY, SET WRAP, __MenuTo()
$END$

View File

@@ -405,7 +405,7 @@
$FILES$
Library is core
$SEEALSO$
__objAddData(), __objAddMethod(), __objDelInline(), __objGetMethodList(), __objGetMsgList(), __objHasMethod() , __objModInline()
__objAddData(), __objAddMethod(), __objDelInline(), __objGetMethodList(), __objGetMsgList(), __objHasMethod(), __objModInline()
$END$
*/

View File

@@ -390,7 +390,7 @@
<lOpenNew> 3-way toggle to Open the file in New or Current workarea:
<table>
<table-noheader>
NIL The file is not opened.
True It is opened in a New area.
False It is opened in the current area.

View File

@@ -111,7 +111,7 @@
$ONELINER$
Set the Condition and scope for an order
$SYNTAX$
ORDCONSET([<cForCondition>],
ordCondSet( [<cForCondition>],
[<bForCondition>],
[<lAll>],
[<bWhileCondition>],
@@ -125,7 +125,7 @@
[<lAdditive>],
[<lCurrent>],
[<lCustom>],
[<lNoOptimize>])
[<lNoOptimize>] )
$ARGUMENTS$
<cForCondition> is a string that specifies the FOR condition for the
order.

View File

@@ -82,7 +82,7 @@
NOTE GET functions/formatting rules:
<table>
<table-noheader>
@A Allows only alphabetic characters.
@B Numbers will be left justified
@C All positive numbers will be followed by CR.
@@ -103,7 +103,7 @@
GET templates/formatting rules:
<table>
<table-noheader>
A Only alphabetic characters allowed.
N Only alphabetic and numeric characters allowed
X Any character allowed.

View File

@@ -1204,7 +1204,7 @@
When SET DECIMALS OFF is used, the following rules apply to the number
of decimal placed displayed.
<table>
<table-noheader>
Addition Same as operand with the greatest number of decimal digits
Subtraction Same as operand with the greatest number of decimal digits
Multiplication Sum of operand decimal digits

View File

@@ -33,7 +33,7 @@
that produce the video mode change.
The followings are availables for GTDOS:
<table>
<table-noheader>
12 rows x 40 columns 12 rows x 80 columns
25 rows x 40 columns 25 rows x 80 columns
28 rows x 40 columns 28 rows x 80 columns
@@ -43,7 +43,7 @@
The follow modes are available to Windows
<table>
<table-noheader>
25 rows x 40 columns 25 rows x 80 columns
50 rows x 40 columns 43 rows x 80 columns
50 rows x 80 columns
@@ -71,7 +71,7 @@
$COMPLIANCE$
Some of these modes are not availables in CA-Cl*pper
$PLATFORMS$
DOS, Win
All
$SEEALSO$
MaxCol(), MaxRow()
$END$

View File

@@ -1501,7 +1501,7 @@
The table below shows the possible function strings available with
the Transform() function.
<table>
<table-noheader>
@B Left justify the string within the format.
@C Issue a CR after format is numbers are positive.
@D Put dates in SET DATE format.
@@ -1518,7 +1518,7 @@
character in the string may be formatted based on using the follow
characters as template markers for the string.
<table>
<table-noheader>
A,N,X,9,# Any data type
L Shows logical as "T" or "F"
Y Shows logical as "Y" or "N"

View File

@@ -59,7 +59,7 @@
$COMPLIANCE$
C
$PLATFORMS$
All(GT)
All
$FILES$
Library is core
$SEEALSO$
@@ -102,7 +102,7 @@
$COMPLIANCE$
C
$PLATFORMS$
All(GT)
All
$SEEALSO$
RESTORE SCREEN, __XRestScreen(), __XSaveScreen()
$END$
@@ -146,7 +146,7 @@
$COMPLIANCE$
C
$PLATFORMS$
All(GT)
All
$FILES$
Library is core
$SEEALSO$
@@ -189,7 +189,7 @@
$COMPLIANCE$
C
$PLATFORMS$
All(GT)
All
$SEEALSO$
__XRestScreen(), SAVE SCREEN, __XSaveScreen()
$END$
@@ -840,7 +840,7 @@
$COMPLIANCE$
C
$PLATFORMS$
Linux(GT), OS2(GT), Win(GT)
All
$FILES$
Library is core
$SEEALSO$
@@ -876,7 +876,7 @@
$COMPLIANCE$
C
$PLATFORMS$
Linux(GT), OS2(GT), Win(GT)
All
$FILES$
Library is core
$SEEALSO$