Go to file
Peace-Maker 7868767dde Add string literal concatenation using ellipses "..." (bug 4261, PR #5)
commit cd0d31805c
Author: Peace-Maker <peace-maker@wcfan.de>
Date:   Wed May 28 03:07:25 2014 +0200

    Ignore \ ctrlchar in lexing

commit cf617a4d20
Author: Peace-Maker <peace-maker@wcfan.de>
Date:   Tue May 27 13:32:59 2014 +0200

    Add string literal concatenation using ellipses "..." (bug 4261)

    Backported the changes CompuPhase did to the compiler to support string
    literal concatenation including all fixes in later commits from r30 on.
    http://code.google.com/p/pawnscript/source/detail?r=30

    Pawn uses ellipses "..." to concatenate so it looks like this:

    #define PROJECT_AUTHOR "Greyscale"
    #define PROJECT_COPYRIGHT "Copyright (C) 2010  " ... PROJECT_AUTHOR

    This would result in PROJECT_COPYRIGHT being defined as
    "Copyright (C) 2010  Greyscale"

    While i've been at it, that stringizing a macro parameter feature was
    ported too.
    From the changelog for version 3.3.4026
    (http://www.compuphase.com/pawn/pawnhistory.htm):

    The macro substition processor now recognizes the "#" character for
    "stringizing" a parameter. For example, if you have the definition
    #define log(%1) #%1
    Then the expression log(test) will result in "test".
    Note that concatenation of literal strings requires an ellipsis in pawn
    (which is different than C/C++). So to combine the parameter with
    literal strings, use a syntax like:
    #define log(%1) "logging: " ... #%1 ... "\n"
    The stringize operator is only available in the replacement text of a
    macro.

    Doing
    PrintToServer(log(hello));
    would print
    logging: hello\n
2014-05-27 19:30:13 -07:00
configs Add an interpreter because. (bug 5902, r=ds). 2013-09-01 00:23:44 -07:00
core Call OnLibraryAdded for all available libraries (bug 5925, PR #4) 2014-05-27 19:26:58 -07:00
editor Added AMXX Pawn geshi generation script. 2010-08-23 13:53:44 -04:00
extensions Switch build infrastructure to Git. 2014-05-25 01:53:58 -07:00
gamedata Update CS:GO team score gamedata. 2014-05-22 09:49:27 -04:00
knight/shared More Windows build fix. 2013-08-08 22:02:42 -07:00
loader Add support for Contagion (bug 6007, r=asherkin). 2014-03-29 14:14:00 -04:00
msvc10 Added msvc10 proj file for Regex extension and hooked up to meta sln (NPOTB). 2013-03-17 11:29:55 -04:00
plugins Add CS_SLOT_KNIFE define (bug 6131, r=drifter). 2014-05-21 09:08:53 -04:00
public Change version display. 2014-05-25 03:18:05 -07:00
sourcepawn Add string literal concatenation using ellipses "..." (bug 4261, PR #5) 2014-05-27 19:30:13 -07:00
tools Fix spacing. 2014-05-26 22:21:27 -07:00
translations Add support for customizing ban reasons in basebans.sp (bug 5762, r=psychonic). 2013-08-28 13:17:17 -04:00
versionlib Change version display. 2014-05-25 03:18:05 -07:00
.arcconfig Add a .arcconfig file so that arc works 2013-10-15 22:57:59 +01:00
.gitignore Replace .hgignore with .gitignore. 2014-05-24 23:55:24 -05:00
AMBuildScript Find metamod-source over mmsource-central. 2014-05-26 21:38:08 -07:00
changelog.txt Triggering a build. 2011-04-13 19:05:41 -05:00
configure.py Add path configuration options. 2014-05-26 21:30:43 -07:00
product.version Bump version to 1.6.0. 2013-02-10 21:10:25 -08:00
pushbuild.txt Trigger build for hl2sdk-l4d changes. 2014-05-21 17:25:30 -04:00
README.md and maybe also a hyphen 2014-05-27 01:09:12 -06:00

SourceMod

General

Development