Hi Brent,
strnumber is defined in:
$usepop/pop/src/item.p
It shouldn't require any special incantation to include it. I can use
strnumber without a problem on my system. If that file does not exist
then there's a problem with your installation.
One possibility is that some code has canceled the identifier
FYI, there is a string library:
./v15.53e/pop/src/string.p
My rgrep of this in my /usr/local/poplog yields:
[lucb@p3 poplog]$ rgrep 'strnumber' '*p'
rgrep 'strnumber' '*p'
Binary file ./v15.53e/pop/pop/xvedlisp matches
Binary file ./v15.53e/pop/pop/clisp matches
Binary file ./v15.53e/pop/pop/help matches
./v15.53e/pop/pop/oldpop11.map:081335dc T c.strnumber
./v15.53e/pop/pop/oldpop11.map:08133618 T xc.strnumber
./v15.53e/pop/pop/oldpop11.map:081acedc D p.strnumber
Binary file ./v15.53e/pop/pop/corepop matches
./v15.53e/pop/pop/basepop11.map:081335b4 T c.strnumber
./v15.53e/pop/pop/basepop11.map:081335f0 T xc.strnumber
./v15.53e/pop/pop/basepop11.map:081ad518 D p.strnumber
./v15.53e/pop/lib/lib/imap.p: and (strnumber(substring(2,len-2,s))
->> c) then
./v15.53e/pop/lib/lib/imap.p: strnumber(code)
<< 32 -> mbx_uidvalidity
./v15.53e/pop/lib/lib/imap.p: strnumber(code)
-> mbx_uidnext
./v15.53e/pop/lib/lib/imap.p: if (strnumber(name) ->>
num) and len >= 3 then
./v15.53e/pop/lib/lib/imap.p: strnumber(val)
-> uid
./v15.53e/pop/lib/lib/unix_sockets.p: elseunless (strnumber(proto)
->> protonum) and isinteger(protonum)
./v15.53e/pop/lib/lib/calendar.p: strnumber(vedargument) -> year;
./v15.53e/pop/lib/lib/msblocks.p: if temp and
(strnumber(temp) ->> temp) then
./v15.53e/pop/lib/ved/ved_ljmr.p: if strnumber(vedargument) ->>
cols then
./v15.53e/pop/lib/ved/ved_lcol.p: if
(strnumber(vedargument) ->> col) then
./v15.53e/pop/lib/ved/ved_net.p: if
(strnumber(nextnum) ->> nextnum) and nextnum > startnum then
./v15.53e/pop/lib/ved/ved_net.p: if vedargument /= nullstring
and not(strnumber(vedargument))
./v15.53e/pop/lib/ved/ved_net.p: if
strnumber(vedargument) then
./v15.53e/pop/lib/ved/ved_nextcsame.p: strnumber(vedargument) -> lim;
./v15.53e/pop/lib/ved/ved_autosave.p: elseif strnumber(vedargument)
->> time then
./v15.53e/pop/lib/ved/page.p: if (strnumber(vedargument) ->> num)
./v15.53e/pop/lib/ved/page.p: unless (strnumber(num) ->> num)
then
./v15.53e/pop/lib/ved/page.p: unless (strnumber(num) ->> num) then
./v15.53e/pop/lib/ved/page.p: if strnumber(vedargument) ->>
argument then
./v15.53e/pop/lib/ved/ved_linemax.p: strnumber(vedargument)
-> new_linemax;
./v15.53e/pop/lib/ved/ved_nextsame.p: strnumber(vedargument) -> lim;
./v15.53e/pop/lib/ved/vedargint.p: if strnumber(arg) ->> arg then
./v15.53e/pop/lib/ved/ved_ic.p: unless strnumber(vedargument) ->> c then
./v15.53e/pop/lib/ved/ved_ic.p: strnumber('`\\' <> vedargument
<> '`') -> c
./v15.53e/pop/lib/ved/ved_indent.p: strnumber(vedargument)
-> vedindentstep
./v15.53e/pop/lib/ved/ved_jrefmr.p: dlocal
vedleftmargin=strnumber(vedargument) or 8, vedlinemax=72;
./v15.53e/pop/lib/ved/windows.p: if vedargument = nullstring
then 1 else strnumber(vedargument) endif
./v15.53e/pop/lib/ved/windows.p: if vedargument = nullstring
then 1 else strnumber(vedargument) endif
./v15.53e/pop/lib/ved/windows.p: if isinteger(vedargument) or
(strnumber(vedargument)->> newnum) then
./v15.53e/pop/lib/ved/windows.p: strnumber( if loc then
substring(1,loc-1,vedargument) else vedargument
./v15.53e/pop/lib/ved/vedargnum.p: unless strnumber(arg) ->> arg
then
./v15.53e/pop/lib/ved/vedconvertword.p: unless isinteger(x) or
(strnumber(x) ->> x) then 1 -> x endunless;
./v15.53e/pop/lib/ved/ved_strip.p:
else strnumber(vedargument)
./v15.53e/pop/lib/ved/ved_capword.p: lvars count =
strnumber(vedargument);
./v15.53e/pop/lib/ved/ved_reply.p: unless
(strnumber(vedargument) ->> Where) then
./v15.53e/pop/lib/ved/ved_clock.p: lvars secs =
strnumber(vedargument);
./v15.53e/pop/lib/ved/ved_clock.p: lvars secs =
strnumber(vedargument);
./v15.53e/pop/lib/ved/ved_ws.p: elseif strnumber(vedargument) then
./v15.53e/pop/lib/ved/ved_ws.p: min(vedscreenlength,
strnumber(vedargument)) -> vedstartwindow;
./v15.53e/pop/lib/ved/rno.p: elseunless (strnumber(n) ->> n) then
rno_error();
./v15.53e/pop/lib/ved/ved_lcl.p: lvars n =
strnumber(vedargument);
./v15.53e/pop/lib/ved/vedconvertline.p: unless isinteger(nlines) or
(strnumber(nlines) ->> nlines) then
./v15.53e/pop/lib/ved/ved_screenwidth.p: elseif
strnumber(vedargument) then
./v15.53e/pop/lib/ved/ved_screenwidth.p:
strnumber(vedargument) -> vedscreenwidth;
./v15.53e/pop/lib/ved/ved_smr.p: if
isinteger(strnumber(vedargument) ->> n) and n > 0 then
./v15.53e/pop/lib/ved/ved_alarm.p: strnumber(substring(loc, 2,
string))
./v15.53e/pop/lib/ved/ved_alarm.p: else strnumber(vedargument)
./v15.53e/pop/lib/ved/term/vedhptermscreen.p: if strnumber(n)
->> n then
./v15.53e/pop/lib/ved/term/vedhptermscreen.p: if strnumber(n)
->> n then
./v15.53e/pop/lib/ved/dired_chmod.p: if strnumber(mode) then
./v15.53e/pop/lib/ved/dired_chmod.p: strnumber('8:'
sys_><mode)
./v15.53e/pop/lib/ved/ved_chat.p: unless strnumber('`\\[' <> attr
<> ']`') ->> attr then
./v15.53e/pop/lib/ved/ved_ucl.p: lvars n =
strnumber(vedargument);
./v15.53e/pop/lib/ved/ved_margin.p: elseif strnumber(vedargument)
then
./v15.53e/pop/lib/ved/ved_margin.p: strnumber(vedargument)
-> temp
./v15.53e/pop/lib/ved/ved_inc.p: if strnumber(vedargument) then
./v15.53e/pop/lib/ved/ved_inc.p: strnumber(vedargument)
-> value
./v15.53e/pop/lib/ved/ved_rcol.p: strnumber(vedargument)
or vedcolumn -> col;
./v15.53e/pop/lib/ved/vedset.p: strnumber('`\\'
<> substring(1, n, code) <> '`') -> attr;
./v15.53e/pop/lib/ved/vedset.p: strnumber('`\\' <> code
<> '`')
./v15.53e/pop/lib/ved/ved_autowrite.p: if strnumber(vedargument) ->>
vedtemp then
./v15.53e/pop/lib/ved/ved_window.p: strnumber(arg)
./v15.53e/pop/lib/auto/sys_parse_url.p: (port and
(strnumber(port)->>port) and {^port tcp}) or scheme -> port;
./v15.53e/pop/lib/auto/full_identprops.p:
strnumber(allbutfirst(7, idp sys_>< ''))
./v15.53e/pop/lib/auto/sys_translate_exlibs.p: unless
strnumber(substring(i, j-i, qualifier)) ->> version then
./v15.53e/pop/lib/auto/postscript_line_consumer.p:
if strnumber(arg) ->> n then
./v15.53e/pop/lib/auto/postscript_line_consumer.p:
if strnumber(arg) ->> n then
./v15.53e/pop/lib/auto/postscript_line_consumer.p:
if strnumber(val) ->> arg then
./v15.53e/pop/lib/auto/sys_open_url.p:
strnumber(rest) -> content_length
./v15.53e/pop/lib/auto/sysparse_string.p: lvars string,
try_strnumber = true;
./v15.53e/pop/lib/auto/sysparse_string.p: (), string ->
(string, try_strnumber)
./v15.53e/pop/lib/auto/sysparse_string.p: [%
sys_parse_string(string, if try_strnumber then
./v15.53e/pop/lib/auto/sysparse_string.p:
strnumber(substr) or substr
./v15.53e/pop/lib/auto/sysparse_string.p: Gave an
optional boolean arg to say don't try strnumber.
./v15.53e/pop/ved/src/vdmrcomms.p: unless
(strnumber(vedargument) ->> line) and line fi_>= lowlim then
./v15.53e/pop/ved/src/vdmove.p: if
strnumber(allbutfirst(1,vedargument)) ->> line then
./v15.53e/pop/ved/src/vdmove.p: if (strnumber(vedargument) ->>
line)
./v15.53e/pop/ved/src/vdsysfile.p: elseif
c == `@` and (strnumber(s) ->> n) then
./v15.53e/pop/x/pop/lib/propsheet.p: strnumber(value) or
value -> value;
./v15.53e/pop/x/ved/lib/xved_standalone_setup.p:
unless strnumber(place) ->> place then Usage() endunless;
./v15.53e/pop/x/ved/src/xvedwm.p: if (systranslate('WINDOWID')
->> wid) and (strnumber(wid) ->> wid) then
./v15.53e/pop/x/ved/src/xvedkeysymseq.p: strnumber('16:'
sys_>< allbutfirst(BASE_LEN, key))
./v15.53e/pop/x/ved/src/xvedkeysymseq.p: strnumber('16:'
sys_>< allbutfirst(BASE_LEN, key)) -> key;
./v15.53e/pop/x/ved/src/xvedkeysymseq.p: strnumber('16:'
sys_>< lowertoupper(allbutfirst(7, code))) -> code;
./v15.53e/pop/x/ui/lib/pop_ui_propertytool.p: strnumber(value) ->
value;
./v15.53e/pop/plog/src/basicpreds.p:
strnumber(consstring(cnt))
./v15.53e/pop/plog/src/dbpreds.p: if
strnumber(arity) ->> arity then
./v15.53e/pop/src/item.p: nextchar,
strnumber;
./v15.53e/pop/src/item.p: procedure lex_error = mishap, ;;;
Redefined by strnumber
./v15.53e/pop/src/item.p:;;; --- STRNUMBER
-----------------------------------------------------------
./v15.53e/pop/src/item.p: e.g. strnumber('1034') = 1034
strnumber('-99') = -99
./v15.53e/pop/src/item.p:define strnumber(string) -> num;
./v15.53e/pop/src/item.p: exitfrom(false, strnumber)
./v15.53e/pop/src/item.p: Added lex_error and fixed
strnumber to redefine it so as to return
./v15.53e/pop/src/ident_declare.p: procedure (intof,
isreal, strnumber)
./v15.53e/pop/src/ident_declare.p: and
(is_op_prec(strnumber(allbutfirst(7, idprops))) ->> prec) then
./v15.53e/pop/src/poplog_main.p: procedure (strnumber,
sys_fname_path, sys_fname_nam, sys_parse_string,
./v15.53e/pop/src/poplog_main.p: strnumber(substring(4,
2, date)) or 0 -> this_month;
./v15.53e/pop/src/syscomp/wordflags.p: nonmac
INTERNAL_OP_PREC(strnumber(allbutfirst(7, idprops))) -> num;
./v15.53e/pop/src/syscomp/poplink_main.p:
strnumber(tab_size) -> tab_size;
./v15.53e/pop/src/syscomp/poplink_main.p: unless n and
(strnumber(A) ->> A) then
./v15.53e/pop/src/syscomp/popc_main.p: INT:
return(mcint(strnumber(str)));
./v15.53e/pop/src/syscomp/popc_main.p:
^(strnumber(tab_size)), ^(twd_val(pt_expand)), ^(twd_val(pt_count)),
./v15.53e/pop/src/syscomp/popc_main.p: and (strnumber(allbutfirst(1,
word)) ->> num) then
./v15.53e/pop/src/string.p: (Avoids using strnumber, which
brings in the whole of the itemiser).
./v15.53e/pop/lisp/src/pathnames.p: strnumber(item)
./v15.53e/pop/lisp/src/pathnames.p: elseunless
(strnumber(version) ->> i) do
./v15.53e/pop/lisp/src/propsheet.p: elseif isinteger(strnumber(x)
->> x) then
./v15.53e/pop/lisp/src/propsheet.p: elseif isinteger(strnumber(x)
->> y) then
./v15.53e/pop/help/pop:*STRINGIN STRINGS STRMEMBER
STRNUMBER
./local/lib/stripfile.p: if start then strnumber(start) ->
start; strnumber(fin) -> fin endif;
./local/lib/summarise.p: args = strnumber(vedargument);
./local/lib/summarise.p: max_word_count =
strnumber(poparglist(2)) ;
./local/lib/summarise.p: and strnumber(poparglist(2))
grep: ./local/lib/neural.p: No such file or directory
./local/lib/msblocks.p: if temp and (strnumber(temp) ->> temp)
then
grep: ./local/lib/newpopvision.p: No such file or directory
./local/master/lib/newmaster/recover.p: strnumber(substring(i, j-i, s))
-> n;
./local/master/lib/newmaster/header.p: strnumber(ds) -> yr;
./local/master/lib/newmaster/vedcomms.p: strnumber(arg)
-> n;
./local/master/lib/newmaster/history.p: strnumber(substring(i, j-i,
date)) -> nth;
./local/master/lib/newmaster/history.p:
strnumber(substring(datalength(date)-3, 4, date)) -> year;
./local/master/lib/newmaster/history.p: elseif isnumbercode(since(1))
and (strnumber(since) ->> i) then
./local/master/auto/newmaster_header.p: strnumber(yr) -> n;
./local/auto/ved_nextcsame.p: strnumber(vedargument) -> lim;
./local/auto/ved_autosave.p: elseif strnumber(vedargument) ->> time
then
./local/auto/ved_calc.p: arg = strnumber(vedargument),
item;
grep: ./local/auto/ved_setwindow.p: No such file or directory
./local/auto/ved_tli.p: lvars arg, num = strnumber(arg);
./local/auto/haiku.p: else strnumber(hd(poparglist))
./local/auto/ved_checkmail.p: if strnumber(vedargument) ->> time then
./local/auto/ved_mergemail.p: lvars arg = strnumber(vedargument);
./local/auto/ved_reply.p: unless (strnumber(vedargument)
->> Where) then
./local/auto/ved_psprint.p: elseif strnumber(string) then
./local/auto/ved_tlli.p: lvars num = strnumber(vedargument);
./local/rclib/lib/rc_text_input.p: if wasstring then
strnumber(num) -> num endif;
./local/rclib/lib/rc_text_input.p: unless wasstring then
strnumber(num) -> num endunless;
./local/rclib/lib/rc_text_input.p: lvars n =
strnumber(num);
./local/rclib/lib/rc_text_input.p: strnumber(newval) ->
rc_informant_value(pic)
./local/rclib/lib/rc_text_input.p: elseif isstring(number) and
strnumber(number) then
./local/rclib/lib/rc_text_input.p: strnumber(string) -> number
./local/rclib/lib/rc_text_input.p: if string == nullstring or
strnumber(string) or string = '-' then
./local/rclib/lib/rc_text_input.p:
(isinteger(strnumber(allbutlast(1, string)))
./local/rclib/auto/rc_lispbrowser.p: lvars num =
strnumber(substring(1, padlen, the_selected_string));
./local/rclib/auto/rc_popup_query.p:
(isstring(answer) and strnumber(answer)) or answer -> answer
./local/rclib/auto/rc_procbrowser.p: lvars num =
strnumber(substring(1, padlen, the_selected_string));
./local/lockfile/lib/lockfiles.p: strnumber(item) or
consword(item) -> item
./local/rcmenu/menus/menu_vedprops.p: strnumber(vedargument)
-> vedindentstep
./local/rcmenu/menus/menu_vedprops.p: if strnumber(vedargument) ->>
num then
Luc
|