+ latest version of listings. package (1.0)

This commit is contained in:
michael 2003-03-18 00:07:22 +00:00
parent a565bec18a
commit c061b43fe2
8 changed files with 3425 additions and 1889 deletions

View File

@ -6,8 +6,8 @@
%%
%% lstdrvrs.dtx (with options: `config')
%%
%% (w)(c) 1996/1997/1998/1999/2000 Carsten Heinz and/or any other author
%% listed elsewhere in this file.
%% (w)(c) 1996/1997/1998/1999/2000/2001/2002 Carsten Heinz and/or any
%% other author listed elsewhere in this file.
%%
%% This file is distributed under the terms of the LaTeX Project Public
%% License from CTAN archives in directory macros/latex/base/lppl.txt.
@ -15,29 +15,26 @@
%%
%% This file is completely free and comes without any warranty.
%%
%% Permission is granted to change this file. You are not allowed to
%% distribute any changed version of this file, neither under the same
%% name nor under a different one.
%%
%% Send comments and ideas on the package, error reports and additional
%% programming languages to <cheinz@gmx.de>.
%%
\ProvidesFile{listings.cfg}[2002/04/01 v1.0 listings configuration]
\def\lstlanguagefiles
{lstlang0.sty,lstlang1.sty,lstlang2.sty,lstlang3.sty}
\lstset{defaultdialect=[R/3 4.6C]ABAP,
\lstset{defaultdialect=[R/3 6.10]ABAP,
defaultdialect=[95]Ada,
defaultdialect=[68]Algol,
defaultdialect=[Visual]Basic,
defaultdialect=[ANSI]C,
defaultdialect=[light]Caml,
defaultdialect=[1985]Cobol,
defaultdialect=[ANSI]C++,
defaultdialect=[ISO]C++,
defaultdialect=[95]Fortran,
defaultdialect=[3.0]Mathematica,
defaultdialect=[OMG]OCL,
defaultdialect=[Standard]Pascal,
defaultdialect=[67]Simula,
defaultdialect=[plain]TeX}
defaultdialect=[plain]TeX,
defaultdialect=[97]VRML}
\lstalias[]{TclTk}[tk]{tcl}
\endinput
%%

File diff suppressed because it is too large Load Diff

View File

@ -8,33 +8,57 @@
%%
%% Please read the software license in listings.dtx or listings.dvi.
%%
%% (w)(c) 1996/1997/1998/1999/2000 Carsten Heinz and/or any other author
%% (w)(c) 1996 -- 2002 Carsten Heinz and/or any other author
%% listed elsewhere in this file.
%%
%% This file is distributed under the terms of the LaTeX Project Public
%% License from CTAN archives in directory macros/latex/base/lppl.txt.
%% Either version 1.0 or, at your option, any later version.
%%
%% Permission is granted to modify the listings package as well as
%% lstdrvrs.dtx. You are not allowed to distribute a modified version
%% of the package or lstdrvrs.dtx unless you change the file names and
%% provide the original files. In any case it is better to contact the
%% address below; other users will welcome removed bugs, new features,
%% and additional programming languages.
%%
%% The listings package is free software.
%%
%% However, if you distribute the package as part of a commercial
%% product or if you use the package to prepare a document and sell the
%% document (books, journals, and so on), I'd like to encourage you to
%% make a donation to the LaTeX3 fund. The size of this `license fee'
%% should depend on the value of the package for your product.
%% product or if you use the package to prepare a commercial document
%% (books, journals, and so on), I'd like to encourage you to make a
%% donation to the LaTeX3 fund. The size of this `license fee' should
%% depend on the value of the package for your product. For more
%% information about LaTeX see http://www.latex-project.org
%%
%% If you use the package to typeset a non-commercial document, please
%% send me a copy of the document (.dvi, .ps, .pdf, hardcopy, etc.) to
%% support further development.
%%
%% Permission is granted to change this file. You are not allowed to
%% distribute any changed version of this file, neither under the same
%% name nor under a different one.
%% No matter whether you use the package for a commercial or
%% non-commercial document, please send me a copy of the document (.dvi,
%% .ps, .pdf, hardcopy, etc.) to support further development---it is
%% easier to introduce new features or simplify things if I see how the
%% package is used by other people.
%%
%% Send comments and ideas on the package, error reports and additional
%% programming languages to <cheinz@gmx.de>.
%%
\lst@AddToAtTop{\try@load@fontshape}{\def\space{ }}
\def\filedate{2002/04/01}
\def\fileversion{1.0}
\ProvidesPackage{lstdoc}
[\filedate\space\fileversion\space(Carsten Heinz)]
\let\lstdoc@currversion\fileversion
\RequirePackage[writefile]{listings}[2002/04/01]
\newif\iffancyvrb \IfFileExists{fancyvrb.sty}{\fancyvrbtrue}{}
\newif\ifcolor \IfFileExists{color.sty}{\colortrue}{}
\newif\ifhyper \@ifundefined{pdfoutput}{}
{\IfFileExists{hyperref.sty}{\hypertrue}{}}
\newif\ifalgorithmic \IfFileExists{algorithmic.sty}{\algorithmictrue}{}
\iffancyvrb \RequirePackage{fancyvrb}\fi
\ifhyper \RequirePackage[colorlinks]{hyperref}\else
\def\href#1{\texttt}\fi
\ifcolor \RequirePackage{color}\fi
\ifalgorithmic \RequirePackage{algorithmic}\fi
\RequirePackage{nameref}
\renewcommand\ref{\protect\T@ref}
\renewcommand\pageref{\protect\T@pageref}
\def\lst@BeginRemark#1{%
\begin{quote}\topsep0pt\let\small\footnotesize\small#1:}
\def\lst@EndRemark{\end{quote}}
@ -46,6 +70,47 @@
{\lst@BeginRemark{Removed}}{\lst@EndRemark}
\newenvironment{OLDDEF}
{\lst@BeginRemark{Old definition}}{\lst@EndRemark}
\def\advise{\par\list\labeladvise
{\advance\linewidth\@totalleftmargin
\@totalleftmargin\z@
\@listi
\let\small\footnotesize \small\sffamily
\parsep \z@ \@plus\z@ \@minus\z@
\topsep6\p@ \@plus1\p@\@minus2\p@
\def\makelabel##1{\hss\llap{##1}}}}
\let\endadvise\endlist
\def\advisespace{\hbox{}\qquad}
\def\labeladvise{$\to$}
\newenvironment{syntax}
{\list{}{\itemindent-\leftmargin
\def\makelabel##1{\hss\lst@syntaxlabel##1,,,,\relax}}}
{\endlist}
\def\lst@syntaxlabel#1,#2,#3,#4\relax{%
\llap{\scriptsize\itshape#3}%
\def\lst@temp{#2}%
\expandafter\lst@syntaxlabel@\meaning\lst@temp\relax
\rlap{\hskip-\itemindent\hskip\itemsep\hskip\linewidth
\llap{\ttfamily\lst@temp}\hskip\labelwidth
\def\lst@temp{#1}%
\ifx\lst@temp\lstdoc@currversion#1\fi}}
\def\lst@syntaxlabel@#1>#2\relax
{\edef\lst@temp{\zap@space#2 \@empty}}
\newcommand*\syntaxnewline{\newline\hbox{}\kern\labelwidth}
\newcommand*\syntaxor{\qquad or\qquad}
\newcommand*\syntaxbreak
{\hfill\kern0pt\discretionary{}{\kern\labelwidth}{}}
\let\syntaxfill\hfill
\def\alternative#1{\lst@true \alternative@#1,\relax,}
\def\alternative@#1,{%
\ifx\relax#1\@empty
\expandafter\@gobble
\else
\ifx\@empty#1\@empty\else
\lst@if \lst@false \else $\vert$\fi
\textup{\texttt{#1}}%
\fi
\fi
\alternative@}
\long\def\m@cro@#1#2#3{\endgroup \topsep\MacroTopsep \trivlist
\edef\saved@macroname{\string#3}%
\def\makelabel##1{\llap{##1}}%
@ -98,7 +163,7 @@
\def\PrintKeyName#1{\strut\keyname{#1}\ }
\def\SpecialMainKeyIndex#1{%
\@bsphack
\index{keys:\levelchar\protect\keyname{#1}\encapchar main}%
\index{keys\levelchar\protect\keyname{#1}\encapchar main}%
\@esphack}
\newcounter{argcount}
\def\labelargcount{\texttt{\#\arabic{argcount}}\hskip\labelsep$=$}
@ -111,20 +176,18 @@
\def\endmacroargs{\endlist\@endparenv}
\lst@RequireAspects{writefile}
\newbox\lst@samplebox
\lstnewenvironment{lstsample}[2]
{\lst@TestEOLChar{#1}\global\let\lst@intname\@empty
\gdef\lst@sample{#1}%
\lstnewenvironment{lstsample}[3][]
{\global\let\lst@intname\@empty
\gdef\lst@sample{#2}%
\setbox\lst@samplebox=\hbox\bgroup
\setkeys{lst}{language={},style={},tabsize=4,gobble=5,%
basicstyle=\small\ttfamily,basewidth=0.51em}
#2%
basicstyle=\small\ttfamily,basewidth=0.51em,point={#1}}
#3%
\lst@BeginAlsoWriteFile{\jobname.tmp}}
{\lst@EndWriteFile\egroup
\ifdim \wd\lst@samplebox>.5\linewidth
\begin{center}%
\begin{minipage}{0.9\linewidth}%
\hbox to\linewidth{\box\lst@samplebox\hss}%
\end{minipage}%
\end{center}%
\lst@sampleInput
\else
@ -136,12 +199,147 @@
\end{minipage}%
\end{center}%
\fi}
\lst@InstallKeywords{p}{point}{pointstyle}\relax{keywordstyle}{}ld
\lstnewenvironment{lstxsample}[1][]
{\begingroup
\setkeys{lst}{belowskip=-\medskipamount,language={},style={},%
tabsize=4,gobble=5,basicstyle=\small\ttfamily,%
basewidth=0.51em,point={#1}}
\lst@BeginAlsoWriteFile{\jobname.tmp}}
{\endgroup
\endgroup}
\def\lst@sampleInput{%
\MakePercentComment\catcode`\^^M=10\relax
\small\lst@sample
{\setkeys{lst}{SelectCharTable=\lst@ReplaceInput{\^\^I}%
{\lst@ProcessTabulator}}%
\leavevmode \input{\jobname.tmp}}\MakePercentIgnore}
\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
{1.25ex \@plus1ex \@minus.2ex}%
{-1em}%
{\normalfont\normalsize\bfseries}}
\def\lstref#1{\emph{\ref{#1} \nameref{#1}}}
\def\@part[#1]#2{\addcontentsline{toc}{part}{#1}%
{\parindent\z@ \raggedright \interlinepenalty\@M
\normalfont \huge \bfseries #2\markboth{}{}\par}%
\nobreak\vskip 3ex\@afterheading}
\renewcommand*\l@section[2]{%
\addpenalty\@secpenalty
\addvspace{.25em \@plus\p@}%
\setlength\@tempdima{1.5em}%
\begingroup
\parindent \z@ \rightskip \@pnumwidth
\parfillskip -\@pnumwidth
\leavevmode
\advance\leftskip\@tempdima
\hskip -\leftskip
#1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
\endgroup}
\renewcommand*\l@subsection{\@dottedtocline{2}{0pt}{2.3em}}
\renewcommand*\l@subsubsection{\@dottedtocline{3}{0pt}{3.2em}}
\newcommand\ikeyname[1]{%
\lstkeyindex{#1}{}%
\lstaspectindex{#1}{}%
\keyname{#1}}
\newcommand\ekeyname[1]{%
\@bsphack
\lstkeyindex{#1}{\encapchar usage}%
\lstaspectindex{#1}{\encapchar usage}%
\@esphack}
\newcommand\rkeyname[1]{%
\@bsphack
\lstkeyindex{#1}{\encapchar main}%
\lstaspectindex{#1}{\encapchar main}%
\@esphack{\rstyle\keyname{#1}}}
\newcommand\icmdname[1]{%
\@bsphack
\lstaspectindex{#1}{}%
\@esphack\texttt{\string#1}}
\newcommand\rcmdname[1]{%
\@bsphack
\lstaspectindex{#1}{\encapchar main}%
\@esphack\texttt{\rstyle\string#1}}
\def\lstaspectindex#1#2{%
\global\@namedef{lstkandc@\string#1}{}%
\@ifundefined{lstisaspect@\string#1}
{\index{unknown\levelchar
\protect\texttt{\protect\string\string#1}#2}}%
{\index{\@nameuse{lstisaspect@\string#1}\levelchar
\protect\texttt{\protect\string\string#1}#2}}%
}
\def\lstkeyindex#1#2{%
}
\def\lstisaspect[#1]#2{%
\global\@namedef{lstaspect@#1}{#2}%
\lst@AddTo\lst@allkeysandcmds{,#2}%
\@for\lst@temp:=#2\do
{\ifx\@empty\lst@temp\else
\global\@namedef{lstisaspect@\lst@temp}{#1}%
\fi}}
\gdef\lst@allkeysandcmds{}
\def\lstprintaspectkeysandcmds#1{%
\lst@true
\expandafter\@for\expandafter\lst@temp
\expandafter:\expandafter=\csname lstaspect@#1\endcsname\do
{\lst@if\lst@false\else, \fi \texttt{\lst@temp}}}
\def\lstcheckreference{%
\@for\lst@temp:=\lst@allkeysandcmds\do
{\ifx\lst@temp\@empty\else
\@ifundefined{lstkandc@\lst@temp}
{\typeout{\lst@temp\space not in reference guide?}}{}%
\fi}}
\newcommand*\lst{\texttt{lst}}
\newcommand*\Cpp{C\texttt{++}}
\let\keyname\texttt
\let\keyvalue\texttt
\let\hookname\texttt
\newcommand*\aspectname[1]{{\normalfont\sffamily#1}}
\DeclareRobustCommand\packagename[1]{%
{\leavevmode\text@command{#1}%
\switchfontfamily\sfdefault\rmdefault
\check@icl #1\check@icr
\expandafter}}%
\def\switchfontfamily#1#2{%
\begingroup\xdef\@gtempa{#1}\endgroup
\ifx\f@family\@gtempa\fontfamily#2%
\else\fontfamily#1\fi
\selectfont}
\ifcolor
\definecolor{darkgreen}{rgb}{0,0.6,0}
\def\rstyle{\color{darkgreen}}
\else
\let\rstyle\empty
\fi
\gdef\lst@emails{}
\newcommand*\lstthanks[2]
{#1\lst@AddTo\lst@emails{,#1,<#2>}%
\ifx\@empty#2\@empty\typeout{Missing email for #1}\fi}
\newcommand*\lsthelper[3]
{{\let~\ #1}%
\lst@IfOneOf#1\relax\lst@emails
{}{\typeout{^^JWarning: Unknown helper #1.^^J}}}
\lstdefinelanguage[doc]{Pascal}{%
morekeywords={alfa,and,array,begin,boolean,byte,case,char,const,div,%
do,downto,else,end,false,file,for,function,get,goto,if,in,%
integer,label,maxint,mod,new,not,of,or,pack,packed,page,program,%
procedure,put,read,readln,real,record,repeat,reset,rewrite,set,%
text,then,to,true,type,unpack,until,var,while,with,write,writeln},%
sensitive=false,%
morecomment=[s]{(*}{*)},%
morecomment=[s]{\{}{\}},%
morestring=[d]{'}}
\lstdefinestyle{}
{basicstyle={},%
keywordstyle=\bfseries,identifierstyle={},%
commentstyle=\itshape,stringstyle={},%
numberstyle={},stepnumber=1,%
pointstyle=\pointstyle}
\def\pointstyle{%
{\let\lst@um\@empty \xdef\@gtempa{\the\lst@token}}%
\expandafter\lstkeyindex\expandafter{\@gtempa}{}%
\expandafter\lstaspectindex\expandafter{\@gtempa}{}%
\rstyle}
\lstset{defaultdialect=[doc]Pascal,language=Pascal,style={}}
\def\lstscanlanguages#1#2#3{%
\begingroup
\def\lst@DefDriver@##1##2##3##4[##5]##6{%
@ -202,12 +400,12 @@
\lst@PrintDialects@}
\def\lst@PrintDialects@(#1),{%
\ifx\relax#1\else
,\lst@PrintDialect{#1}%
, \lst@PrintDialect{#1}%
\expandafter\lst@PrintDialects@
\fi}
\def\lst@PrintDialect#1{%
\lst@NormedDef\lst@temp{#1}%
\expandafter\ifx\csname lstdd@\lst@language\endcsname\lst@temp
\expandafter\ifx\csname\@lst dd@\lst@language\endcsname\lst@temp
\texttt{\underbar{#1}}%
\else
\texttt{#1}%

View File

@ -6,8 +6,8 @@
%%
%% lstdrvrs.dtx (with options: `lang1')
%%
%% (w)(c) 1996/1997/1998/1999/2000 Carsten Heinz and/or any other author
%% listed elsewhere in this file.
%% (w)(c) 1996/1997/1998/1999/2000/2001/2002 Carsten Heinz and/or any
%% other author listed elsewhere in this file.
%%
%% This file is distributed under the terms of the LaTeX Project Public
%% License from CTAN archives in directory macros/latex/base/lppl.txt.
@ -15,13 +15,22 @@
%%
%% This file is completely free and comes without any warranty.
%%
%% Permission is granted to change this file. You are not allowed to
%% distribute any changed version of this file, neither under the same
%% name nor under a different one.
%%
%% Send comments and ideas on the package, error reports and additional
%% programming languages to <cheinz@gmx.de>.
%%
\ProvidesFile{lstlang1}
[2002/07/31 v1.0d listings language file]
%%
%% ACSL definition (c) 2000 by Andreas Matthias <amat@kabsi.at>
%%
\lst@definelanguage{ACSL}[90]{Fortran}%
{morekeywords={algorithm,cinterval,constant,derivative,discrete,%
dynamic,errtag,initial,interval,maxterval,minterval,%
merror,xerror,nsteps,procedural,save,schedule,sort,%
table,terminal,termt,variable},%
sensitive=false,%
morecomment=[l]!%
}[keywords, comments]%
%%
%% Ada 95 definition (c) Torsten Neuer <tneuer@inwise.de>
%%
@ -40,19 +49,154 @@
morestring=[m]",% percent not defined as stringizer so far
morestring=[m]'%
}[keywords,comments,strings]%
\lst@definelanguage[Visual]{C++}[ANSI]{C++}%
%%
%% Visual Basic definition (c) 2002 Robert Frank <rf7@ukc.ac.uk>
%%
\lst@definelanguage[Visual]{Basic}
{morekeywords={Abs,Array,Asc,AscB,AscW,Atn,Avg,CBool,CByte,CCur,%
CDate,CDbl,Cdec,Choose,Chr,ChrB,ChrW,CInt,CLng,Command,Cos,%
Count,CreateObject,CSng,CStr,CurDir,CVar,CVDate,CVErr,Date,%
DateAdd,DateDiff,DatePart,DateSerial,DateValue,Day,DDB,Dir,%
DoEvents,Environ,EOF,Error,Exp,FileAttr,FileDateTime,FileLen,%
Fix,Format,FreeFile,FV,GetAllStrings,GetAttr,%
GetAutoServerSettings,GetObject,GetSetting,Hex,Hour,IIf,%
IMEStatus,Input,InputB,InputBox,InStr,InstB,Int,Integer,IPmt,%
IsArray,IsDate,IsEmpty,IsError,IsMissing,IsNull,IsNumeric,%
IsObject,LBound,LCase,Left,LeftB,Len,LenB,LoadPicture,Loc,LOF,%
Log,Ltrim,Max,Mid,MidB,Min,Minute,MIRR,Month,MsgBox,Now,NPer,%
NPV,Oct,Partition,Pmt,PPmt,PV,QBColor,Rate,RGB,Right,RightB,Rnd,%
Rtrim,Second,Seek,Sgn,Shell,Sin,SLN,Space,Spc,Sqr,StDev,StDevP,%
Str,StrComp,StrConv,String,Switch,Sum,SYD,Tab,Tan,Time,Timer,%
TimeSerial,TimeValue,Trim,TypeName,UBound,Ucase,Val,Var,VarP,%
VarType,Weekday,Year},% functions
morekeywords=[2]{Accept,Activate,Add,AddCustom,AddFile,AddFromFile,%
AddFromTemplate,AddItem,AddNew,AddToAddInToolbar,%
AddToolboxProgID,Append,AppendChunk,Arrange,Assert,AsyncRead,%
BatchUpdate,BeginTrans,Bind,Cancel,CancelAsyncRead,CancelBatch,%
CancelUpdate,CanPropertyChange,CaptureImage,CellText,CellValue,%
Circle,Clear,ClearFields,ClearSel,ClearSelCols,Clone,Close,Cls,%
ColContaining,ColumnSize,CommitTrans,CompactDatabase,Compose,%
Connect,Copy,CopyQueryDef,CreateDatabase,CreateDragImage,%
CreateEmbed,CreateField,CreateGroup,CreateIndex,CreateLink,%
CreatePreparedStatement,CreatePropery,CreateQuery,%
CreateQueryDef,CreateRelation,CreateTableDef,CreateUser,%
CreateWorkspace,Customize,Delete,DeleteColumnLabels,%
DeleteColumns,DeleteRowLabels,DeleteRows,DoVerb,Drag,Draw,Edit,%
EditCopy,EditPaste,EndDoc,EnsureVisible,EstablishConnection,%
Execute,ExtractIcon,Fetch,FetchVerbs,Files,FillCache,Find,%
FindFirst,FindItem,FindLast,FindNext,FindPrevious,Forward,%
GetBookmark,GetChunk,GetClipString,GetData,GetFirstVisible,%
GetFormat,GetHeader,GetLineFromChar,GetNumTicks,GetRows,%
GetSelectedPart,GetText,GetVisibleCount,GoBack,GoForward,Hide,%
HitTest,HoldFields,Idle,InitializeLabels,InsertColumnLabels,%
InsertColumns,InsertObjDlg,InsertRowLabels,InsertRows,Item,%
KillDoc,Layout,Line,LinkExecute,LinkPoke,LinkRequest,LinkSend,%
Listen,LoadFile,LoadResData,LoadResPicture,LoadResString,%
LogEvent,MakeCompileFile,MakeReplica,MoreResults,Move,MoveData,%
MoveFirst,MoveLast,MoveNext,MovePrevious,NavigateTo,NewPage,%
NewPassword,NextRecordset,OLEDrag,OnAddinsUpdate,OnConnection,%
OnDisconnection,OnStartupComplete,Open,OpenConnection,%
OpenDatabase,OpenQueryDef,OpenRecordset,OpenResultset,OpenURL,%
Overlay,PaintPicture,Paste,PastSpecialDlg,PeekData,Play,Point,%
PopulatePartial,PopupMenu,Print,PrintForm,PropertyChanged,Pset,%
Quit,Raise,RandomDataFill,RandomFillColumns,RandomFillRows,%
rdoCreateEnvironment,rdoRegisterDataSource,ReadFromFile,%
ReadProperty,Rebind,ReFill,Refresh,RefreshLink,RegisterDatabase,%
Reload,Remove,RemoveAddInFromToolbar,RemoveItem,Render,%
RepairDatabase,Reply,ReplyAll,Requery,ResetCustom,%
ResetCustomLabel,ResolveName,RestoreToolbar,Resync,Rollback,%
RollbackTrans,RowBookmark,RowContaining,RowTop,Save,SaveAs,%
SaveFile,SaveToFile,SaveToolbar,SaveToOle1File,Scale,ScaleX,%
ScaleY,Scroll,Select,SelectAll,SelectPart,SelPrint,Send,%
SendData,Set,SetAutoServerSettings,SetData,SetFocus,SetOption,%
SetSize,SetText,SetViewport,Show,ShowColor,ShowFont,ShowHelp,%
ShowOpen,ShowPrinter,ShowSave,ShowWhatsThis,SignOff,SignOn,Size,%
Span,SplitContaining,StartLabelEdit,StartLogging,Stop,%
Synchronize,TextHeight,TextWidth,ToDefaults,TwipsToChartPart,%
TypeByChartType,Update,UpdateControls,UpdateRecord,UpdateRow,%
Upto,WhatsThisMode,WriteProperty,ZOrder},% methods
morekeywords=[3]{AccessKeyPress,AfterAddFile,AfterChangeFileName,%
AfterCloseFile,AfterColEdit,AfterColUpdate,AfterDelete,%
AfterInsert,AfterLabelEdit,AfterRemoveFile,AfterUpdate,%
AfterWriteFile,AmbienChanged,ApplyChanges,Associate,%
AsyncReadComplete,AxisActivated,AxisLabelActivated,%
AxisLabelSelected,AxisLabelUpdated,AxisSelected,%
AxisTitleActivated,AxisTitleSelected,AxisTitleUpdated,%
AxisUpdated,BeforeClick,BeforeColEdit,BeforeColUpdate,%
BeforeConnect,BeforeDelete,BeforeInsert,BeforeLabelEdit,%
BeforeLoadFile,BeforeUpdate,ButtonClick,ButtonCompleted,%
ButtonGotFocus,ButtonLostFocus,Change,ChartActivated,%
ChartSelected,ChartUpdated,Click,ColEdit,Collapse,ColResize,%
ColumnClick,Compare,ConfigChageCancelled,ConfigChanged,%
ConnectionRequest,DataArrival,DataChanged,DataUpdated,DblClick,%
Deactivate,DeviceArrival,DeviceOtherEvent,DeviceQueryRemove,%
DeviceQueryRemoveFailed,DeviceRemoveComplete,DeviceRemovePending,%
DevModeChange,Disconnect,DisplayChanged,Dissociate,%
DoGetNewFileName,Done,DonePainting,DownClick,DragDrop,DragOver,%
DropDown,EditProperty,EnterCell,EnterFocus,Event,ExitFocus,%
Expand,FootnoteActivated,FootnoteSelected,FootnoteUpdated,%
GotFocus,HeadClick,InfoMessage,Initialize,IniProperties,%
ItemActivated,ItemAdded,ItemCheck,ItemClick,ItemReloaded,%
ItemRemoved,ItemRenamed,ItemSeletected,KeyDown,KeyPress,KeyUp,%
LeaveCell,LegendActivated,LegendSelected,LegendUpdated,%
LinkClose,LinkError,LinkNotify,LinkOpen,Load,LostFocus,%
MouseDown,MouseMove,MouseUp,NodeClick,ObjectMove,%
OLECompleteDrag,OLEDragDrop,OLEDragOver,OLEGiveFeedback,%
OLESetData,OLEStartDrag,OnAddNew,OnComm,Paint,PanelClick,%
PanelDblClick,PathChange,PatternChange,PlotActivated,%
PlotSelected,PlotUpdated,PointActivated,PointLabelActivated,%
PointLabelSelected,PointLabelUpdated,PointSelected,%
PointUpdated,PowerQuerySuspend,PowerResume,PowerStatusChanged,%
PowerSuspend,QueryChangeConfig,QueryComplete,QueryCompleted,%
QueryTimeout,QueryUnload,ReadProperties,Reposition,%
RequestChangeFileName,RequestWriteFile,Resize,ResultsChanged,%
RowColChange,RowCurrencyChange,RowResize,RowStatusChanged,%
SelChange,SelectionChanged,SendComplete,SendProgress,%
SeriesActivated,SeriesSelected,SeriesUpdated,SettingChanged,%
SplitChange,StateChanged,StatusUpdate,SysColorsChanged,%
Terminate,TimeChanged,TitleActivated,TitleSelected,%
TitleActivated,UnboundAddData,UnboundDeleteRow,%
UnboundGetRelativeBookmark,UnboundReadData,UnboundWriteData,%
Unload,UpClick,Updated,Validate,ValidationError,WillAssociate,%
WillChangeData,WillDissociate,WillExecute,WillUpdateRows,%
WithEvents,WriteProperties},% VB-events
morekeywords=[4]{AppActivate,Base,Beep,Call,Case,ChDir,ChDrive,%
Const,Declare,DefBool,DefByte,DefCur,DefDate,DefDbl,DefDec,%
DefInt,DefLng,DefObj,DefSng,DefStr,Deftype,DefVar,DeleteSetting,%
Dim,Do,Else,ElseIf,End,Enum,Erase,Event,Exit,Explicit,FileCopy,%
For,ForEach,Friend,Function,Get,GoSub,GoTo,If,Implements,Kill,%
Let,LineInput,Lock,Lset,MkDir,Name,Next,OnError,On,Option,%
Private,Property,Public,Put,RaiseEvent,Randomize,ReDim,Rem,%
Reset,Resume,Return,RmDir,Rset,SavePicture,SaveSetting,%
SendKeys,SetAttr,Static,Sub,Then,Type,Unlock,Wend,While,Width,%
With,Write},% statements
sensitive=false,
keywordcomment=rem,%
MoreSelectCharTable=\def\lst@BeginKC@{% chmod
\lst@ResetToken
\lst@BeginComment\lst@GPmode{{\lst@commentstyle}%
\lst@Lmodetrue\lst@modetrue}\@empty}%
morecomment=[l]{'},
morecomment=[s]{/*}{*/},
morestring=[b]",
}[keywords,comments,strings,keywordcomments]
\lst@definelanguage[ANSI]{C++}[ISO]{C++}{}%
\lst@definelanguage[GNU]{C++}[ISO]{C++}%
{morekeywords={__attribute__,__extension__,__restrict,__restrict__,%
typeof,__typeof__},%
}%
\lst@definelanguage[Visual]{C++}[ISO]{C++}%
{morekeywords={__asm,__based,__cdecl,__declspec,dllexport,%
dllimport,__except,__fastcall,__finally,__inline,__int8,__int16,%
__int32,__int64,naked,__stdcall,thread,__try,__leave},%
}%
\lst@definelanguage[ANSI]{C++}[ANSI]{C}%
{morekeywords={asm,bad_cast,bad_typeid,bool,catch,class,const_cast,%
delete,dynamic_cast,false,friend,inline,namespace,new,operator,%
private,protected,public,reinterpret_cast,static_cast,template,%
this,throw,true,try,type_info,typeid,using,virtual,xalloc,%
__multiple_inheritance,__single_inheritance,%
__virtual_inheritance},%
morecomment=[l]//%
\lst@definelanguage[ISO]{C++}[ANSI]{C}%
{morekeywords={and,and_eq,asm,bad_cast,bad_typeid,bitand,bitor,bool,%
catch,class,compl,const_cast,delete,dynamic_cast,explicit,export,%
false,friend,inline,mutable,namespace,new,not,not_eq,operator,or,%
or_eq,private,protected,public,reinterpret_cast,static_cast,%
template,this,throw,true,try,typeid,type_info,typename,using,%
virtual,wchar_t,xor,xor_eq},%
}%
%%
%% Objective-C definition (c) 1997 Detlev Droege
@ -62,7 +206,6 @@
{morekeywords={bycopy,id,in,inout,oneway,out,self,super,%
@class,@defs,@encode,@end,@implementation,@interface,@private,%
@protected,@protocol,@public,@selector},%
morecomment=[l]//,%
moredirectives={import}%
}%
\lst@definelanguage[ANSI]{C}%
@ -72,12 +215,30 @@
void,volatile,while},%
sensitive,%
morecomment=[s]{/*}{*/},%
morecomment=[l]//,% nonstandard
morestring=[b]",%
morestring=[b]',%
moredirectives={define,elif,else,endif,error,if,ifdef,ifndef,line,%
include,pragma,undef,warning}%
}[keywords,comments,strings,directives]%
%%
%% C-Sharp definition (c) 2002 Martin Brodbeck <Martin.Brodbeck@gmx.de>
%%
\lst@definelanguage[Sharp]{C}%
{morekeywords={abstract,base,bool,break,byte,case,catch,char,checked,%
class,const,continue,decimal,default,delegate,do,double,else,%
enum,event,explicit,extern,false,finally,fixed,float,for,foreach,%
goto,if,implicit,in,int,interface,internal,is,lock,long,%
namespace,new,null,object,operator,out,override,params,private,%
protected,public,readonly,ref,return,sbyte,sealed,short,sizeof,%
static,string,struct,switch,this,throw,true,try,typeof,uint,%
ulong,unchecked,unsafe,ushort,using,virtual,void,while},%
sensitive,%
morecomment=[s]{/*}{*/},%
morecomment=[l]//,%
morestring=[b]"
}[keywords,comments,strings]%
%%
%% csh definition (c) 1998 Kai Below <below@tu-harburg.de>
%%
\lst@definelanguage{csh}
@ -92,7 +253,7 @@
}[keywords,comments,strings]%
\lst@definelanguage[90]{Fortran}[95]{Fortran}{}
\lst@definelanguage[95]{Fortran}[77]{Fortran}%
{deletekeywords=SAVE,
{deletekeywords=SAVE,%
morekeywords={ACTION,ADVANCE,ALLOCATE,ALLOCATABLE,ASSIGNMENT,CASE,%
CONTAINS,CYCLE,DEALLOCATE,DEFAULT,DELIM,EXIT,INCLUDE,IN,NONE,IN,%
OUT,INTENT,INTERFACE,IOLENGTH,KIND,LEN,MODULE,NAME,NAMELIST,NMT,%
@ -102,8 +263,8 @@
ENDBLOCKDATA,ENDDO,ENDFILE,ENDFUNCTION,ENDIF,ENDINTERFACE,%
ENDMODULE,ENDPROGRAM,ENDSELECT,ENDSUBROUTINE,ENDTYPE,ENDWHERE,%
GOTO,INOUT,SELECTCASE},%
morecomment=[l]!,%
deletecomment=[f]% no fixed comment line: 1998 Magne Rudshaug
deletecomment=[f],% no fixed comment line: 1998 Magne Rudshaug
morecomment=[l]!%
}%
\lst@definelanguage[77]{Fortran}%
{morekeywords={ACCESS,ASSIGN,BACKSPACE,BLANK,BLOCK,CALL,CHARACTER,%
@ -115,7 +276,9 @@
RETURN,REWIND,SEQUENTIAL,STATUS,STOP,SUBROUTINE,THEN,TYPE,%
UNFORMATTED,UNIT,WRITE,SAVE},%
sensitive=f,%% not Fortran standard %%
morecomment=[f]*Cc,%
morecomment=[f]*,%
morecomment=[f]C,%
morecomment=[f]c,%
morestring=[d]"%
}[keywords,comments,strings]%
\lst@definelanguage{HTML}%
@ -133,19 +296,21 @@
sensitive=f,%
morestring=[d]",% ??? doubled
MoreSelectCharTable=%
\lst@CArgX--\relax\lst@CommentB\lst@GPmode{}{}%
\lst@CArgX--\relax\lst@DefDelimB{}{}%
{\ifnum\lst@mode=\lst@insidemode\else
\expandafter\@gobblethree
\fi}\lst@commentstyle
\lst@CArgX--\relax\lst@CommentE\lst@GPmode{}{}{}%
\fi}%
\lst@BeginComment\lst@commentmode{{\lst@commentstyle}}%
\lst@CArgX--\relax\lst@DefDelimE{}{}{}%
\lst@EndComment\lst@commentmode
}[keywords,comments,strings,html]%
\lst@definelanguage{Java}%
{morekeywords={abstract,boolean,break,byte,case,catch,char,class,%
const,continue,default,do,double,else,extends,final,finally,%
float,for,goto,if,implements,import,instanceof,int,interface,%
long,native,new,null,package,private,protected,public,return,%
short,static,super,switch,synchronized,this,throw,throws,%
transient,try,void,volatile,while,true,false},%
const,continue,default,do,double,else,extends,false,final,%
finally,float,for,goto,if,implements,import,instanceof,int,%
interface,label,long,native,new,null,package,private,protected,%
public,return,short,static,super,switch,synchronized,this,throw,%
throws,transient,true,try,void,volatile,while},%
sensitive,%
morecomment=[l]//,%
morecomment=[s]{/*}{*/},%
@ -378,6 +543,84 @@
morecomment=[s]{(*}{*)},%
morestring=[d]"%
}[keywords,comments,strings]%
%%
%% Octave definition (c) 2001,2002 Ulrich G. Wortmann
%% <uliw@erdw.ethz.ch>
%%
\lst@definelanguage{Octave}%
{morekeywords={gt,lt,gt,lt,amp,abs,acos,acosh,acot,acoth,acsc,acsch,%
all,angle,ans,any,asec,asech,asin,asinh,atan,atan2,atanh,auread,%
auwrite,axes,axis,balance,bar,bessel,besselk,bessely,beta,%
betainc,betaln,blanks,bone,break,brighten,capture,cart2pol,%
cart2sph,caxis,cd,cdf2rdf,cedit,ceil,chol,cla,clabel,clc,clear,%
clf,clock,close,colmmd,Colon,colorbar,colormap,ColorSpec,colperm,%
comet,comet3,compan,compass,computer,cond,condest,conj,contour,%
contour3,contourc,contrast,conv,conv2,cool,copper,corrcoef,cos,%
cosh,cot,coth,cov,cplxpair,cputime,cross,csc,csch,csvread,%
csvwrite,cumprod,cumsum,cylinder,date,dbclear,dbcont,dbdown,%
dbquit,dbstack,dbstatus,dbstep,dbstop,dbtype,dbup,ddeadv,ddeexec,%
ddeinit,ddepoke,ddereq,ddeterm,ddeunadv,deblank,dec2hex,deconv,%
del2,delete,demo,det,diag,diary,diff,diffuse,dir,disp,dlmread,%
dlmwrite,dmperm,dot,drawnow,echo,eig,ellipj,ellipke,else,elseif,%
end,engClose,engEvalString,engGetFull,engGetMatrix,engOpen,%
engOutputBuffer,engPutFull,engPutMatrix,engSetEvalCallback,%
engSetEvalTimeout,engWinInit,eps,erf,erfc,erfcx,erfinv,%
errorbar,etime,etree,eval,exist,exp,expint,expm,expo,eye,fclose,%
feather,feof,ferror,feval,fft,fft2,fftshift,fgetl,fgets,figure,%
fill,fill3,filter,filter2,find,findstr,finite,fix,flag,fliplr,%
flipud,floor,flops,fmin,fmins,fopen,for,format,fplot,fprintf,%
fread,frewind,fscanf,fseek,ftell,full,function,funm,fwrite,fzero,%
gallery,gamma,gammainc,gammaln,gca,gcd,gcf,gco,get,getenv,%
getframe,ginput,global,gplot,gradient,gray,graymon,grid,griddata,%
gtext,hadamard,hankel,help,hess,hex2dec,hex2num,hidden,hilb,hist,%
hold,home,hostid,hot,hsv,hsv2rgb,if,ifft,ifft2,imag,image,%
imagesc,Inf,info,input,int2str,interp1,interp2,interpft,inv,%
invhilb,isempty,isglobal,ishold,isieee,isinf,isletter,isnan,%
isreal,isspace,issparse,isstr,jet,keyboard,kron,lasterr,lcm,%
legend,legendre,length,lin2mu,line,linspace,load,log,log10,log2,%
loglog,logm,logspace,lookfor,lower,ls,lscov,lu,magic,matClose,%
matDeleteMatrix,matGetDir,matGetFp,matGetFull,matGetMatrix,%
matGetNextMatrix,matGetString,matlabrc,matlabroot,matOpen,%
matPutFull,matPutMatrix,matPutString,max,mean,median,menu,mesh,%
meshc,meshgrid,meshz,mexAtExit,mexCallMATLAB,mexdebug,%
mexErrMsgTxt,mexEvalString,mexFunction,mexGetFull,mexGetMatrix,%
mexGetMatrixPtr,mexPrintf,mexPutFull,mexPutMatrix,mexSetTrapFlag,%
min,more,movie,moviein,mu2lin,mxCalloc,mxCopyCharacterToPtr,%
mxCopyComplex16ToPtr,mxCopyInteger4ToPtr,mxCopyPtrToCharacter,%
mxCopyPtrToComplex16,mxCopyPtrToInteger4,mxCopyPtrToReal8,%
mxCopyReal8ToPtr,mxCreateFull,mxCreateSparse,mxCreateString,%
mxFree,mxFreeMatrix,mxGetIr,mxGetJc,mxGetM,mxGetN,mxGetName,%
mxGetNzmax,mxGetPi,mxGetPr,mxGetScalar,mxGetString,mxIsComplex,%
mxIsFull,mxIsNumeric,mxIsSparse,mxIsString,mxIsTypeDouble,%
mxSetIr,mxSetJc,mxSetM,mxSetN,mxSetName,mxSetNzmax,mxSetPi,%
mxSetPr,NaN,nargchk,nargin,nargout,newplot,nextpow2,nnls,nnz,%
nonzeros,norm,normest,null,num2str,nzmax,ode23,ode45,orient,orth,%
pack,pascal,patch,path,pause,pcolor,pi,pink,pinv,plot,plot3,%
pol2cart,polar,poly,polyder,polyeig,polyfit,polyval,polyvalm,%
pow2,print,printopt,prism,prod,pwd,qr,qrdelete,qrinsert,quad,%
quad8,quit,quiver,qz,rand,randn,randperm,rank,rat,rats,rbbox,%
rcond,real,realmax,realmin,refresh,rem,reset,reshape,residue,%
return,rgb2hsv,rgbplot,rootobject,roots,rose,rosser,rot90,rotate,%
round,rref,rrefmovie,rsf2csf,save,saxis,schur,sec,sech,semilogx,%
semilogy,set,setstr,shading,sign,sin,sinh,size,slice,sort,sound,%
spalloc,sparse,spaugment,spconvert,spdiags,specular,speye,spfun,%
sph2cart,sphere,spinmap,spline,spones,spparms,sprandn,sprandsym,%
sprank,sprintf,spy,sqrt,sqrtm,sscanf,stairs,startup,std,stem,%
str2mat,str2num,strcmp,strings,strrep,strtok,subplot,subscribe,%
subspace,sum,surf,surface,surfc,surfl,surfnorm,svd,symbfact,%
symmmd,symrcm,tan,tanh,tempdir,tempname,terminal,text,tic,title,%
toc,toeplitz,trace,trapz,tril,triu,type,uicontrol,uigetfile,%
uimenu,uiputfile,unix,unwrap,upper,vander,ver,version,view,%
viewmtx,waitforbuttonpress,waterfall,wavread,wavwrite,what,%
whatsnew,which,while,white,whitebg,who,whos,wilkinson,wk1read,%
stderr,stdout,plot,set,endif,wk1write,xlabel,xor,ylabel,zeros,%
zlabel,zoom,endwhile,endfunction},%
sensitive=f,%
morecomment=[l]\#,%
morecomment=[l]\#\#,%
morestring=[m]',%
morestring=[m]"%
}[keywords,comments,strings]%
\lst@definelanguage[XSC]{Pascal}[Standard]{Pascal}
{deletekeywords={alfa,byte,pack,unpack},% 1998 Andreas Stephan
morekeywords={dynamic,external,forward,global,module,nil,operator,%
@ -431,7 +674,8 @@
text,then,to,true,type,unpack,until,var,while,with,write,%
writeln},%
sensitive=f,%
morecomment=[d]{(*}{*)}{\{}{\}},%
morecomment=[s]{(*}{*)},%
morecomment=[s]{\{}{\}},%
morestring=[d]'%
}[keywords,comments,strings]%
\lst@definelanguage{Perl}%
@ -468,7 +712,8 @@
\lst@ReplaceInput{\$\#}{\lst@ProcessOther\$\lst@ProcessOther\#}%
}[keywords,comments,strings]%
%%
%% POV definition (c) 1999 Berthold Höllmann <bhoel@starship.python.net>
%% POV definition (c) 1999 Berthold H\"ollmann
%% <bhoel@starship.python.net>
%%
\lst@definelanguage{POV}%
{morekeywords={abs,absorption,acos,acosh,adaptive,adc_bailout,agate,%
@ -538,16 +783,18 @@
sensitive=true,%
morecomment=[l]\#,%
morecomment=[s]{'''}{'''},% used for documentation text
morestring=',%
morestring="%
morecomment=[s]{"""}{"""},% added by Philipp Matthias Hahn
morestring=[b]',%
morestring=[b]"%
}%
%%
%% SQL definition (c) 1998 Christian Haul
%% <haul@dvs1.informatik.tu-darmstadt.de>
%% and (c) 2002 Neil Conway <nconway@klamath.dyndns.org>
%%
\lst@definelanguage{SQL}%
{morekeywords={ABSOLUTE,ACTION,ADD,ALLOCATE,ALTER,ARE,ASSERTION,AT,%
BETWEEN,BIT,BIT_LENGTH,BOTH,BY,CASCADE,CASCADED,CASE,CAST,%
{morekeywords={ABSOLUTE,ACTION,ADD,ALLOCATE,ALTER,ARE,AS,ASSERTION,%
AT,BETWEEN,BIT,BIT_LENGTH,BOTH,BY,CASCADE,CASCADED,CASE,CAST,%
CATALOG,CHAR,CHAR_LENGTH,CHARACTER_LENGTH,CLUSTER,COALESCE,%
COLLATE,COLLATION,COLUMN,CONNECT,CONNECTION,CONSTRAINT,%
CONSTRAINTS,CONVERT,CORRESPONDING,CREATE,CROSS,CURRENT_DATE,%
@ -556,16 +803,17 @@
DISCONNECT,DOMAIN,DROP,ELSE,END,EXEC,EXCEPT,EXCEPTION,EXECUTE,%
EXTERNAL,EXTRACT,FALSE,FIRST,FLOAT,FOREIGN,FROM,FULL,GET,GLOBAL,%
GRAPHIC,HAVING,HOUR,IDENTITY,IMMEDIATE,INDEX,INITIALLY,INNER,%
INPUT,INSENSITIVE,INT,INTEGER,INTERSECT,INTERVAL,ISOLATION,JOIN,%
KEY,LAST,LEADING,LEFT,LEVEL,LOCAL,LOWER,MATCH,MINUTE,MONTH,NAMES,%
NATIONAL,NATURAL,NCHAR,NEXT,NO,NOT,NULL,NULLIF,OCTET_LENGTH,ON,%
ONLY,ORDERED,OUTER,OUTPUT,OVERLAPS,PAD,PARTIAL,POSITION,PREPARE,%
PRESERVE,PRIMARY,PRIOR,READ,RELATIVE,RESTRICT,REVOKE,RIGHT,ROWS,%
SCROLL,SECOND,SELECT,SESSION,SESSION_USER,SIZE,SMALLINT,SPACE,%
SQLSTATE,SUBSTRING,SYSTEM_USER,TABLE,TEMPORARY,THEN,TIME,%
TIMESTAMP,TIMEZONE_HOUR,TIMEZONE_MINUTE,TRAILING,TRANSACTION,%
TRANSLATE,TRANSLATION,TRIM,TRUE,UNIQUE,UNKNOWN,UPPER,USAGE,USING,%
VALUE,VARCHAR,VARGRAPHIC,VARYING,WHEN,WHERE,WRITE,YEAR,ZONE},%
INPUT,INSENSITIVE,INSERT,INT,INTO,INTEGER,INTERSECT,INTERVAL,%
ISOLATION,JOIN,KEY,LAST,LEADING,LEFT,LEVEL,LIMIT,LOCAL,LOWER,%
MATCH,MINUTE,MONTH,NAMES,NATIONAL,NATURAL,NCHAR,NEXT,NO,NOT,NULL,%
NULLIF,OCTET_LENGTH,ON,ONLY,ORDER,ORDERED,OUTER,OUTPUT,OVERLAPS,%
PAD,PARTIAL,POSITION,PREPARE,PRESERVE,PRIMARY,PRIOR,READ,%
RELATIVE,RESTRICT,REVOKE,RIGHT,ROWS,SCROLL,SECOND,SELECT,SESSION,%
SESSION_USER,SIZE,SMALLINT,SPACE,SQLSTATE,SUBSTRING,SYSTEM_USER,%
TABLE,TEMPORARY,THEN,TIME,TIMESTAMP,TIMEZONE_HOUR,%
TIMEZONE_MINUTE,TRAILING,TRANSACTION,TRANSLATE,TRANSLATION,TRIM,%
TRUE,UNIQUE,UNKNOWN,UPPER,USAGE,USING,VALUE,VALUES,VARCHAR,%
VARGRAPHIC,VARYING,WHEN,WHERE,WRITE,YEAR,ZONE},%
sensitive,%
morecomment=[l]--,%
morecomment=[s]{/*}{*/},%
@ -590,6 +838,45 @@
morecomment=[l]--,%
morestring=[d]{"}%
}[keywords,comments,strings]%
%%
%% VHDL-AMS definition (c) Steffen Klupsch
%%
\lst@definelanguage[AMS]{VHDL}[]{VHDL}%
{morekeywords={ACROSS,ARRAY,BREAK,DISCONNECT,NATURE,NOISE,PORT,%
PROCEDURAL,QUANTITY,SHARED,SPECTRUM,SUBNATURE,TERMINAL,THROUGH,%
TOLERANCE,UNAFFACTED,UNITS}}
\lst@definelanguage{XML}%
{keywords={,CDATA,DOCTYPE,ATTLIST,termdef,ELEMENT,EMPTY,ANY,ID,%
IDREF,IDREFS,ENTITY,ENTITIES,NMTOKEN,NMTOKENS,NOTATION,%
INCLUDE,IGNORE,SYSTEM,PUBLIC,NDATA,PUBLIC,%
PCDATA,REQUIRED,IMPLIED,FIXED,%%% preceded by #
xml,xml:space,xml:lang,version,standalone,default,preserve},%
alsoother=$,%
alsoletter=:,%
keywordsinside=<>,%
morestring=[d]",% ??? doubled
morestring=[d]',% ??? doubled
MoreSelectCharTable=%
\lst@CArgX--\relax\lst@DefDelimB{}{}%
{\ifnum\lst@mode=\lst@insidemode\else
\expandafter\@gobblethree
\fi}%
\lst@BeginComment\lst@commentmode{{\lst@commentstyle}}%
\lst@CArgX--\relax\lst@DefDelimE{}{}{}%
\lst@EndComment\lst@commentmode
\lst@CArgX[CDATA[\relax\lst@CDef{}%
{\ifnum\lst@mode=\lst@insidemode
\expandafter\lst@BeginCDATA
\else \expandafter\lst@CArgEmpty
\fi}%
\@empty
\lst@CArgX]]\relax\lst@CDef{}%
{\ifnum\lst@mode=\lst@GPmode
\expandafter\lst@EndComment
\else \expandafter\lst@CArgEmpty
\fi}%
\@empty
}[keywords,comments,strings,html]%
\endinput
%%
%% End of file `lstlang1.sty'.

View File

@ -6,8 +6,8 @@
%%
%% lstdrvrs.dtx (with options: `lang2')
%%
%% (w)(c) 1996/1997/1998/1999/2000 Carsten Heinz and/or any other author
%% listed elsewhere in this file.
%% (w)(c) 1996/1997/1998/1999/2000/2001/2002 Carsten Heinz and/or any
%% other author listed elsewhere in this file.
%%
%% This file is distributed under the terms of the LaTeX Project Public
%% License from CTAN archives in directory macros/latex/base/lppl.txt.
@ -15,23 +15,29 @@
%%
%% This file is completely free and comes without any warranty.
%%
%% Permission is granted to change this file. You are not allowed to
%% distribute any changed version of this file, neither under the same
%% name nor under a different one.
%%
%% Send comments and ideas on the package, error reports and additional
%% programming languages to <cheinz@gmx.de>.
%%
\ProvidesFile{lstlang2}
[2002/07/31 v1.0d listings language file]
%%
%% Abap definition by Knut Lickert <knut.lickert@gmx.de>
%%
%%%%knut>>>>>new
\lst@definelanguage[R/3 6.10]{ABAP}[R/3 4.6C]{ABAP}%
{morekeywords={try,endtry},%
}[keywords,comments,strings]
%%%%knut<<<<<new -end-
\lst@definelanguage[R/3 4.6C]{ABAP}[R/3 3.1]{ABAP}%
{morekeywords={method,ref,class,create,object},%
literate={->}{{$\to$}}1,%
{morekeywords={method,ref,class,create,object,%
catch,system-exceptions,endcatch,%knut
},%
literate={->}{{$\rightarrow$}}1{=>}{{$\Rightarrow$}}1,%knut
}[keywords,comments,strings]
\lst@definelanguage[R/3 3.1]{ABAP}[R/2 5.0]{ABAP}{}%
\lst@definelanguage[R/2 5.0]{ABAP}%
{sensitive=f,%
procnamekeys={report,program,form,function},%
morekeywords={*,add,after,alias,analyzer,and,append,area,assign,at,%
authority-check,before,binary,blank,break-point,calendar,call,%
case,change,changing,check,clear,cnt,co,collect,commit,common,%
@ -58,9 +64,10 @@
text,time,to,top-of-page,trace,transaction,transfer,%
transfer-dynpro,translate,type,unpack,update,user-command,%
using,value,when,where,while,window,with,workfile,write,},%
morecomment=[l]",%
morecomment=[f][0]*,%
}[keywords,comments,strings]
morecomment=[l]",%
morecomment=[f][0]*,%
morestring=[d]'%
}[keywords,comments,strings,procnames]
\lst@definelanguage[R/2 4.3]{ABAP}[R/2 5.0]{ABAP}%
{deletekeywords={function,importing,exporting,changing,exceptions,%
raise,raising}%
@ -161,8 +168,9 @@
TERMINATE,TEXT,THAN,THROUGH,THRU,TIME,TIMES,TO,TOP,TRAILING,TYPE,%
UNIT,UNSTRING,UNTIL,UP,UPON,USAGE,USE,USING,VALUE,VALUES,VARYING,%
WHEN,WITH,WORDS,WORKING-STORAGE,WRITE,ZERO,ZEROES,ZEROS},%
alsodigit=-%,
sensitive=f,% ???
morecomment=[f][6]*,%
morecomment=[f][commentstyle][6]*,%
morestring=[d]"% ??? doubled
}[keywords,comments,strings]%
\lst@definelanguage{Delphi}%
@ -207,7 +215,9 @@
TrackCursor,Trunc,Truncate,TypeOf,UpCase,UpperCase,Val,WhereX,%
WhereY,Write,WriteBuf,WriteChar,Writeln},%
sensitive=f,%
morecomment=[d]{(*}{*)}{\{}{\}},%
morecomment=[s]{(*}{*)},%
morecomment=[s]{\{}{\}},%
morecomment=[l]{//},% 2001 Christian Gudrian
morestring=[d]'%
}[keywords,comments,strings]%
\lst@definelanguage{Eiffel}%
@ -222,7 +232,6 @@
sensitive,%
morecomment=[l]--,%
morestring=[d]",%
stringtest=false%
}[keywords,comments,strings]%
%%
%% Euphoria definition (c) 1998 Detlef Reimers <dreimers@aol.com>
@ -250,7 +259,7 @@
%%
\lst@definelanguage{Haskell}%
{otherkeywords={=>},%
keywords={abstype,if,then,else,case,class,data,default,deriving,%
morekeywords={abstype,if,then,else,case,class,data,default,deriving,%
hiding,if,in,infix,infixl,infixr,import,instance,let,module,%
newtype,of,qualified,type,where,do,AbsoluteSeek,AppendMode,%
Array,BlockBuffering,Bool,BufferMode,Char,Complex,Double,Either,%
@ -318,7 +327,7 @@
sensitive,%
morecomment=[l]--,%
morecomment=[n]{\{-}{-\}},%
morestrings=[b]"%
morestring=[b]"%
}[keywords,comments,strings]%
%%
%% IDL definition (c) 1998 Juergen Heim <heim@astro.uni-tuebingen.de>
@ -378,10 +387,106 @@
morestring=[b]"%
}[keywords,comments,strings]%
%%
%% AutoLISP/VisualLISP - Stefan Lagotzki, info@lagotzki.de
%%
\lst@definelanguage[Auto]{Lisp}%
{morekeywords={abs,acad_colordlg,acad_helpdlg,acad_strlsort,%
action_tile,add_list,alert,alloc,and,angle,angtof,angtos,append,%
apply,arx,arxload,arxunload,ascii,assoc,atan,atof,atoi,atom,%
atoms-family,autoarxload,autoload,Boole,boundp,caddr,cadr,car,%
cdr,chr,client_data_tile,close,command,cond,cons,cos,cvunit,%
defun,defun-q,defun-q-list-ref,defun-q-list-set,dictadd,dictnext,%
dictremove,dictrename,dictsearch,dimx_tile,dimy_tile,distance,%
distof,done_dialog,end_image,end_list,entdel,entget,entlast,%
entmake,entmakex,entmod,entnext,entsel,entupd,eq,equal,*error*,%
eval,exit,exp,expand,expt,fill_image,findfile,fix,float,foreach,%
function,gc,gcd,get_attr,get_tile,getangle,getcfg,getcname,%
getcorner,getdist,getenv,getfiled,getint,getkword,getorient,%
getpoint,getreal,getstring,getvar,graphscr,grclear,grdraw,grread,%
grtext,grvecs,handent,help,if,initdia,initget,inters,itoa,lambda,%
last,layoutlist,length,list,listp,load,load_dialog,log,logand,%
logior,lsh,mapcar,max,mem,member,menucmd,menugroup,min,minusp,%
mode_tile,namedobjdict,nentsel,nentselp,new_dialog,not,nth,%
null,numberp,open,or,osnap,polar,prin1,princ,print,progn,prompt,%
quit,quote,read,read-char,read-line,redraw,regapp,rem,repeat,%
reverse,rtos,set,set_tile,setcfg,setenv,setfunhelp,setq,%
setvar,setview,sin,slide_image,snvalid,sqrt,ssadd,ssdel,ssget,%
ssgetfirst,sslength,ssmemb,ssname,ssnamex,sssetfirst,startapp,%
start_dialog,start_image,start_list,strcase,strcat,strlen,subst,%
substr,tablet,tblnext,tblobjname,tblsearch,term_dialog,terpri,%
textbox,textpage,textscr,trace,trans,type,unload_dialog,untrace,%
vector_image,ver,vl-acad-defun,vl-acad-undefun,vl-arx-import,%
vl-bb-ref,vl-bb-set,vl-catch-all-apply,%
vl-catch-all-error-message,vl-catch-all-error-p,vl-cmdf,vl-consp,%
vl-directory-files,vl-doc-export,vl-doc-import,vl-doc-ref,%
vl-doc-set,vl-every,vl-exit-with-error,vl-exit-with-value,%
vl-file-copy,vl-file-delete,vl-file-directory-p,vl-file-rename,%
vl-file-size,vl-file-systime,vl-filename-base,%
vl-filename-directory,vl-filename-extension,vl-filename-mktemp,%
vl-get-resource,vl-list*,vl-list->string,%
vl-list-exported-functions,vl-list-length,vl-list-loaded-vlx,%
vl-load-all,vl-load-com,vl-load-reactors,vl-member-if,%
vl-member-if-not,vl-position,vl-prin1-to-string,%
vl-princ-to-string,vl-propagate,vl-registry-delete,%
vl-registry-descendents,vl-registry-read,vl-registry-write,%
vl-remove,vl-remove-if,vl-remove-if-not,vl-some,vl-sort,%
vl-sort-i,vl-string->list,vl-string-elt,vl-string-left-trim,%
vl-string-mismatch,vl-string-position,vl-string-right-trim,%
vl-string-search,vl-string-subst,vl-string-translate,%
vl-string-trim,vl-symbol-name,vl-symbol-value,vl-symbolp,%
vl-unload-vlx,vl-vbaload,vl-vbarun,vl-vlx-loaded-p,vlax-3D-point,%
vlax-add-cmd,vlax-create-object,vlax-curve-getArea,%
vlax-curve-getDistAtParam,vlax-curve-getDistAtPoint,%
vlax-curve-getEndParam,vlax-curve-getEndPoint,%
vlax-curve-getParamAtDist,vlax-curve-getParamAtPoint,%
vlax-curve-getPointAtDist,vlax-curve-getPointAtParam,%
vlax-curve-getStartParam,vlax-curve-getStartPoint,%
vlax-curve-isClosed,vlax-curve-isPeriodic,vlax-curve-isPlanar,%
vlax-curve-getClosestPointTo,%
vlax-curve-getClosestPointToProjection,vlax-curve-getFirstDeriv,%
vlax-curve-getSecondDeriv,vlax-dump-object,%
vlax-ename->vla-object,vlax-erased-p,vlax-for,%
vlax-get-acad-object,vlax-get-object,vlax-get-or-create-object,%
vlax-get-property,vlax-import-type-library,vlax-invoke-method,%
vlax-ldata-delete,vlax-ldata-get,vlax-ldata-list,vlax-ldata-put,%
vlax-ldata-test,vlax-make-safearray,vlax-make-variant,%
vlax-map-collection,vlax-method-applicable-p,%
vlax-object-released-p,vlax-product-key,%
vlax-property-available-p,vlax-put-property,vlax-read-enabled-p,%
vlax-release-object,vlax-remove-cmd,vlax-safearray-fill,%
vlax-safearray-get-dim,vlax-safearray-get-element,%
vlax-safearray-get-l-bound,vlax-safearray-get-u-bound,%
vlax-safearray-put-element,vlax-safearray-type,%
vlax-safearray->list,vlax-tmatrix,vlax-typeinfo-available-p,%
vlax-variant-change-type,vlax-variant-type,vlax-variant-value,%
vlax-vla-object->ename,vlax-write-enabled-p,vlisp-compile,%
vlr-acdb-reactor,vlr-add,vlr-added-p,vlr-beep-reaction,%
vlr-command-reactor,vlr-current-reaction-name,vlr-data,%
vlr-data-set,vlr-deepclone-reactor,vlr-docmanager-reactor,%
vlr-dwg-reactor,vlr-dxf-reactor,vlr-editor-reactor,%
vlr-insert-reactor,vlr-linker-reactor,vlr-lisp-reactor,%
vlr-miscellaneous-reactor,vlr-mouse-reactor,vlr-notification,%
vlr-object-reactor,vlr-owner-add,vlr-owner-remove,vlr-owners,%
vlr-pers,vlr-pers-list,vlr-pers-p,vlr-pers-release,%
vlr-reaction-names,vlr-reaction-set,vlr-reactions,vlr-reactors,%
vlr-remove,vlr-remove-all,vlr-set-notification,%
vlr-sysvar-reactor,vlr-toolbar-reactor,vlr-trace-reaction,%
vlr-type,vlr-types,vlr-undo-reactor,vlr-wblock-reactor,%
vlr-window-reactor,vlr-xref-reactor,vports,wcmatch,while,%
write-char,write-line,xdroom,xdsize,zerop},%
alsodigit=->,%
otherkeywords={1+,1-},%
sensitive=false,%
morecomment=[l];,%
morecomment=[l];;,%
morestring=[b]"%
}[keywords,comments,strings]%
%%
%% Make definitions (c) 2000 Rolf Niepraschk <niepraschk@ptb.de>
%%
\lst@definelanguage[gnu]{make}%
{morekeywords={SHELL,MAKE,MAKEFLAGS,$@,$\%,$<,$?,$^,$+,$*,%
@,^,<,\%,+,?,*,% Markus Pahlow
export,unexport,include,override,define,ifdef,ifneq,ifeq,else,%
endif,vpath,subst,patsubst,strip,findstring,filter,filter-out,%
sort,dir,notdir,suffix,basename,addsuffix,addprefix,join,word,%
@ -393,29 +498,37 @@
ARFLAGS,ASFLAGS,CFLAGS,CXXFLAGS,COFLAGS,CPPFLAGS,FFLAGS,GFLAGS,%
LDFLAGS,LOADLIBES,LFLAGS,PFLAGS,RFLAGS,YFLAGS,M2FLAGS,MODFLAGS,%
LINTFLAGS,MAKEINFO_FLAGS,TEXI2DVI_FLAGS,COFLAGS,GFLAGS,%
OUTPUT_OPTION,SCCS_OUTPUT_OPTION%
OUTPUT_OPTION,SCCS_OUTPUT_OPTION,% missing comma: Markus Pahlow
.PHONY,.SUFFIXES,.DEFAULT,.PRECIOUS,.INTERMEDIATE,.SECONDARY,%
.IGNORE,.SILENT,.EXPORT_ALL_VARIABLES,MAKEFILES,VPATH,MAKESHELL,%
MAKELEVEL,MAKECMDGOALS,SUFFIXES},%
sensitive=true,
morecomment=[l]\#,%
morestring="%
morestring=[b]"%
}[keywords,comments,strings,make]%
\lst@definelanguage{make}
{morekeywords={SHELL,MAKE,MAKEFLAGS,$@,$\%,$<,$?,$^,$+,$*},%
sensitive=true,%
morecomment=[l]\#,%
morestring="%
morestring=[b]"%
}[keywords,comments,strings,make]%
%%
%% Mercury definition (c) 1997 Dominique de Waleffe <ddw@miscrit.be>
%% Extended (c) 2001 Ralph Becket <rbeck@microsoft.com>
%%
\lst@definelanguage{Mercury}%
{otherkeywords={::,->,-->,--->,:-},%
morekeywords={pred,type,module,end_module,import_module,mode,%
pragma,func,lambda,det,semidet,erroneous,multi,true,fail,is,in,%
out,di,uo,ui,interface,implementation},%
sensitive=f,%
{otherkeywords={::,->,-->,--->,:-,==,=>,<=,<=>},%
morekeywords={module,include_module,import_module,interface,%
end_module,implementation,mode,is,failure,semidet,nondet,det,%
multi,erroneous,inst,in,out,di,uo,ui,type,typeclass,instance,%
where,with_type,pred,func,lambda,impure,semipure,if,then,else,%
some,all,not,true,fail,pragma,memo,no_inline,inline,loop_check,%
minimal_model,fact_table,type_spec,terminates,does_not_terminate,%
check_termination,promise_only_solution,unsafe_promise_unique,%
source_file,obsolete,import,export,c_header_code,c_code,%
foreign_code,foreign_proc,may_call_mercury,will_not_call_mercury,%
thread_safe,not_thread_safe},%
sensitive=t,%
morecomment=[l]\%,%
morecomment=[s]{/*}{*/},%
morestring=[bd]",%
@ -457,6 +570,510 @@
morestring=[d]"%
}[keywords,comments,strings]%
%%
%% PHP definition by Luca Balzerani, <lou@latoserver.it>
%%
\lst@definelanguage{PHP}%
{morekeywords={%
abs,acos,acosh,addcslashes,addslashes,apache_child_terminate,%
apache_note,apache_setenv,array_change_key_case,array_chunk,%
array_diff,array_fill,array_filter,array_flip,array_intersect,%
array_keys,array_map,array_merge_recursive,array_merge,%
array_pad,array_pop,array_push,array_rand,array_reduce,%
array_search,array_shift,array_slice,array_splice,array_sum,%
array_unshift,array_values,array_walk,array,arsort,ascii2ebcdic,%
asinh,asort,aspell_check_raw,aspell_check,aspell_new,%
assert_options,assert,atan,atan2,atanh,base_convert,%
base64_encode,basename,bcadd,bccomp,bcdiv,bcmod,bcmul,bcpow,%
bcsqrt,bcsub,bin2hex,bind_textdomain_codeset,bindec,%
bzclose,bzcompress,bzdecompress,bzerrno,bzerror,bzerrstr,%
bzopen,bzread,bzwrite,cal_days_in_month,cal_from_jd,cal_info,%
call_user_func_array,call_user_func,call_user_method_array,%
ccvs_add,ccvs_auth,ccvs_command,ccvs_count,ccvs_delete,%
ccvs_init,ccvs_lookup,ccvs_new,ccvs_report,ccvs_return,%
ccvs_sale,ccvs_status,ccvs_textvalue,ccvs_void,ceil,chdir,%
checkdnsrr,chgrp,chmod,chop,chown,chr,chroot,chunk_split,%
clearstatcache,closedir,closelog,com_addref,com_get,com_invoke,%
com_load_typelib,com_load,com_propget,com_propput,com_propset,%
com_set,compact,connection_aborted,connection_status,%
constant,convert_cyr_string,copy,cos,cosh,count_chars,count,%
cpdf_add_outline,cpdf_arc,cpdf_begin_text,cpdf_circle,cpdf_clip,%
cpdf_closepath_fill_stroke,cpdf_closepath_stroke,cpdf_closepath,%
cpdf_curveto,cpdf_end_text,cpdf_fill_stroke,cpdf_fill,%
cpdf_finalize,cpdf_global_set_document_limits,cpdf_import_jpeg,%
cpdf_moveto,cpdf_newpath,cpdf_open,cpdf_output_buffer,%
cpdf_place_inline_image,cpdf_rect,cpdf_restore,cpdf_rlineto,%
cpdf_rotate_text,cpdf_rotate,cpdf_save_to_file,cpdf_save,%
cpdf_set_action_url,cpdf_set_char_spacing,cpdf_set_creator,%
cpdf_set_font_directories,cpdf_set_font_map_file,cpdf_set_font,%
cpdf_set_keywords,cpdf_set_leading,cpdf_set_page_animation,%
cpdf_set_text_matrix,cpdf_set_text_pos,cpdf_set_text_rendering,%
cpdf_set_title,cpdf_set_viewer_preferences,%
cpdf_setdash,cpdf_setflat,cpdf_setgray_fill,cpdf_setgray_stroke,%
cpdf_setlinecap,cpdf_setlinejoin,cpdf_setlinewidth,%
cpdf_setrgbcolor_fill,cpdf_setrgbcolor_stroke,cpdf_setrgbcolor,%
cpdf_show,cpdf_stringwidth,cpdf_stroke,cpdf_text,cpdf_translate,%
crack_closedict,crack_getlastmessage,crack_opendict,crc32,%
crypt,ctype_alnum,ctype_alpha,ctype_cntrl,ctype_digit,%
ctype_lower,ctype_print,ctype_punct,ctype_space,ctype_upper,%
curl_close,curl_errno,curl_error,curl_exec,curl_getinfo,%
curl_setopt,curl_version,current,cybercash_base64_decode,%
cybercash_decr,cybercash_encr,cybermut_creerformulairecm,%
cybermut_testmac,cyrus_authenticate,cyrus_bind,cyrus_close,%
cyrus_query,cyrus_unbind,date,dba_close,dba_delete,dba_exists,%
dba_firstkey,dba_insert,dba_nextkey,dba_open,dba_optimize,%
dba_replace,dba_sync,dbase_add_record,dbase_close,dbase_create,%
dbase_get_record_with_names,dbase_get_record,dbase_numfields,%
dbase_open,dbase_pack,dbase_replace_record,dblist,dbmclose,%
dbmexists,dbmfetch,dbmfirstkey,dbminsert,dbmnextkey,dbmopen,%
dbplus_add,dbplus_aql,dbplus_chdir,dbplus_close,dbplus_curr,%
dbplus_errno,dbplus_find,dbplus_first,dbplus_flush,%
dbplus_freelock,dbplus_freerlocks,dbplus_getlock,%
dbplus_info,dbplus_last,dbplus_lockrel,dbplus_next,dbplus_open,%
dbplus_rchperm,dbplus_rcreate,dbplus_rcrtexact,dbplus_rcrtlike,%
dbplus_restorepos,dbplus_rkeys,dbplus_ropen,dbplus_rquery,%
dbplus_rsecindex,dbplus_runlink,dbplus_rzap,dbplus_savepos,%
dbplus_setindexbynumber,dbplus_sql,dbplus_tcl,dbplus_tremove,%
dbplus_undoprepare,dbplus_unlockrel,dbplus_unselect,%
dbplus_xlockrel,dbplus_xunlockrel,dbx_close,dbx_compare,%
dbx_error,dbx_query,dbx_sort,dcgettext,dcngettext,debugger_off,%
decbin,dechex,decoct,define_syslog_variables,define,defined,%
delete,dgettext,die,dio_close,dio_fcntl,dio_open,dio_read,%
dio_stat,dio_truncate,dio_write,dirname,disk_free_space,%
diskfreespace,dl,dngettext,domxml_add_root,domxml_attributes,%
domxml_dumpmem,domxml_get_attribute,domxml_new_child,%
domxml_node_set_content,domxml_node_unlink_node,domxml_node,%
domxml_set_attribute,domxml_version,dotnet_load,doubleval,each,%
easter_days,ebcdic2ascii,echo,empty,end,ereg_replace,ereg,%
eregi,error_log,error_reporting,escapeshellarg,escapeshellcmd,%
exec,exit,exp,explode,expm1,extension_loaded,extract,ezmlm_hash,%
fbsql_autocommit,fbsql_change_user,fbsql_close,fbsql_commit,%
fbsql_create_blob,fbsql_create_clob,fbsql_create_db,%
fbsql_database_password,fbsql_database,fbsql_db_query,%
fbsql_drop_db,fbsql_errno,fbsql_error,fbsql_fetch_array,%
fbsql_fetch_field,fbsql_fetch_lengths,fbsql_fetch_object,%
fbsql_field_flags,fbsql_field_len,fbsql_field_name,%
fbsql_field_table,fbsql_field_type,fbsql_free_result,%
fbsql_hostname,fbsql_insert_id,fbsql_list_dbs,fbsql_list_fields,%
fbsql_next_result,fbsql_num_fields,fbsql_num_rows,%
fbsql_pconnect,fbsql_query,fbsql_read_blob,fbsql_read_clob,%
fbsql_rollback,fbsql_select_db,fbsql_set_lob_mode,%
fbsql_start_db,fbsql_stop_db,fbsql_tablename,fbsql_username,%
fclose,fdf_add_template,fdf_close,fdf_create,fdf_get_file,%
fdf_get_value,fdf_next_field_name,fdf_open,fdf_save,fdf_set_ap,%
fdf_set_file,fdf_set_flags,fdf_set_javascript_action,%
fdf_set_status,fdf_set_submit_form_action,fdf_set_value,feof,%
fgetc,fgetcsv,fgets,fgetss,file_exists,file,fileatime,filectime,%
fileinode,filemtime,fileowner,fileperms,filepro_fieldcount,%
filepro_fieldtype,filepro_fieldwidth,filepro_retrieve,%
filepro,filesize,filetype,floatval,flock,floor,flush,fopen,%
fputs,fread,frenchtojd,fribidi_log2vis,fscanf,fseek,fsockopen,%
ftell,ftok,ftp_cdup,ftp_chdir,ftp_connect,ftp_delete,ftp_exec,%
ftp_fput,ftp_get,ftp_login,ftp_mdtm,ftp_mkdir,ftp_nlist,%
ftp_put,ftp_pwd,ftp_quit,ftp_rawlist,ftp_rename,ftp_rmdir,%
ftp_size,ftp_systype,ftruncate,func_get_arg,func_get_args,%
function_exists,fwrite,get_browser,get_cfg_var,%
get_class_vars,get_class,get_current_user,get_declared_classes,%
get_defined_functions,get_defined_vars,get_extension_funcs,%
get_included_files,get_loaded_extensions,get_magic_quotes_gpc,%
get_meta_tags,get_object_vars,get_parent_class,%
get_resource_type,getallheaders,getcwd,getdate,getenv,%
gethostbyname,gethostbynamel,getimagesize,getlastmod,getmxrr,%
getmyinode,getmypid,getmyuid,getprotobyname,getprotobynumber,%
getrusage,getservbyname,getservbyport,gettext,gettimeofday,%
gmdate,gmmktime,gmp_abs,gmp_add,gmp_and,gmp_clrbit,gmp_cmp,%
gmp_div_q,gmp_div_qr,gmp_div_r,gmp_div,gmp_divexact,gmp_fact,%
gmp_gcdext,gmp_hamdist,gmp_init,gmp_intval,gmp_invert,%
gmp_legendre,gmp_mod,gmp_mul,gmp_neg,gmp_or,gmp_perfect_square,%
gmp_pow,gmp_powm,gmp_prob_prime,gmp_random,gmp_scan0,gmp_scan1,%
gmp_sign,gmp_sqrt,gmp_sqrtrem,gmp_strval,gmp_sub,gmp_xor,%
gregoriantojd,gzclose,gzcompress,gzdeflate,gzencode,gzeof,%
gzgetc,gzgets,gzgetss,gzinflate,gzopen,gzpassthru,gzputs,gzread,%
gzseek,gztell,gzuncompress,gzwrite,header,headers_sent,hebrev,%
hexdec,highlight_file,highlight_string,htmlentities,%
hw_array2objrec,hw_changeobject,hw_children,hw_childrenobj,%
hw_connect,hw_connection_info,hw_cp,hw_deleteobject,%
hw_docbyanchorobj,hw_document_attributes,hw_document_bodytag,%
hw_document_setcontent,hw_document_size,hw_dummy,hw_edittext,%
hw_errormsg,hw_free_document,hw_getanchors,hw_getanchorsobj,%
hw_getchildcoll,hw_getchildcollobj,hw_getchilddoccoll,%
hw_getobject,hw_getobjectbyquery,hw_getobjectbyquerycoll,%
hw_getobjectbyqueryobj,hw_getparents,hw_getparentsobj,%
hw_getremote,hw_getremotechildren,hw_getsrcbydestobj,hw_gettext,%
hw_identify,hw_incollections,hw_info,hw_inscoll,hw_insdoc,%
hw_insertdocument,hw_insertobject,hw_mapid,hw_modifyobject,%
hw_new_document,hw_objrec2array,hw_output_document,hw_pconnect,%
hw_root,hw_setlinkroot,hw_stat,hw_unlock,hw_who,hypot,%
ibase_blob_cancel,ibase_blob_close,ibase_blob_create,%
ibase_blob_get,ibase_blob_import,ibase_blob_info,%
ibase_close,ibase_commit,ibase_connect,ibase_errmsg,%
ibase_fetch_object,ibase_fetch_row,ibase_field_info,%
ibase_free_result,ibase_num_fields,ibase_pconnect,ibase_prepare,%
ibase_rollback,ibase_timefmt,ibase_trans,icap_close,%
icap_delete_calendar,icap_delete_event,icap_fetch_event,%
icap_list_events,icap_open,icap_rename_calendar,icap_reopen,%
icap_store_event,iconv_get_encoding,iconv_set_encoding,iconv,%
ifx_blobinfile_mode,ifx_byteasvarchar,ifx_close,ifx_connect,%
ifx_create_blob,ifx_create_char,ifx_do,ifx_error,ifx_errormsg,%
ifx_fieldproperties,ifx_fieldtypes,ifx_free_blob,ifx_free_char,%
ifx_get_blob,ifx_get_char,ifx_getsqlca,ifx_htmltbl_result,%
ifx_num_fields,ifx_num_rows,ifx_pconnect,ifx_prepare,ifx_query,%
ifx_update_blob,ifx_update_char,ifxus_close_slob,%
ifxus_free_slob,ifxus_open_slob,ifxus_read_slob,ifxus_seek_slob,%
ifxus_write_slob,ignore_user_abort,image2wbmp,%
imagearc,imagechar,imagecharup,imagecolorallocate,imagecolorat,%
imagecolorclosestalpha,imagecolorclosesthwb,%
imagecolorexact,imagecolorexactalpha,imagecolorresolve,%
imagecolorset,imagecolorsforindex,imagecolorstotal,%
imagecopy,imagecopymerge,imagecopymergegray,imagecopyresampled,%
imagecreate,imagecreatefromgd,imagecreatefromgd2,%
imagecreatefromgif,imagecreatefromjpeg,imagecreatefrompng,%
imagecreatefromwbmp,imagecreatefromxbm,imagecreatefromxpm,%
imagedashedline,imagedestroy,imageellipse,imagefill,%
imagefilledellipse,imagefilledpolygon,imagefilledrectangle,%
imagefontheight,imagefontwidth,imageftbbox,imagefttext,%
imagegd,imagegd2,imagegif,imageinterlace,imagejpeg,imageline,%
imagepalettecopy,imagepng,imagepolygon,imagepsbbox,%
imagepsextendfont,imagepsfreefont,imagepsloadfont,%
imagepstext,imagerectangle,imagesetbrush,imagesetpixel,%
imagesetthickness,imagesettile,imagestring,imagestringup,%
imagesy,imagetruecolortopalette,imagettfbbox,imagettftext,%
imagewbmp,imap_8bit,imap_alerts,imap_append,imap_base64,%
imap_body,imap_bodystruct,imap_check,imap_clearflag_full,%
imap_createmailbox,imap_delete,imap_deletemailbox,imap_errors,%
imap_fetch_overview,imap_fetchbody,imap_fetchheader,%
imap_get_quota,imap_getmailboxes,imap_getsubscribed,imap_header,%
imap_headers,imap_last_error,imap_listmailbox,%
imap_mail_compose,imap_mail_copy,imap_mail_move,imap_mail,%
imap_mime_header_decode,imap_msgno,imap_num_msg,imap_num_recent,%
imap_ping,imap_popen,imap_qprint,imap_renamemailbox,imap_reopen,%
imap_rfc822_parse_headers,imap_rfc822_write_address,%
imap_search,imap_set_quota,imap_setacl,imap_setflag_full,%
imap_status,imap_subscribe,imap_thread,imap_uid,imap_undelete,%
imap_utf7_decode,imap_utf7_encode,imap_utf8,implode,%
in_array,include_once,include,ingres_autocommit,ingres_close,%
ingres_connect,ingres_fetch_array,ingres_fetch_object,%
ingres_field_length,ingres_field_name,ingres_field_nullable,%
ingres_field_scale,ingres_field_type,ingres_num_fields,%
ingres_pconnect,ingres_query,ingres_rollback,ini_alter,%
ini_get,ini_restore,ini_set,intval,ip2long,iptcembed,iptcparse,%
ircg_disconnect,ircg_fetch_error_msg,ircg_get_username,%
ircg_ignore_add,ircg_ignore_del,ircg_is_conn_alive,ircg_join,%
ircg_lookup_format_messages,ircg_msg,ircg_nick,%
ircg_nickname_unescape,ircg_notice,ircg_part,ircg_pconnect,%
ircg_set_current,ircg_set_file,ircg_set_on_die,ircg_topic,%
is_array,is_bool,is_dir,is_double,is_executable,is_file,%
is_int,is_integer,is_link,is_long,is_null,is_numeric,is_object,%
is_real,is_resource,is_scalar,is_string,is_subclass_of,%
is_writable,is_writeable,isset,java_last_exception_clear,%
jddayofweek,jdmonthname,jdtofrench,jdtogregorian,jdtojewish,%
jdtounix,jewishtojd,join,jpeg2wbmp,juliantojd,key,krsort,ksort,%
ldap_8859_to_t61,ldap_add,ldap_bind,ldap_close,ldap_compare,%
ldap_count_entries,ldap_delete,ldap_dn2ufn,ldap_err2str,%
ldap_error,ldap_explode_dn,ldap_first_attribute,%
ldap_first_reference,ldap_free_result,ldap_get_attributes,%
ldap_get_entries,ldap_get_option,ldap_get_values_len,%
ldap_list,ldap_mod_add,ldap_mod_del,ldap_mod_replace,%
ldap_next_attribute,ldap_next_entry,ldap_next_reference,%
ldap_parse_result,ldap_read,ldap_rename,ldap_search,%
ldap_set_rebind_proc,ldap_sort,ldap_start_tls,ldap_t61_to_8859,%
leak,levenshtein,link,linkinfo,list,localeconv,localtime,log,%
log1p,long2ip,lstat,ltrim,mail,%
mailparse_msg_create,mailparse_msg_extract_part_file,%
mailparse_msg_free,mailparse_msg_get_part_data,%
mailparse_msg_get_structure,mailparse_msg_parse_file,%
mailparse_rfc822_parse_addresses,mailparse_stream_encode,%
max,mb_convert_encoding,mb_convert_kana,mb_convert_variables,%
mb_decode_numericentity,mb_detect_encoding,mb_detect_order,%
mb_encode_numericentity,mb_http_input,mb_http_output,%
mb_language,mb_output_handler,mb_parse_str,%
mb_send_mail,mb_strcut,mb_strimwidth,mb_strlen,mb_strpos,%
mb_strwidth,mb_substitute_character,mb_substr,mcal_append_event,%
mcal_create_calendar,mcal_date_compare,mcal_date_valid,%
mcal_day_of_year,mcal_days_in_month,mcal_delete_calendar,%
mcal_event_add_attribute,mcal_event_init,mcal_event_set_alarm,%
mcal_event_set_class,mcal_event_set_description,%
mcal_event_set_recur_daily,mcal_event_set_recur_monthly_mday,%
mcal_event_set_recur_none,mcal_event_set_recur_weekly,%
mcal_event_set_start,mcal_event_set_title,mcal_expunge,%
mcal_fetch_event,mcal_is_leap_year,mcal_list_alarms,%
mcal_next_recurrence,mcal_open,mcal_popen,mcal_rename_calendar,%
mcal_snooze,mcal_store_event,mcal_time_valid,mcal_week_of_year,%
mcrypt_cfb,mcrypt_create_iv,mcrypt_decrypt,mcrypt_ecb,%
mcrypt_enc_get_block_size,mcrypt_enc_get_iv_size,%
mcrypt_enc_get_modes_name,mcrypt_enc_get_supported_key_sizes,%
mcrypt_enc_is_block_algorithm,mcrypt_enc_is_block_mode,%
mcrypt_encrypt,mcrypt_generic_deinit,mcrypt_generic_end,%
mcrypt_generic,mcrypt_get_block_size,mcrypt_get_cipher_name,%
mcrypt_get_key_size,mcrypt_list_algorithms,mcrypt_list_modes,%
mcrypt_module_get_algo_block_size,%
mcrypt_module_get_supported_key_sizes,%
mcrypt_module_is_block_algorithm,mcrypt_module_is_block_mode,%
mcrypt_module_self_test,mcrypt_ofb,md5_file,md5,%
metaphone,method_exists,mhash_count,mhash_get_block_size,%
mhash_keygen_s2k,mhash,microtime,min,ming_setcubicthreshold,%
ming_useswfversion,mkdir,mktime,move_uploaded_file,%
msession_count,msession_create,msession_destroy,%
msession_find,msession_get_array,msession_get,msession_getdata,%
msession_list,msession_listvar,msession_lock,msession_plugin,%
msession_set_array,msession_set,msession_setdata,%
msession_uniq,msession_unlock,msql_affected_rows,msql_close,%
msql_create_db,msql_createdb,msql_data_seek,msql_dbname,%
msql_dropdb,msql_error,msql_fetch_array,msql_fetch_field,%
msql_fetch_row,msql_field_seek,msql_fieldflags,msql_fieldlen,%
msql_fieldtable,msql_fieldtype,msql_free_result,msql_freeresult,%
msql_list_fields,msql_list_tables,msql_listdbs,msql_listfields,%
msql_num_fields,msql_num_rows,msql_numfields,msql_numrows,%
msql_query,msql_regcase,msql_result,msql_select_db,%
msql_tablename,msql,mssql_bind,mssql_close,mssql_connect,%
mssql_execute,mssql_fetch_array,mssql_fetch_assoc,%
mssql_fetch_field,mssql_fetch_object,mssql_fetch_row,%
mssql_field_name,mssql_field_seek,mssql_field_type,%
mssql_get_last_message,mssql_guid_string,mssql_init,%
mssql_min_message_severity,mssql_next_result,mssql_num_fields,%
mssql_pconnect,mssql_query,mssql_result,mssql_rows_affected,%
mt_getrandmax,mt_rand,mt_srand,muscat_close,muscat_get,%
muscat_setup_net,muscat_setup,mysql_affected_rows,%
mysql_close,mysql_connect,mysql_create_db,mysql_data_seek,%
mysql_db_query,mysql_drop_db,mysql_errno,mysql_error,%
mysql_fetch_array,mysql_fetch_assoc,mysql_fetch_field,%
mysql_fetch_object,mysql_fetch_row,mysql_field_flags,%
mysql_field_name,mysql_field_seek,mysql_field_table,%
mysql_free_result,mysql_get_client_info,mysql_get_host_info,%
mysql_get_server_info,mysql_insert_id,mysql_list_dbs,%
mysql_list_tables,mysql_num_fields,mysql_num_rows,%
mysql_query,mysql_result,mysql_select_db,mysql_tablename,%
natcasesort,natsort,ncurses_addch,ncurses_addchnstr,%
ncurses_addnstr,ncurses_addstr,ncurses_assume_default_colors,%
ncurses_attron,ncurses_attrset,ncurses_baudrate,ncurses_beep,%
ncurses_bkgdset,ncurses_border,ncurses_can_change_color,%
ncurses_clear,ncurses_clrtobot,ncurses_clrtoeol,%
ncurses_curs_set,ncurses_def_prog_mode,ncurses_def_shell_mode,%
ncurses_delay_output,ncurses_delch,ncurses_deleteln,%
ncurses_doupdate,ncurses_echo,ncurses_echochar,ncurses_end,%
ncurses_erasechar,ncurses_filter,ncurses_flash,ncurses_flushinp,%
ncurses_halfdelay,ncurses_has_colors,ncurses_has_ic,%
ncurses_has_key,ncurses_hline,ncurses_inch,ncurses_init_color,%
ncurses_init,ncurses_insch,ncurses_insdelln,ncurses_insertln,%
ncurses_instr,ncurses_isendwin,ncurses_keyok,ncurses_killchar,%
ncurses_move,ncurses_mvaddch,ncurses_mvaddchnstr,%
ncurses_mvaddnstr,ncurses_mvaddstr,ncurses_mvcur,%
ncurses_mvgetch,ncurses_mvhline,ncurses_mvinch,ncurses_mvvline,%
ncurses_napms,ncurses_newwin,ncurses_nl,ncurses_nocbreak,%
ncurses_nonl,ncurses_noqiflush,ncurses_noraw,ncurses_putp,%
ncurses_raw,ncurses_refresh,ncurses_resetty,ncurses_savetty,%
ncurses_scr_init,ncurses_scr_restore,ncurses_scr_set,%
ncurses_slk_attr,ncurses_slk_attroff,ncurses_slk_attron,%
ncurses_slk_clear,ncurses_slk_color,ncurses_slk_init,%
ncurses_slk_refresh,ncurses_slk_restore,ncurses_slk_touch,%
ncurses_standout,ncurses_start_color,ncurses_termattrs,%
ncurses_typeahead,ncurses_ungetch,ncurses_use_default_colors,%
ncurses_use_extended_names,ncurses_vidattr,ncurses_vline,%
next,ngettext,nl_langinfo,nl2br,notes_body,notes_copy_db,%
notes_create_note,notes_drop_db,notes_find_note,%
notes_list_msgs,notes_mark_read,notes_mark_unread,%
notes_search,notes_unread,notes_version,number_format,ob_clean,%
ob_end_flush,ob_flush,ob_get_contents,ob_get_length,%
ob_gzhandler,ob_iconv_handler,ob_implicit_flush,ob_start,%
ocicancel,ocicollappend,ocicollassign,ocicollassignelem,%
ocicollmax,ocicollsize,ocicolltrim,ocicolumnisnull,%
ocicolumnprecision,ocicolumnscale,ocicolumnsize,ocicolumntype,%
ocicommit,ocidefinebyname,ocierror,ociexecute,ocifetch,%
ocifetchstatement,ocifreecollection,ocifreecursor,ocifreedesc,%
ociinternaldebug,ociloadlob,ocilogoff,ocilogon,ocinewcollection,%
ocinewdescriptor,ocinlogon,ocinumcols,ociparse,ociplogon,%
ocirollback,ocirowcount,ocisavelob,ocisavelobfile,%
ocisetprefetch,ocistatementtype,ociwritelobtofile,octdec,%
odbc_binmode,odbc_close_all,odbc_close,odbc_columnprivileges,%
odbc_commit,odbc_connect,odbc_cursor,odbc_do,odbc_error,%
odbc_exec,odbc_execute,odbc_fetch_array,odbc_fetch_into,%
odbc_fetch_row,odbc_field_len,odbc_field_name,odbc_field_num,%
odbc_field_scale,odbc_field_type,odbc_foreignkeys,%
odbc_gettypeinfo,odbc_longreadlen,odbc_next_result,%
odbc_num_rows,odbc_pconnect,odbc_prepare,odbc_primarykeys,%
odbc_procedures,odbc_result_all,odbc_result,odbc_rollback,%
odbc_specialcolumns,odbc_statistics,odbc_tableprivileges,%
opendir,openlog,openssl_csr_export_to_file,openssl_csr_export,%
openssl_csr_sign,openssl_error_string,openssl_free_key,%
openssl_get_publickey,openssl_open,openssl_pkcs7_decrypt,%
openssl_pkcs7_sign,openssl_pkcs7_verify,%
openssl_pkey_export,openssl_pkey_new,openssl_private_decrypt,%
openssl_public_decrypt,openssl_public_encrypt,openssl_seal,%
openssl_verify,openssl_x509_check_private_key,%
openssl_x509_export_to_file,openssl_x509_export,%
openssl_x509_parse,openssl_x509_read,ora_bind,ora_close,%
ora_columnsize,ora_columntype,ora_commit,ora_commitoff,%
ora_do,ora_error,ora_errorcode,ora_exec,ora_fetch_into,%
ora_getcolumn,ora_logoff,ora_logon,ora_numcols,ora_numrows,%
ora_parse,ora_plogon,ora_rollback,ord,overload,ovrimos_close,%
ovrimos_connect,ovrimos_cursor,ovrimos_exec,ovrimos_execute,%
ovrimos_fetch_row,ovrimos_field_len,ovrimos_field_name,%
ovrimos_field_type,ovrimos_free_result,ovrimos_longreadlen,%
ovrimos_num_rows,ovrimos_prepare,ovrimos_result_all,%
ovrimos_rollback,pack,parse_ini_file,parse_str,parse_url,%
pathinfo,pclose,pdf_add_annotation,pdf_add_bookmark,%
pdf_add_locallink,pdf_add_note,pdf_add_outline,pdf_add_pdflink,%
pdf_add_weblink,pdf_arc,pdf_arcn,pdf_attach_file,pdf_begin_page,%
pdf_begin_template,pdf_circle,pdf_clip,pdf_close_image,%
pdf_close_pdi,pdf_close,pdf_closepath_fill_stroke,%
pdf_closepath,pdf_concat,pdf_continue_text,pdf_curveto,%
pdf_end_page,pdf_end_pattern,pdf_end_template,pdf_endpath,%
pdf_fill,pdf_findfont,pdf_get_buffer,pdf_get_font,%
pdf_get_fontsize,pdf_get_image_height,pdf_get_image_width,%
pdf_get_minorversion,pdf_get_parameter,pdf_get_pdi_parameter,%
pdf_get_value,pdf_initgraphics,pdf_lineto,pdf_makespotcolor,%
pdf_new,pdf_open_ccitt,pdf_open_file,pdf_open_gif,%
pdf_open_image,pdf_open_jpeg,pdf_open_memory_image,%
pdf_open_pdi,pdf_open_png,pdf_open_tiff,pdf_open,%
pdf_place_pdi_page,pdf_rect,pdf_restore,pdf_rotate,pdf_save,%
pdf_set_border_color,pdf_set_border_dash,pdf_set_border_style,%
pdf_set_duration,pdf_set_font,pdf_set_horiz_scaling,%
pdf_set_info_creator,pdf_set_info_keywords,pdf_set_info_subject,%
pdf_set_info,pdf_set_leading,pdf_set_parameter,pdf_set_text_pos,%
pdf_set_text_rise,pdf_set_transition,pdf_set_value,%
pdf_setcolor,pdf_setdash,pdf_setflat,pdf_setfont,%
pdf_setgray_stroke,pdf_setgray,pdf_setlinecap,pdf_setlinejoin,%
pdf_setmatrix,pdf_setmiterlimit,pdf_setpolydash,%
pdf_setrgbcolor_stroke,pdf_setrgbcolor,pdf_show_boxed,%
pdf_show,pdf_skew,pdf_stringwidth,pdf_stroke,pdf_translate,%
pfpro_init,pfpro_process_raw,pfpro_process,pfpro_version,%
pg_cancel_query,pg_client_encoding,pg_close,pg_cmdtuples,%
pg_connection_busy,pg_connection_reset,pg_connection_status,%
pg_copy_to,pg_dbname,pg_end_copy,pg_errormessage,%
pg_escape_string,pg_exec,pg_fetch_array,pg_fetch_object,%
pg_fieldisnull,pg_fieldname,pg_fieldnum,pg_fieldprtlen,%
pg_fieldtype,pg_freeresult,pg_get_result,pg_getlastoid,pg_host,%
pg_last_notice,pg_lo_close,pg_lo_seek,pg_lo_tell,pg_loclose,%
pg_loexport,pg_loimport,pg_loopen,pg_loread,pg_loreadall,%
pg_lowrite,pg_numfields,pg_numrows,pg_options,pg_pconnect,%
pg_put_line,pg_request_cancel,pg_result_error,pg_result_status,%
pg_send_query,pg_set_client_encoding,pg_trace,pg_tty,pg_untrace,%
php_sapi_name,php_uname,phpcredits,phpinfo,<version,pi,%
popen,pos,posix_ctermid,posix_getcwd,posix_getegid,%
posix_getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,%
posix_getpgid,posix_getpgrp,posix_getpid,posix_getppid,%
posix_getpwuid,posix_getrlimit,posix_getsid,posix_getuid,%
posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,%
posix_setpgid,posix_setsid,posix_setuid,posix_times,%
posix_uname,pow,preg_grep,preg_match_all,preg_match,preg_quote,%
preg_replace,preg_split,prev,print_r,print,printer_abort,%
printer_create_brush,printer_create_dc,printer_create_font,%
printer_delete_brush,printer_delete_dc,printer_delete_font,%
printer_draw_bmp,printer_draw_chord,printer_draw_elipse,%
printer_draw_pie,printer_draw_rectangle,printer_draw_roundrect,%
printer_end_doc,printer_end_page,printer_get_option,%
printer_logical_fontheight,printer_open,printer_select_brush,%
printer_select_pen,printer_set_option,printer_start_doc,%
printer_write,printf,pspell_add_to_personal,%
pspell_check,pspell_clear_session,pspell_config_create,%
pspell_config_mode,pspell_config_personal,pspell_config_repl,%
pspell_config_save_repl,pspell_new_config,pspell_new_personal,%
pspell_save_wordlist,pspell_store_replacement,pspell_suggest,%
qdom_error,qdom_tree,quoted_printable_decode,quotemeta,rad2deg,%
range,rawurldecode,rawurlencode,read_exif_data,readdir,readfile,%
readline_add_history,readline_clear_history,%
readline_info,readline_list_history,readline_read_history,%
readline,readlink,realpath,recode_file,recode_string,recode,%
register_tick_function,rename,require_once,require,reset,%
rewind,rewinddir,rmdir,round,rsort,rtrim,%
satellite_exception_id,satellite_exception_value,%
satellite_load_idl,satellite_object_to_string,sem_acquire,%
sem_release,sem_remove,serialize,sesam_affected_rows,%
sesam_connect,sesam_diagnostic,sesam_disconnect,sesam_errormsg,%
sesam_fetch_array,sesam_fetch_result,sesam_fetch_row,%
sesam_field_name,sesam_free_result,sesam_num_fields,sesam_query,%
sesam_seek_row,sesam_settransaction,session_cache_expire,%
session_decode,session_destroy,session_encode,%
session_id,session_is_registered,session_module_name,%
session_register,session_save_path,session_set_cookie_params,%
session_start,session_unregister,session_unset,%
set_error_handler,set_file_buffer,set_magic_quotes_runtime,%
setcookie,setlocale,settype,shell_exec,shm_attach,shm_detach,%
shm_put_var,shm_remove_var,shm_remove,shmop_close,shmop_delete,%
shmop_read,shmop_size,shmop_write,show_source,shuffle,%
sin,sinh,sizeof,sleep,snmp_get_quick_print,snmp_set_quick_print,%
snmprealwalk,snmpset,snmpwalk,snmpwalkoid,socket_accept,%
socket_close,socket_connect,socket_create_listen,%
socket_create,socket_fd_alloc,socket_fd_clear,socket_fd_free,%
socket_fd_set,socket_fd_zero,socket_get_status,socket_getopt,%
socket_getsockname,socket_iovec_add,socket_iovec_alloc,%
socket_iovec_fetch,socket_iovec_free,socket_iovec_set,%
socket_listen,socket_read,socket_readv,socket_recv,%
socket_recvmsg,socket_select,socket_send,socket_sendmsg,%
socket_set_blocking,socket_set_nonblock,socket_set_timeout,%
socket_shutdown,socket_strerror,socket_write,socket_writev,sort,%
split,spliti,sprintf,sql_regcase,sqrt,srand,sscanf,stat,str_pad,%
str_replace,str_rot13,strcasecmp,strchr,strcmp,strcoll,strcspn,%
strip_tags,stripcslashes,stripslashes,stristr,strlen,%
strnatcmp,strncasecmp,strncmp,strpos,strrchr,strrev,strrpos,%
strstr,strtok,strtolower,strtotime,strtoupper,strtr,strval,%
substr_replace,substr,swf_actiongeturl,swf_actiongotoframe,%
swf_actionnextframe,swf_actionplay,swf_actionprevframe,%
swf_actionstop,swf_actiontogglequality,swf_actionwaitforframe,%
swf_addcolor,swf_closefile,swf_definebitmap,swf_definefont,%
swf_definepoly,swf_definerect,swf_definetext,swf_endbutton,%
swf_endshape,swf_endsymbol,swf_fontsize,swf_fontslant,%
swf_getbitmapinfo,swf_getfontinfo,swf_getframe,swf_labelframe,%
swf_modifyobject,swf_mulcolor,swf_nextid,swf_oncondition,%
swf_ortho,swf_ortho2,swf_perspective,swf_placeobject,%
swf_popmatrix,swf_posround,swf_pushmatrix,swf_removeobject,%
swf_scale,swf_setfont,swf_setframe,swf_shapearc,%
swf_shapecurveto3,swf_shapefillbitmapclip,%
swf_shapefilloff,swf_shapefillsolid,swf_shapelinesolid,%
swf_shapemoveto,swf_showframe,swf_startbutton,swf_startdoaction,%
swf_startsymbol,swf_textwidth,swf_translate,swf_viewport,%
sybase_close,sybase_connect,sybase_data_seek,sybase_fetch_array,%
sybase_fetch_object,sybase_fetch_row,sybase_field_seek,%
sybase_get_last_message,sybase_min_client_severity,%
sybase_min_message_severity,sybase_min_server_severity,%
sybase_num_rows,sybase_pconnect,sybase_query,sybase_result,%
symlink,syslog,system,tan,tanh,tempnam,textdomain,time,tmpfile,%
trigger_error,trim,uasort,ucfirst,ucwords,udm_add_search_limit,%
udm_api_version,udm_cat_list,udm_cat_path,udm_check_charset,%
udm_clear_search_limits,udm_close_stored,udm_crc32,udm_errno,%
udm_find,udm_free_agent,udm_free_ispell_data,udm_free_res,%
udm_get_res_field,udm_get_res_param,udm_load_ispell_data,%
udm_set_agent_param,uksort,umask,uniqid,unixtojd,unlink,unpack,%
unserialize,unset,urldecode,urlencode,user_error,usleep,usort,%
utf8_encode,var_dump,var_export,version_compare,virtual,%
vpopmail_add_alias_domain,vpopmail_add_domain_ex,%
vpopmail_add_user,vpopmail_alias_add,vpopmail_alias_del_domain,%
vpopmail_alias_get_all,vpopmail_alias_get,vpopmail_auth_user,%
vpopmail_del_domain,vpopmail_del_user,vpopmail_error,%
vpopmail_set_user_quota,vprintf,vsprintf,w32api_deftype,%
w32api_invoke_function,w32api_register_function,%
wddx_add_vars,wddx_deserialize,wddx_packet_end,%
wddx_serialize_value,wddx_serialize_vars,wordwrap,%
xml_get_current_byte_index,xml_get_current_column_number,%
xml_get_error_code,xml_parse_into_struct,xml_parse,%
xml_parser_create,xml_parser_free,xml_parser_get_option,%
xml_set_character_data_handler,xml_set_default_handler,%
xml_set_end_namespace_decl_handler,%
xml_set_notation_decl_handler,xml_set_object,%
xml_set_start_namespace_decl_handler,%
xmldoc,xmldocfile,xmlrpc_decode_request,xmlrpc_decode,%
xmlrpc_encode,xmlrpc_get_type,xmlrpc_parse_method_descriptions,%
xmlrpc_server_call_method,xmlrpc_server_create,%
xmlrpc_server_register_introspection_callback,%
xmlrpc_set_type,xmltree,xpath_eval_expression,xpath_eval,%
xptr_eval,xptr_new_context,xslt_create,xslt_errno,xslt_error,%
xslt_process,xslt_set_base,xslt_set_encoding,%
xslt_set_log,xslt_set_sax_handler,xslt_set_sax_handlers,%
xslt_set_scheme_handlers,yaz_addinfo,yaz_ccl_conf,yaz_ccl_parse,%
yaz_connect,yaz_database,yaz_element,yaz_errno,yaz_error,%
yaz_itemorder,yaz_present,yaz_range,yaz_record,yaz_scan_result,%
yaz_search,yaz_sort,yaz_syntax,yaz_wait,yp_all,yp_cat,%
yp_errno,yp_first,yp_get_default_domain,yp_master,yp_match,%
yp_order,zend_logo_guid,zend_version,zip_close,zip_entry_close,%
zip_entry_compressionmethod,zip_entry_filesize,zip_entry_name,%
zip_entry_read,zip_open,zip_read},%
sensitive,%
morecomment=[l]\#,%
morecomment=[l]//,%
morecomment=[s]{/*}{*/},%
morestring=[b]",%
morestring=[b]'%
}[keywords,comments,strings]%
%%
%% Prolog definition (c) 1997 Dominique de Waleffe <ddw@miscrit.be>
%%
\lst@definelanguage{Prolog}%
@ -575,10 +1192,12 @@
},%
morestring=[d]",%
MoreSelectCharTable=%
\lst@CArgX\#\relax\lst@CommentB\lst@CLmode{}{}%
\lst@CArgX\#\relax\lst@DefDelimB{}{}%
{\ifx\lst@lastother\lstum@backslash
\expandafter\@gobblethree
\fi}\lst@commentstyle
\fi}%
\lst@BeginComment\lst@commentmode
{{\lst@commentstyle}\lst@Lmodetrue}%
}[keywords,comments,strings]%
%%
%% VBScript definition (c) 2000 Sonja Weidmann <Sonja.Weidmann@sap.com>
@ -629,6 +1248,26 @@
morecomment=[l]',%
morestring=[d]"%
}[keywords,comments,strings]%
%%
%% VRML definition (c) 2001 Oliver Baum <oli.baum@web.de>
%%
\lst@definelanguage[97]{VRML}
{morekeywords={DEF,EXTERNPROTO,FALSE,IS,NULL,PROTO,ROUTE,TO,TRUE,USE,%
eventIn,eventOut,exposedField,field,Introduction,Anchor,%
Appearance,AudioClip,Background,Billboard,Box,Collision,Color,%
ColorInterpolator,Cone,Coordinate,CoordinateInterpolator,%
Cylinder,CylinderSensor,DirectionalLight,ElevationGrid,Extrusion,%
Fog,FontStyle,Group,ImageTexture,IndexedFaceSet,IndexedLineSet,%
Inline,LOD,Material,MovieTexture,NavigationInfo,Normal,%
NormalInterpolator,OrientationInterpolator,PixelTexture,%
PlaneSensor,PointLight,PointSet,PositionInterpolator,%
ProximitySensor,ScalarInterpolator,Script,Shape,Sound,Sphere,%
SphereSensor,SpotLight,Switch,Text,TextureCoordinate,%
TextureTransform,TimeSensor,TouchSensor,Transform,Viewpoint,%
VisibilitySensor,WorldInfo},%
morecomment=[l]\#,% bug: starts comment in the first column
morestring=[b]"%
}[keywords,comments,strings]
\endinput
%%
%% End of file `lstlang2.sty'.

View File

@ -6,8 +6,8 @@
%%
%% lstdrvrs.dtx (with options: `lang3')
%%
%% (w)(c) 1996/1997/1998/1999/2000 Carsten Heinz and/or any other author
%% listed elsewhere in this file.
%% (w)(c) 1996/1997/1998/1999/2000/2001/2002 Carsten Heinz and/or any
%% other author listed elsewhere in this file.
%%
%% This file is distributed under the terms of the LaTeX Project Public
%% License from CTAN archives in directory macros/latex/base/lppl.txt.
@ -15,13 +15,11 @@
%%
%% This file is completely free and comes without any warranty.
%%
%% Permission is granted to change this file. You are not allowed to
%% distribute any changed version of this file, neither under the same
%% name nor under a different one.
%%
%% Send comments and ideas on the package, error reports and additional
%% programming languages to <cheinz@gmx.de>.
%%
\ProvidesFile{lstlang3}
[2002/07/31 v1.0d listings language file]
\lst@definelanguage[68]{Algol}%
{morekeywords={abs,and,arg,begin,bin,bits,bool,by,bytes,case,channel,%
char,co,comment,compl,conj,divab,do,down,elem,elif,else,empty,%
@ -43,54 +41,68 @@
keywordcommentsemicolon={end}{else,end}{comment}%
}[keywords,keywordcomments]%
%%
%% Visual Basic definition (c) 2001 Frédéric Jacquet
%% <fjacquet@gphy.campus.univ-poitiers.fr>
%% x86masm definition (c) 2002 Andrew Zabolotny <zap@cobra.ru>
%%
\lstdefinelanguage[Visual]{Basic}
{morekeywords={AddressOf,Abs,And,AppActivate,Array,As,Asc,Atn,Base,%
Beep,Binary,ByRef,ByVal,CVErr,Call,CallByName,Case,ChDir,ChDrive,%
Choose,Chr,Close,Command,Compare,Comparison,Const,Cos,%
CreateObject,CurDir,DDB,Date,DateAdd,DateDiff,DatePart,%
DateSerial,DateValue,Day,Declare,Deftype,DeleteSetting,Dim,Dir,%
Do,DoEvents,EOF,Each,Else,Empty,End,Enum,Environ,Eqv,Erase,Error,%
Event,Exit,Exp,Explicit,FV,False,FileAttr,FileCopy,FileDateTime,%
FileLen,Filter,Fix,For,Format,FormatCurrency,FormatDateRime,%
FormatNumber,FormatPercent,Friend,Function,Get,GetAllSettings,%
GetAttr,GetAutoServerSettings,GetObject,GetSetting,GoSub,GoTo,%
Hex,Hour,IIf,IMEStatus,IPmt,IRR,If,Imp,Implements,InStr,InStrRev,%
Input,InputBox,Int,Is,IsArray,IsDate,IsEmpty,IsError,IsMissing,%
IsNull,IsNumeric,IsObject,Join,Kill,LBound,LCase,LOF,LSet,LTrim,%
Left,Len,Let,Like,Line,Load,LoadPicture,LoadResData,%
LoadResPicture,LoadResString,Loc,Lock,Lock,Log,Loop,MIRR,Math,Me,%
Mid,Minute,MkDir,Mod,Month,MonthName,MsgBox,NPV,NPer,Name,New,%
Next,Not,Nothing,Now,Null,Oct,On,Open,Option,Optional,Or,PPmt,PV,%
Paramarray,Partition,Pmt,Print,Private,Property,Public,Put,%
QBColor,RGB,RSet,RTrim,RaiseEvent,Randomize,Rate,ReDim,Rem,%
Replace,Resume,Return,Right,RmDir,Rnd,Round,SLN,SYD,SavePicture,%
SaveSetting,Second,Seek,Select,SendKeys,Set,SetAttr,Sgn,Shell,%
Sin,Space,Spc,Split,Sqr,Static,Step,Stop,Str,StrComp,StrConv,%
StrReverse,String,Sub,Switch,Tab,Tan,Then,Time,TimeSerial,%
TimeValue,Timer,Trim,True,Type,TypeName,UBound,UCase,Unload,%
Unlock,Val,VarType,Weekday,WeekdayName,Wend,While,Width,With,%
Withevents,Write,Xor,Year},%
sensitive=false,%
morecomment=[l]\',%
morestring=[b]"%
}%
\lst@definelanguage[x86masm]{Assembler}%
{morekeywords={al,ah,ax,eax,bl,bh,bx,ebx,cl,ch,cx,ecx,dl,dh,dx,edx,%
si,esi,di,edi,bp,ebp,sp,esp,cs,ds,es,ss,fs,gs,cr0,cr1,cr2,cr3,%
db0,db1,db2,db3,db4,db5,db6,db7,tr0,tr1,tr2,tr3,tr4,tr5,tr6,tr7,%
st,aaa,aad,aam,aas,adc,add,and,arpl,bound,bsf,bsr,bswap,bt,btc,%
btr,bts,call,cbw,cdq,clc,cld,cli,clts,cmc,cmp,cmps,cmpsb,cmpsw,%
cmpsd,cmpxchg,cwd,cwde,daa,das,dec,div,enter,hlt,idiv,imul,in,%
inc,ins,int,into,invd,invlpg,iret,ja,jae,jb,jbe,jc,jcxz,jecxz,%
je,jg,jge,jl,jle,jna,jnae,jnb,jnbe,jnc,jne,jng,jnge,jnl,jnle,%
jno,jnp,jns,jnz,jo,jp,jpe,jpo,js,jz,jmp,lahf,lar,lea,leave,lgdt,%
lidt,lldt,lmsw,lock,lods,lodsb,lodsw,lodsd,loop,loopz,loopnz,%
loope,loopne,lds,les,lfs,lgs,lss,lsl,ltr,mov,movs,movsb,movsw,%
movsd,movsx,movzx,mul,neg,nop,not,or,out,outs,pop,popa,popad,%
popf,popfd,push,pusha,pushad,pushf,pushfd,rcl,rcr,rep,repe,%
repne,repz,repnz,ret,retf,rol,ror,sahf,sal,sar,sbb,scas,seta,%
setae,setb,setbe,setc,sete,setg,setge,setl,setle,setna,setnae,%
setnb,setnbe,setnc,setne,setng,setnge,setnl,setnle,setno,setnp,%
setns,setnz,seto,setp,setpe,setpo,sets,setz,sgdt,shl,shld,shr,%
shrd,sidt,sldt,smsw,stc,std,sti,stos,stosb,stosw,stosd,str,sub,%
test,verr,verw,wait,wbinvd,xadd,xchg,xlatb,xor,fabs,fadd,fbld,%
fbstp,fchs,fclex,fcom,fcos,fdecstp,fdiv,fdivr,ffree,fiadd,ficom,%
fidiv,fidivr,fild,fimul,fincstp,finit,fist,fisub,fisubr,fld,fld1,%
fldl2e,fldl2t,fldlg2,fldln2,fldpi,fldz,fldcw,fldenv,fmul,fnop,%
fpatan,fprem,fprem1,fptan,frndint,frstor,fsave,fscale,fsetpm,%
fsin,fsincos,fsqrt,fst,fstcw,fstenv,fstsw,fsub,fsubr,ftst,fucom,%
fwait,fxam,fxch,fxtract,fyl2x,fyl2xp1,f2xm1},%
morekeywords=[2]{.align,.alpha,assume,byte,code,comm,comment,.const,%
.cref,.data,.data?,db,dd,df,dosseg,dq,dt,dw,dword,else,end,endif,%
endm,endp,ends,eq,equ,.err,.err1,.err2,.errb,.errdef,.errdif,%
.erre,.erridn,.errnb,.errndef,.errnz,event,exitm,extrn,far,%
.fardata,.fardata?,fword,ge,group,gt,high,if,if1,if2,ifb,ifdef,%
ifdif,ife,ifidn,ifnb,ifndef,include,includelib,irp,irpc,label,%
.lall,le,length,.lfcond,.list,local,low,lt,macro,mask,mod,.model,%
name,ne,near,offset,org,out,page,proc,ptr,public,purge,qword,.%
radix,record,rept,.sall,seg,segment,.seq,.sfcond,short,size,%
.stack,struc,subttl,tbyte,.tfcond,this,title,type,.type,width,%
word,.xall,.xcref,.xlist},%
alsoletter=.,alsodigit=?,%
sensitive=f,%
morestring=[b]",%
morestring=[b]',%
morecomment=[l];%
}[directives,keywords,comments,strings]
%%
%% Clean definition (c) 1999 José Romildo Malaquias <romildo@iceb.ufop.br>
%% Clean definition (c) 1999 Jos\'e Romildo Malaquias
%% <romildo@iceb.ufop.br>
%%
%% Clean 1.3 : some standard functional language: pure, lazy,
%% polymorphic type system, modules, type classes,
%% garbage collection, functions as first class citizens
%%
\lst@definelanguage{Clean}%
{otherkeywords={:,::,=,:==,=:,=>,->,<-,<-:,\{,\},\{|,|\},\#,\#!,|,\&,[,],!,.,\\\\,;,_},%
keywords={from,definition,implementation,import,module,system,case,code,%
if,in,let,let!,of,where,with,infix,infixl,infixr},%
ndkeywords={True,False,Start,Int,Real,Char,Bool,String,World,File,ProcId},%
{otherkeywords={:,::,=,:==,=:,=>,->,<-,<-:,\{,\},\{|,|\},\#,\#!,|,\&,%
[,],!,.,\\\\,;,_},%
morekeywords={from,definition,implementation,import,module,system,%
case,code,if,in,let,let!,of,where,with,infix,infixl,infixr},%
morendkeywords={True,False,Start,Int,Real,Char,Bool,String,World,%
File,ProcId},%
sensitive,%
morecomment=[l]//%
morecomment=[l]//,% missing comma: Markus Pahlow
morecomment=[n]{/*}{*/},%
morestring=[b]"%
}[keywords,comments,strings]%
@ -121,6 +133,19 @@
sensitive,%
morestring=[d]"%
}[keywords,strings]%
\lst@definelanguage{ksh}
{morekeywords={alias,awk,cat,echo,else,elif,fi,exec,exit,%
for,in,do,done,select,case,esac,while,until,function,%
time,export,cd,eval,fc,fg,kill,let,pwd,read,return,rm,%
glob,goto,history,if,logout,nice,nohup,onintr,repeat,sed,%
set,setenv,shift,source,switch,then,umask,unalias,%
unset,wait,@,env,argv,child,home,ignoreeof,noclobber,%
noglob,nomatch,path,prompt,shell,status,verbose,print,printf,%
sqrt,BEGIN,END},%
morecomment=[l]\#,%
morestring=[d]",%
morestring=[d]'%
}[keywords,comments,strings]%
\lst@definelanguage{Logo}%
{morekeywords={and,atan,arctan,both,break,bf,bl,butfirst,butlast,%
cbreak, close,co,continue,cos,count,clearscreen,cs,debquit,%
@ -158,6 +183,19 @@
morestring=[d]',%
morestring=[d]"%
}[keywords,comments,strings]%
\lst@definelanguage{NASTRAN}
{morekeywords={ENDDATA},%
morecomment=[l]$,%
MoreSelectCharTable=%
\lst@CArgX BEGIN\ BULK\relax\lst@CDef{}%
{\lst@ifmode\else \ifnum\lst@length=\z@
\lst@EnterMode{\lst@GPmode}{\lst@modetrue
\let\lst@currstyle\lst@gkeywords@sty}%
\fi \fi}%
{\ifnum\lst@mode=\lst@GPmode
\lst@XPrintToken \lst@LeaveMode
\fi}%
}[keywords,comments]%
\lst@definelanguage{Oberon-2}%
{morekeywords={ARRAY,BEGIN,BOOLEAN,BY,CASE,CHAR,CONST,DIV,DO,ELSE,%
ELSIF,END,EXIT,FALSE,FOR,IF,IMPORT,IN,INTEGER,IS,LONGINT,%
@ -171,14 +209,12 @@
morestring=[d]"%
}[keywords,comments,strings]%
%%
%% OCL definition (c) 2000 Achim D. Brucker <brucker@informatik.uni-freiburg.de>
%% You are allowed to use, modify and distribute this code either under
%% the terms of the LPPL (version 1.0 or later) or the GPL (version 2.0 or later).
%% OCL definition (c) 2000 Achim D. Brucker
%% <brucker@informatik.uni-freiburg.de>
%%
%% First we define are very decorative style. In the OMG standard only the boolean (infix (?))
%% operations are highlighted, but I think all OCL-defined operations should be
%% highlighted, because they are \emph{guaranteed} to be side-effect-free (in OCL only side effect
%% free evaluations or path expressions are allowed).
%% You are allowed to use, modify and distribute this code either under
%% the terms of the LPPL (version 1.0 or later) or the GPL (version 2.0
%% or later).
%%
\lst@definelanguage[decorative]{OCL}[OMG]{OCL}
{otherkeywords={@pre},%
@ -192,14 +228,8 @@
asSequence,asBag,asSequence,asSet,append,prepend,subSequence,at,%
first,last,true,false,isQuery}%
}%
%% Remark: "isQuery" is not real OCL, but a important Attribute of the
%% underlying UML model.
%%
%% The dialect called \texttt{OMG} is a very spare version. If you use
%% this variant with bold style for first and second order keywords you
%% get the look and feel of the OMG standard.
\lst@definelanguage[OMG]{OCL}%
{morekeywords={context,pre,inv,post},
{morekeywords={context,pre,inv,post},%
ndkeywords={or,xor,and,not,implies,if,then,else,endif},%
morerdkeywords={Boolean,Integer,Real,String,Set,Sequence,Bag,%
OclType,OclAny,OclExpression,Enumeration,Collection,},%
@ -322,10 +352,11 @@
alsoother={._$},%
sensitive,%
morecomment=[l]\#,%
morestring=[d]"%
morestring=[d]",%
morestring=[d]'% 2001 Robert Denham
}%
\lst@definelanguage{SAS}%
{prockeywords={proc},%
{procnamekeys={proc},%
morekeywords={DATA,AND,OR,NOT,EQ,GT,LT,GE,LE,NE,INFILE,INPUT,DO,BY,%
TO,SIN,COS,OUTPUT,END,PLOT,RUN,LIBNAME,VAR,TITLE,FIRSTOBS,OBS,%
DELIMITER,DLM,EOF,ABS,DIM,HBOUND,LBOUND,MAX,MIN,MOD,SIGN,SQRT,%
@ -342,7 +373,7 @@
SHOW},%
otherkeywords={!,!=,~,$,*,\&,_,/,<,>=,=<,>},%
morestring=[d]'%
}%
}[keywords,comments,strings,procnames]%
\lst@definelanguage[AlLaTeX]{TeX}[LaTeX]{TeX}%
{moretexcs={AtBeginDocument,AtBeginDvi,AtEndDocument,AtEndOfClass,%
AtEndOfPackage,ClassError,ClassInfo,ClassWarning,%

File diff suppressed because it is too large Load Diff

View File

@ -1,379 +1,464 @@
%%
%% This is file `lstpatch.sty', generated manually :-)
%%
%% Please read the software license in listings.dtx or listings.dvi.
%%
%% (w)(c) 2000,2001 Carsten Heinz
%%
%% This file is distributed under the terms of the LaTeX Project Public
%% License from CTAN archives in directory macros/latex/base/lppl.txt.
%% Either version 1.0 or, at your option, any later version.
%%
%% Permission is granted to change this file. You are not allowed to
%% distribute any changed version of this file, neither under the same
%% name nor under a different one.
%%
%% Send comments and ideas on the package, error reports and additional
%% programming languages to <cheinz@gmx.de>.
%%
%%
%% This patch file does *not* include any experimental material I sent to
%% various people. These people will have to copy and paste the definitions.
%%
%% This patch file will remove the following bugs from the listings package.
%% Each item contains the bug finder with date of report and first bug fix
%% version, a short description of the problem, and the reason for the bug
%% in parenthesis.
%%
%% 1) Andreas Deininger, 2000/08/25, 0.21a
%%
%% `breaklines,first>1' leads to ``undefined control sequence'' error
%% (\lst@breakshape undefined in this case)
%%
%% 2) Vespe Savikko, 2000/09/27, 0.21a (2000/11/02)
%%
%% stringstyle used also on previous other characters
%% (missing \lst@PrintToken in \lst@BeginString)
%%
%% 3) Richard Hoefter, 2000/11/03, 0.21b (2000/11/04)
%%
%% no keyword detection in case of language=HTML,language=Java
%% (missing deactivation of `keywordsinside' in hook `SetLanguage')
%%
%% 4) Vespe Savikko, 2000/11/06, 0.21c (2000/11/06)
%%
%% bad output of doc-strings if HTML and Python are loaded
%% (missing group braces around mode argument in \lst@CommentB causes
%% a number `0' appearing in the output)
%%
%% 5) Christian Gudrian, 2000/11/13, 0.21d (2000/11/16)
%%
%% \ref{lst:line} jumps to top of listing and not to the line
%% (\refstepcounter not used on \c@lstlabel)
%%
%% 6) Dr. Jobst Hoffmann, 2000/11/17, 0.21e (2000/11/20)
%%
%% incompatibility with typehtml package
%% (bad lccode of /)
%%
%% 7) Kalle Tuulos, 2001/01/14, 0.21f (2001/01/17)
%%
%% formfeed characters gobbles next output unit
%% (\lst@newlines contains \lst@EOLUpdate, which calls \lst@ResetToken)
%%
%% 8) Adam Prugel-Bennett, 2001/02/19, 0.21g
%%
%% \abovecaptionskip undefined in slides.cls
%%
%% 9) Gabriel Tauro, 2001/04/18, 0.21g
%%
%% unexpected `)' if the character appears before first printed line
%% (\lst@breakProcessOther is active)
%%
%% 10) Jens Schwarzer, 2001/05/29, 0.21g
%%
%% wrong line numbering of lstlisting with first>1
%% (\lst@firstline not taken into accout in this case)
%%
%% 11) Jens Schwarzer, 2001/05/29, 0.21g (2001/06/21)
%%
%% caption and title font are not equal
%% (\lst@maketitle not suitable for koma script)
%%
%% 12) Thorsten Vitt, 2001/06/25, 0.21h
%%
%% fancyhdr + listings crossing pages ==> ~ in header, not space
%% (old problem with \output: explicitly redefine ~)
%%
%% 13) Martin Steffen, 2001/04/07, 0.21h
%%
%% mathescape drops following space
%% (bad \lst@ifwhitespace)
%%
%% 14) Walter E. Brown, 2001/05/22, 0.21h (2001/06/27)
%%
%% pdftex 3.14159-14f warning: destination with the same identifier
%% (bad default of \theHlstlabel)
%%
%% 15) Bradford Chamberlain, 2001/07/07, 0.21i
%%
%% otherkeywords={@,@^} does not work
%% (argument treated as one long keyword)
%%
%% 16) GP Gores, 2001/07/11, 0.21i (2001/07/11)
%%
%% a) inserts \par after each \lstinline
%% (\lst@Init has been modified, but I missed \lst@DeInit)
%%
%% 17) Carsten Heinz, 2001/07/16, 0.21j (2001/07/22)
%%
%% 16) makes first line of lstlisting textstyle
%% (bad modification of \lst@DeInit)
%%
%%
%% Moreover the following functionality is added.
%%
%% a) allow line breaks in \lstinline (experimental)
%%
%% b) everydisplay=<token string>
%%
%% c) nolol=<true|false> is mainly equivalent to the continue key, but
%% it will also drop lol-entries for lstlisting in the next version
%%
%%
\ProvidesFile{lstpatch}[2001/07/22 v0.21j (Carsten Heinz)]
\def\lst@topatch{0.21}
\ifx\lst@version\lst@topatch\else
\typeout{^^J%
***^^J%
*** Patch file `lstpatch.sty' for version \lst@topatch^^J%
*** is not suitable for `listings.sty' version \lst@version.^^J%
***^^J
*** Patch file not loaded.^^J%
***^^J}%
\let\lst@topatch\lst@version
\expandafter\endinput
\fi
%%
%% 1) Just define \lst@breakshape.
\gdef\lst@breakshape{%
\ifodd \c@page -\lst@innerspread \else -\lst@outerspread \fi
\linewidth}
%%
%% 2) Add \lst@PrintToken after \lst@TrackNewLines.
\def\lstpatch@strings{%
\gdef\lst@BeginString##1##2{%
\lst@TrackNewLines \lst@PrintToken
\lst@ifexstrings ##2\lst@PrintToken \fi
\lst@EnterMode{##1}%
{\lst@modetrue \let\lst@currstyle\lst@stringstyle}%
\lst@ifexstrings\else ##2\lst@PrintToken \fi
\lst@ifstringspaces
\lst@keepspacestrue
\let\lst@outputspace\lst@visiblespace
\fi}
}
%%
%% 3) Insert deactivation.
\def\lstpatch@html{%
\lst@AddToHook{SetLanguage}{\let\lst@DefInside\@empty}%
}
%%
%% 4) Insert argument braces around ##5.
\def\lstpatch@comments{%
\gdef\lst@CommentB##1##2##3##4##5##6##7##8##9{%
\lst@CDef##1##2{##3}##4%
{##6}%
{\let\lst@bnext\lst@CArgEmpty
\lst@ifmode ##7\else
##8%
\def\lst@bnext{\lst@BeginComment{##5}##9}%
\fi
\lst@bnext}%
\@empty}%
}
%%
%% 5) Use `lstlabel' with \refstepcounter.
\def\lstpatch@labels{%
\lst@AddToHook{EveryPar}
{\global\advance\c@lstlabel\m@ne \refstepcounter{lstlabel}}%
%%
%% 14) Define appropriate \theHlstlabel.
\AtBeginDocument{\def\theHlstlabel{\thelstlisting.\thelstlabel}}%
}
%%
%% 6) Restore lccode.
\lccode`\/=`\/
%%
%% 7) Don't add \lst@EOLUpdate to \lst@newlines. Since I don't know the
%% reason for adding it a long time ago :-(, it's probably better to
%% remove \lst@ResetToken (v0.22) from `InitVarsBOL' hook. Well, I'll
%% just wait for other bug reports ...
\def\lst@ProcessFormFeed{%
\lst@PrintToken
\ifx\lst@newlines\@empty
\lst@EOLUpdate \lst@formfeed
\else
% \lst@lAddTo\lst@newlines{\lst@EOLUpdate \lst@formfeed}%
\lst@lAddTo\lst@newlines{\lst@formfeed}%
\fi
\lst@whitespacetrue}
%%
%% 8) Allocate \abovecaptionskip and \belowcaptionskip if necessary.
%% Additionally define \@makecaption (exact copy from report.cls).
\@ifundefined{abovecaptionskip}
{\newskip\abovecaptionskip
\newskip\belowcaptionskip
\long\def\@makecaption#1#2{%
\vskip\abovecaptionskip
\sbox\@tempboxa{#1: #2}%
\ifdim \wd\@tempboxa >\hsize
#1: #2\par
\else
\global \@minipagefalse
\hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
\fi
\vskip\belowcaptionskip}%
}{}
%%
%% 9) Also deactivate \lst@breakProcessOther.
\def\lst@BeginDropInput#1{%
\lst@EnterMode{#1}%
{\lst@modetrue
\let\lst@ProcessLetter\@gobble
\let\lst@ProcessDigit\@gobble
\let\lst@ProcessOther\@gobble
\let\lst@breakProcessOther\@gobble
\let\lst@ProcessSpace\@empty
\let\lst@ProcessTabulator\@empty
\let\lst@ProcessFormFeed\@empty}}
%%
%% 10) Replace \@tempcnta\@ne by \@tempcnta\lst@firstline.
\def\lstpatch@labels{%
\gdef\lst@SetFirstLabel{%
\ifx\lst@firstlabel\@undefined
\@tempcnta 0\csname lstno@\lst@intname\endcsname\relax
\ifnum\@tempcnta=\z@ \@tempcnta\lst@firstline
\else \lst@continuetrue \fi
\advance\@tempcnta\lst@advancelabel
\edef\lst@firstlabel{\the\@tempcnta\relax}%
\fi}%
}
%%
%% 11) Define \lst@maketitle in terms of \@makecaption. Note
%% thet this need not to work for all packages and classes.
%% The \let command here is especially for koma script.
\def\lst@maketitle#1#2{%
{\let\captionformat\@empty
\@makecaption{}\lst@title}}
%%
%% 12) Redefine ~ in output routine.
\lst@AddToHook{Init}
{\let\lsts@OldOutput\lst@OldOutput
\def\lst@OldOutput{\def~{\nobreakspace{}}%
\lsts@OldOutput}%
}
%%
%% 13) Use \lst@whitespacefalse at end of escape.
\def\lstpatch@escape{%
\lst@Key{escapeend}{}{\def\lst@escapeend{##1\lst@whitespacefalse}}%
}
%%
%% 15) Make `other keywords' active iteratively.
\def\lstpatch@keywords{%
\gdef\lst@AddOtherKey##1,{%
\ifx\relax##1\@empty\else
\ifx\@empty##1\@empty\else
\lst@MakeActive{##1}%
\lst@lExtend\lst@otherkeywords{\expandafter,\lst@temp}%
\fi
\expandafter\lst@AddOtherKey
\fi}%
\lst@Key{otherkeywords}{}%
{\let\lst@otherkeywords\@empty
\lst@AddOtherKey##1,\relax,}
}
%%
%% a) Remove \hbox in front of \bgroup and ...
\renewcommand\lstinline[1][]{%
\leavevmode\bgroup
\def\lst@boxpos{b}\let\lst@ifflexible\iftrue
\lsthk@PreSet\lstset{#1}%
\lsthk@TextStyle \lst@Init\relax
\everypar{}\let\lsthk@Endgroup\@empty
\let\lst@newlines\@empty \let\lst@breakcurrindent\z@
\lstinline@}
%% 17) Add switch to distinguish text and display style listings.
\lst@AddToHook{TextStyle}{\let\lst@iftextstyle\iftrue}
\lst@AddToHook{DisplayStyle}{\let\lst@iftextstyle\iffalse}
\let\lst@iftextstyle\iffalse
% ... back to a):
\def\lst@InputListing#1{%
\begingroup
\lsthk@PreSet \gdef\lst@intname{#1}%
\expandafter\lstset\expandafter{\lst@set}%
\lst@ifprint
\par % inserted to switch to vmode
\lst@Init\relax \let\lst@gobble\z@
\lst@SkipToFirst \input{#1}\lst@DeInit
\else
\begin{center}%
\footnotesize --- Listing of #1 has been skipped. ---
\end{center}%
\fi
\endgroup}
\def\lst@Init#1{%
\begingroup
\ifx\lst@float\relax\else
\edef\@tempa{\noexpand\@float{lstlisting}[\lst@float]}%
\expandafter\@tempa
\fi
\ifhmode\ifinner \lst@boxtrue \fi\fi
\lst@ifbox
\lsthk@BoxUnsafe
\hbox to\z@\bgroup
$\if t\lst@boxpos \vtop
\else \if b\lst@boxpos \vbox
\else \vcenter \fi\fi
\bgroup
\else
%% 17) Don't check for vertical mode, use \lst@iftextstyle.
\lst@iftextstyle\else
\lst@EveryDisplay
\par\penalty-50\relax
\vspace\lst@aboveskip
\fi
\fi
\normalbaselines
\abovecaptionskip\lst@abovecaption\relax
\belowcaptionskip\lst@belowcaption\relax
\lst@MakeCaption t%
\lsthk@PreInit \lsthk@Init
\everypar{\lsthk@EveryLine\lsthk@EveryPar}%
\lsthk@InitVars
\lsthk@InitVarsBOL
\lst@Let{13}\lst@MProcessListing
\let\lst@Backslash#1%
\lst@EnterMode{\lst@Pmode}{\lst@SelectCharTable}}
%%
%% 16) Adjust \lst@DeInit accordingly.
\def\lst@DeInit{%
\lst@PrintToken \lst@EOLUpdate
\lst@RemoveNewLine\@empty
\lst@RemoveNewLine{%
\lst@ifshowlines
\lst@TrackNewLines
\else
\setbox\@tempboxa\vbox{\lst@TrackNewLines}%
\fi}%
%% 17) Don't check for vertical mode, use \lst@iftextstyle.
\lst@iftextstyle\else
\par\removelastskip
\fi
\everypar{}\lsthk@ExitVars \lsthk@DeInit
\lst@MakeCaption b%
\lst@ifbox
\egroup $\hss \egroup
\vrule\@width\lst@maxwidth\@height\z@\@depth\z@
\else
%% check for vertical mode.
\ifvmode
\par\penalty-50\vspace\lst@belowskip
\fi
\fi
\ifx\lst@float\relax\else
\expandafter\end@float
\fi
\endgroup}
%%
%% b) Define key, the material is inserted above.
\lst@Key{everydisplay}{}{\def\lst@EveryDisplay{#1}}
%%
%% c) New key sets value of continue key.
\lst@Key{nolol}{false}[t]{\lstKV@SetIf{#1}\lst@ifnolol}
\lst@AddToHook{PreInit}{\lst@ifcontinue\else \lst@SetIfContinue \fi}
\def\lst@SetIfContinue{\let\lst@ifcontinue\lst@ifnolol}
%%
\endinput
%%
%% End of file `lstpatch.sty'.
%%
%% This is file `lstpatch.sty', generated manually.
%%
%% Please read the software license in listings.dtx or listings.dvi.
%%
%% (w)(c) 2002 Carsten Heinz
%%
%% This file is distributed under the terms of the LaTeX Project Public
%% License from CTAN archives in directory macros/latex/base/lppl.txt.
%% Either version 1.0 or, at your option, any later version.
%%
%% Send comments and ideas on the package, error reports and additional
%% programming languages to <cheinz@gmx.de>.
%%
%% This patch file will remove the following bugs from the listings package.
%% Each item contains the bug finder with date of report and first bug fix
%% version, a short description of the problem, and the reason for the bug
%% in parenthesis.
%%
%% 1) Jochen Schneider, 2002/04/03, 1.0a (2002/04/05)
%%
%% undefined control sequence \lst@CommentB with HTML, XML, tcl
%% (I didn't renamed them to \lst@DefDelimB|E)
%%
%% 2) Michael Niedermair, 2002/04/07, 1.0b
%%
%% undefined control sequence \lst@commentmode with XML
%% (mode not defined any more)
%%
%% 3) Carsten Heinz, 2002/04/08, 1.0b
%%
%% bad PODs (investigating bugs 1 and 2)
%% (definition doesn't use 1.0 style)
%%
%% 4) Peter Bartke, 2002/04/10, 1.0b
%%
%% various problems with fancyvrb interface: string ".5" at beginning
%% of first line when using lineskip; ditto "perhaps a missing \item
%% error"; wrong placed characters , and - when using fancyvrb
%% (bad use of \strip@pt; TeX is not in vertical mode when leaving
%% Verbatim; bad `noligs' handling)
%%
%% 5) Rolf Niepraschk, 2002/04/12, 1.0b
%%
%% \RequirePackage is missing keywordstyle when near the top of a page
%% (\lst@lastother not saved away across page breaks)
%%
%% 6) Peter Ruckdeschel, 2002/04/12, 1.0b
%% Timothy Van Zandt analyzed and fixed the bug
%%
%% incompatibility with seminar class
%% (bad assignment of \lst@do@noligs in \lst@SelectCharTable)
%%
%% 7) Rene H. Larsen, 2002/04/12, 1.0b
%%
%% \lstinputlistings and texcl conflict
%% (^^M not active to reenter modes)
%%
%% 8) Carsten Heinz, 2002/04/15, 1.0b (2002/04/15)
%%
%% gobble doesn't always work (investigating problem with VTeX)
%% (\lst@BOLGobble@ must test against \lst@Process{FormFeed|Tabulator}X)
%%
%% 9) Peter Bartke, 2002/04/17, 1.0c
%%
%% TeX capacity exceeded with fancyvrb
%% (\let\lst@entermodes\@empty must stay in \lstFV@VerbatimBegin)
%%
%% 10) Svend Tollak Munkejord, 2002/04/17, 1.0c
%% Heiko Oberdiek analyzed and fixed the bug
%%
%% package incompatible with Lucida .fd files
%% (parentheses have active catcodes when reading the file)
%%
%% 11) Carsten Hamm, 2002/04/19, 1.0c (2002/04/24)
%%
%% wrong frame rules with breaklines and xleftmargin>0pt
%% (missing \kern-\lst@xleftmargin in \lst@discretionary)
%%
%% 12) Michael Niedermair, 2002/05/14, 1.0d
%%
%% backgroundcolor take effect on bottom captions
%% (wrong order of \everypar{} and \lsthk@ExitVars in \lst@DeInit)
%%
%% 13) Georg Rehm, 2002/05/14, 1.0d
%%
%% bad baselineskip with captionpos=b
%% (missing \normalbaselines)
%%
%% 14) Herfried Karl Wagner, 2002/05/11, 1.0d
%%
%% undefined control sequence \lst@entermodes
%% (\output called before first \lst@EnterMode)
%%
%% 15) Peter K\"oller, 2002/05/24, 1.0d
%%
%% XML keywords don't have keywordstyle
%% (missing \ifx... in implementation of contentsstyle)
%%
%% 16) Stephen Reindl, 2002/05/28, 1.0d
%%
%% \inaccessible using Cobol
%% (\lst@Delim@option didn't enclose option in [])
%%
%% 17) Stephen Reindl, 2002/06/04, 1.0d (2002/06/12)
%%
%% frames not deactivated for text style listings
%%
%% 18) Carsten Heinz, 2002/07/27, 1.0e (2002/07/31)
%%
%% broken keywordcomments
%% (\lst@KCpost inside group level 2; bad \lst@BeginComment call)
%%
%% 19) Kris Luyten, 2002/07/30, 1.0f (2002/08/03)
%%
%% Undefined control sequence \lst@thestyle
%% (undefined \lst@directives after _loading_ C)
%%
%% 20) Kris Luyten, 2002/08/03, 1.0g (2002/08/06)
%%
%% Undefined control sequence \lst@thestyle
%% (side effect of 19-bugfix on \lst@ProvideFamily)
%%
%% 21) Venkatesh Prasad Ranganath, 2002/08/31, 1.0h
%%
%% Undefined control sequence \thelstnumber with 0.21-option
%% (\let must be changed to a \def inition)
%%
%% 22) Fermin Reig, 2002/09/04, 1.0h (2002/09/09)
%%
%% Bad top frame inside figure+centering
%% (reset of leftskip, rightskip and parfillskip comes too late)
%%
%% 23) Hermann H\"uttler, 2002/10/05, 1.0i (2002/10/13)
%%
%% C++-string "... \\" does not end with second double quote
%% (missing \let\lst@lastother\@empty in old fix)
%%
%%
%% Moreover the following functionality is added.
%%
%% a) option "final" (Rolf Niepraschk, Enrico Straube)
%%
%% b) keys "fvcmdparams" and "morefvcmdparams" (Denis Girou)
%%
%% c) key "contentstyle" (Peter K\"oller)
%%
%% d) key "numberfirstline" (Georg Rehm)
%%
%%
\ProvidesFile{lstpatch.sty}[2002/10/13 1.0i (Carsten Heinz)]
\lst@CheckVersion{1.0}
{\typeout{^^J%
***^^J%
*** This is a patch for `listings.sty' version 1.0, but^^J%
*** you're using version \lst@version.^^J%
***^^J
*** Patch file not loaded.^^J%
***^^J}%
\endinput
}
%
% 1) Define the missing control sequences. (Not needed any more.)
\def\lstpatch@comments{%
\global\let\lst@CommentB\lst@DefDelimB
\global\let\lst@CommentE\lst@DefDelimE}
%
% 2) Define \lst@commentmode.
\lst@NewMode\lst@commentmode
%
% 3) Introduce \lst@ifxpodcomment as master-clause and define 1.0 style
% contents for SelectCharTable.
\def\lstpatch@pod{%
\lst@Key{podcomment}{false}[t]{\lstKV@SetIf{##1}\lst@ifxpodcomment}%
\lst@AddToHookExe{SetLanguage}{\let\lst@ifxpodcomment\iffalse}%
\lst@AddToHook{SelectCharTable}%
{\lst@ifxpodcomment
\lst@CArgX =\relax\lst@DefDelimB{}{}%
{\ifnum\@tempcnta=\z@
\lst@ifprintpod\else
\def\lst@bnext{\lst@BeginDropOutput\lst@PODmode}%
\expandafter\expandafter\expandafter\@gobblethree
\fi
\else
\expandafter\@gobblethree
\fi}%
\lst@BeginComment\lst@PODmode{{\lst@commentstyle}}% modified
\lst@CArgX =cut\^^M\relax\lst@DefDelimE
{\lst@CalcColumn}%
{\ifnum\@tempcnta=\z@\else
\expandafter\@gobblethree
\fi}%
{}%
\lst@EndComment\lst@PODmode
\fi}%
}
%
% 4) Redefine lineskip like podcomment above and don't use \strip@pt
% together with \divide.
\def\lstpatch@lineshape{%
\lst@Key{lineskip}{\z@}{\def\lst@xlineskip{##1\relax}}
\lst@AddToHook{Init}
{\ifdim\z@=\lst@xlineskip\else
\@tempdima\baselineskip
\advance\@tempdima\lst@xlineskip
\multiply\@tempdima\@cclvi
\divide\@tempdima\baselineskip\relax
\multiply\@tempdima\@cclvi
\edef\baselinestretch{\strip@pt\@tempdima}%
\selectfont
\fi}%
% 11) Add \kern-\lst@xleftmargin.
\gdef\lst@discretionary{%
\discretionary{\let\space\lst@spacekern\lst@prebreak}%
{\llap{\lsthk@EveryLine
\kern\lst@breakcurrindent\kern-\lst@xleftmargin}%
\let\space\lst@spacekern\lst@postbreak}{}}%
}
% Back to 4): Insert \par for vertical mode.
\def\lstpatch@fancyvrb{%
\gdef\lstFV@VerbatimEnd{%
\ifx\FancyVerbFormatLine\lstFV@FancyVerbFormatLine
\global\setbox\lstFV@gtempboxa\box\@tempboxa
\global\let\@gtempa\FV@ProcessLine
\lst@mode\lst@Pmode
\lst@DeInit
\let\FV@ProcessLine\@gtempa
\setbox\@tempboxa\box\lstFV@gtempboxa
\par % modified
\fi}%
% 9) Redefined \lstFV@VerbatimBegin removed.
% b) Refine conversion definitions to either work as usual or to ...
\gdef\lst@FVConvert{\@tempcnta\z@ \lst@FVConvertO@}%
\gdef\lst@FVConvertO@{%
\ifcase\@tempcnta \expandafter
\futurelet\expandafter\@let@token\expandafter\lst@FVConvert@@
\else
% append arguments as they are.
\expandafter\lst@FVConvertO@a
\fi}%
\gdef\lst@FVConvertO@a##1{%
\lst@lAddTo\lst@arg{{##1}}\advance\@tempcnta\m@ne
\lst@FVConvertO@}%
% Here, ...
\gdef\lst@FVConvert@##1{%
\ifx \@nil##1\else
\if\relax\noexpand##1%
\lst@lAddTo\lst@arg{\lst@OutputLostSpace\lst@PrintToken##1}%
% ... actually here, we check for commands with arguments and set the
% value of \@tempcnta as required.
\def\lst@temp####1,##1####2,####3####4\relax{%
\ifx####3\@empty \else \@tempcnta####2\relax \fi}%
\expandafter\lst@temp\lst@FVcmdparams,##1\z@,\@empty\relax
\else
\lccode`\~=`##1\lowercase{\lst@lAddTo\lst@arg~}%
\fi
\expandafter\lst@FVConvertO@
\fi}
% Eventually we define user keys to adjust \lst@FVcmdparams. The base
% set of commands and parameter numbers was provided by Denis Girou.
\lst@Key{fvcmdparams}%
% D.G. suggestion begin - 2002/05/31
{\overlay\@ne}%
% D.G. suggestion end
{\def\lst@FVcmdparams{,##1}}%
\lst@Key{morefvcmdparams}\relax{\lst@lAddTo\lst@FVcmdparams{,##1}}%
}
%
% 5) Extend \lst@SaveToken to save \lst@lastother.
\def\lst@SaveToken{%
\global\let\lst@gthestyle\lst@thestyle
\global\let\lst@glastother\lst@lastother
\xdef\lst@RestoreToken{\noexpand\lst@token{\the\lst@token}%
\noexpand\lst@length\the\lst@length\relax
\noexpand\let\noexpand\lst@thestyle
\noexpand\lst@gthestyle
\noexpand\let\noexpand\lst@lastother
\noexpand\lst@glastother}%
}
%
% 6) Assign \lst@do@noligs to \do.
\def\lst@SelectCharTable{%
\lst@SelectStdCharTable
\lst@ifactivechars
\catcode9\active \catcode12\active \catcode13\active
\@tempcnta=32\relax
\@whilenum\@tempcnta<128\do
{\catcode\@tempcnta\active\advance\@tempcnta\@ne}%
\fi
\lst@ifec \lst@DefEC \fi
\let\do\lst@do@noligs \verbatim@nolig@list % modified
\lsthk@SelectCharTable
\lst@DeveloperSCT
\ifx\lst@Backslash\relax\else
\lst@LetSaveDef{"5C}\lsts@backslash\lst@Backslash
\fi}
% 4)+6) And we need correct versions of \lst@do@noligs[@].
\def\lst@do@noligs#1{%
\begingroup \lccode`\~=`#1\lowercase{\endgroup
\lst@do@noligs@~}}
\def\lst@do@noligs@#1{%
\expandafter\expandafter\expandafter\def
\expandafter\expandafter\expandafter#1%
\expandafter\expandafter\expandafter{\expandafter\lst@NoLig#1}}
%
% 7) Make ^^M active.
\def\lst@InputListing#1{%
\begingroup
\lsthk@PreSet \gdef\lst@intname{#1}%
\expandafter\lstset\expandafter{\lst@set}%
\lsthk@DisplayStyle
\catcode\active=\active % added
\lst@Init\relax \let\lst@gobble\z@
\lst@SkipToFirst
\lst@ifprint \def\lst@next{\input{#1}}%
\else \let\lst@next\@empty \fi
\lst@next
\lst@DeInit
\endgroup}
%
% 8) Replace \lst@Process{FormFeed|Tabulator}.
\def\lst@ProcessFormFeedX{\lst@ProcessFormFeed}
\def\lst@ProcessTabulatorX{\lst@ProcessTabulator}
\def\lst@BOLGobble@#1{%
\let\lst@next#1%
\ifx \lst@next\relax\else
\ifx \lst@next\lst@MProcessListing\else
\ifx \lst@next\lst@ProcessFormFeedX\else
\ifx \lst@next\lstenv@backslash
\let\lst@next\lstenv@BOLGobble@@
\else
\let\lst@next\lst@BOLGobble@@
\ifx #1\lst@ProcessTabulatorX
\advance\@tempcnta-\lst@tabsize\relax
\ifnum\@tempcnta<\z@
\lst@length-\@tempcnta \lst@PreGotoTabStop
\fi
\else
\advance\@tempcnta\m@ne
\fi
\fi \fi \fi \fi
\lst@next}
%
% 10) Add some \@makeother to \lst@nfss@catcodes.
\def\lst@nfss@catcodes{%
\lst@makeletter
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\relax
\@makeother (\@makeother )\@makeother ,\@makeother :\@makeother &%
\@makeother 0\@makeother 1\@makeother 2\@makeother 3\@makeother 4%
\@makeother 5\@makeother 6\@makeother 7\@makeother 8\@makeother 9%
\@makeother =\lsts@nfss@catcodes}
%
% 12) and 13) Deactivate \everypar and use normal baseline parameters.
\lst@AddToHook{DeInit}{\everypar{}\normalbaselines}
%
% 14) Define \lst@entermodes.
\let\lst@entermodes\@empty
%
% 16) Insert [ and ] in replacement text.
\def\lst@Delim@option[#1]{\def\lst@arg{[#1]}\lst@Delim@delim}
%
% 17) Just empty `frame' and top, right, bottom, and left shape.
\lst@AddToHook{TextStyle}
{\let\lst@frame\@empty
\let\lst@frametshape\@empty
\let\lst@framershape\@empty
\let\lst@framebshape\@empty
\let\lst@framelshape\@empty}
%
% 18) Execute \lst@BeginKC and \lst@BeginKCS outside the two groups.
% Modify third argument to \lst@BeginComment to work properly.
\def\lstpatch@keywordcomments{%
\gdef\lst@BeginKC{\aftergroup\aftergroup\aftergroup\lst@BeginKC@}%
\gdef\lst@BeginKC@{%
\lst@ResetToken
\lst@BeginComment\lst@KCmode{{\lst@commentstyle}\lst@modetrue}\@empty}%
\gdef\lst@BeginKCS{\aftergroup\aftergroup\aftergroup\lst@BeginKCS@}%
\gdef\lst@BeginKCS@{%
\lst@ResetToken
\lst@BeginComment\lst@KCSmode{{\lst@commentstyle}\lst@modetrue}\@empty}%
\gdef\lst@EndKC{\lst@SaveToken \lst@LeaveMode \lst@RestoreToken
\let\lst@thestyle\lst@identifierstyle \lsthk@Output}% renew style selection
}
%
% 19) Init \lst@directives.
\def\lstpatch@directives{%
\global\let\lst@directives\@empty}
%
% 20) Use new prefix for a family -- the now initialized \lst@directives
% clashes with the default.
\def\lstpatch@keywords{%
\gdef\lst@ProvideFamily##1{%
\@ifundefined{lstfam@##1\ifnum\@tempcnta=\@ne\else \the\@tempcnta \fi}%
{\@namedef{lstfam@##1\ifnum\@tempcnta=\@ne\else \the\@tempcnta \fi}{}%
\expandafter\expandafter\expandafter\lst@ProvideFamily@
\csname\@lst @##1@data\endcsname
{\ifnum\@tempcnta=\@ne\else \the\@tempcnta \fi}}%
{}}%
}
% 21) Define \thelstnumber every listing via \def.
\@namedef{lstpatch@021}{%
\lst@AddToHook{Init}{\def\thelstnumber{\thelstlabel}}%
}
% 22) Reset the registers in PreInit hook
\lst@AddToHook{PreInit}
{\rightskip\z@ \leftskip\z@ \parfillskip\z@ plus 1fil}
%
% 23) Add \let\lst@lastother\@empty
\lst@AddToHook{SelectCharTable}{%
\lst@ifbstring
\lst@CArgX \\\\\relax \lst@CDefX{}%
{\lst@ProcessOther\lstum@backslash
\lst@ProcessOther\lstum@backslash
\let\lst@lastother\@empty}%
{}%
\fi}
%
% a) Just declare the option.
\DeclareOption{final}{\let\lst@ifdraft\iffalse}
%
% c) Define contentstyle and use it.
\def\lstpatch@html{%
\lst@Key{contentstyle}{}{\def\lst@contentstyle{##1}}%
\lst@AddToHook{Init}%
{\ifx\lst@DefInside\@empty\else
\let\lst@tagstyle\lst@identifierstyle
\let\lst@identifierstyle\lst@contentstyle
\fi}%
\lst@AddToHook{Output}%
{\ifnum\lst@mode=\lst@insidemode
% 15) Check for keywordstyle.
\ifx\lst@thestyle\lst@gkeywords@sty\else
\lst@ifusekeysinside \let\lst@thestyle\lst@tagstyle
\else \let\lst@thestyle\lst@gkeywords@sty \fi
\fi\fi}%
\lst@AddToHook{OutputOther}%
{\lst@ifmode\else \ifnum\lst@mode=\lst@insidemode\else
\ifx\lst@DefInside\@empty\else
\let\lst@thestyle\lst@contentstyle
\fi
\fi\fi}%
}
%
% d) Define key and adjust \lst@SkipOrPrintLabel.
\def\lstpatch@labels{%
\lst@Key{numberfirstline}{f}[t]{\lstKV@SetIf{##1}\lst@ifnumberfirstline}%
\gdef\lst@numberfirstlinefalse{\let\lst@ifnumberfirstline\iffalse}
\gdef\lst@SkipOrPrintLabel{%
\ifnum\lst@skipnumbers=\z@
\global\advance\lst@skipnumbers-\lst@stepnumber\relax
\lst@PlaceNumber
\lst@numberfirstlinefalse
\else
\lst@ifnumberfirstline
\lst@PlaceNumber
\lst@numberfirstlinefalse
\fi
\fi
\global\advance\lst@skipnumbers\@ne}%
}
%%
\endinput
%%
%% End of file `lstpatch.sty'.