<html><head><meta http-equiv="content-type" content="text/html; charset=us-ascii"></head><body style="overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;">Hi,<div><br></div><div>Having managed to build a debuggable version of my code, I then had to change all uses of the function `string-to-int` in gud.el to 'string-to-number' as string-to-int has been an obsolete function since Emacs 22.1, and it was removed in 26.1.</div><div><br></div><div>Ii then restarted emacs, executed the M-x mdb command and then issued 'continue' and I am delighted to say that the breakpoint hit, emacs split into two frames and my source code was presented as expected. It's the same format as the geben debugger I used to use for xdebug with PHP. I guess it's a common interface that emacs presents, I've no idea, despite being a 25+ years and counting emacs user!</div><div><br></div><div><div><font face="APL385">curtok(Caller, Line, C) = Token :-</font></div><div><font face="APL385"> ( if list.index0(tokens(C), ind(C), T) then</font></div><div><font face="APL385">=> Token = yes(T),</font></div><div><font face="APL385"><br></font></div><div><font face="APL385"> trace[io(!Dbg), runtime(env("FELT_AST"))]</font></div><div><font face="APL385"> (atrace(2, "curtok: %s(%i) %s",</font></div><div><font face="APL385"> [s(between(Caller,15,999)), i(Line), s(string(T))],</font></div><div><font face="APL385"> !Dbg))</font></div><div><font face="APL385"> else</font></div><div><font face="APL385"> Token = no,</font></div></div><div><font face="APL385"><br></font></div><div><font face="APL385"><br></font></div><div>You live and learn, thanks again for the corrective nudge Zoltan.</div><div>Excellent!</div><div><br></div><div>Sean.</div><div><br></div></body></html>