REF OBSOLETE John Gibson Feb 1993
COPYRIGHT University of Sussex 1993. All Rights Reserved.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>>
<<<<<<<<<<<<<<<<<<<<< OBSOLETE PROCEDURES >>>>>>>>>>>>>>>>>>>>>>
<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>>
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
This REF file details various identifiers which have become obsolete
with the release of further versions of Poplog.
CONTENTS - (Use <ENTER> g to access required sections)
1 Pop-11 Compiler
2 Virtual Machine Compiler
3 Filename Processing
4 Processes
5 Subsystems
6 Mishaps & Warnings
7 External Procedures
8 Ved
8.1 Ved Search Mechanism
9 Poplog X Interface
10 Miscellaneous
------------------
1 Pop-11 Compiler
------------------
These procedures were obsoleted in Version 13. See REF * POPCOMPILE for
the new equivalents.
popval(list) [procedure]
Now the same as pop11_compile(list).
syscompile() [procedure]
Replaced by * pop11_comp_stream.
systxsqcomp_exec(closer) -> found [procedure]
Replaced by * pop11_exec_stmnt_seq_to.
systxsqcomp(closer) -> found [procedure]
Replaced by * pop11_comp_stmnt_seq_to.
sysxsqcomp(allow_stmnt) [procedure]
Replaced by * pop11_comp_stmnt_seq for allow_stmnt true, and
* pop11_comp_expr_seq for allow_stmnt false (both with no
arguments).
systxcomp(closer) -> found [procedure]
Replaced by * pop11_comp_expr_to.
sysxcomp() [procedure]
Replaced by * pop11_comp_expr.
sys_expr_comp(prec, update) -> nextitem [procedure]
Replaced by * pop11_comp_prec_expr.
sysDUMMY_PREOP(dummy) [procedure]
sysDUMMY(dummy) [procedure]
Replaced by * pop11_EMPTY and * pop11_FLUSHED respectively.
sysstructure(closer) -> bool [procedure]
Replaced by * pop11_comp_constructor.
sys_read_vars(decl_p) [procedure]
Replaced by * pop11_comp_declaration.
sysneed(item) -> found [procedure]
systry(item) -> found [procedure]
sysnmtry(item) -> found [procedure]
Replaced by * pop11_need_nextitem, * pop11_try_nextitem and
* pop11_try_nextreaditem respectively.
sysloop(lab) [procedure]
sysloopend(lab) [procedure]
Replaced by * pop11_loop_start and * pop11_loop_end
respectively.
pop_args_warning -> bool [variable]
bool -> pop_args_warning
popconstruct -> bool [variable]
bool -> popconstruct
popdefineconstant -> bool [variable]
bool -> popdefineconstant
popdefineprocedure -> bool [variable]
bool -> popdefineprocedure
These Pop-11 compiler variables are now superseded by flag bits
in the variable * pop_pop11_flags (although for the time being
they remain as autoloadable active variables which set/clear the
corresponding flags when accessed/updated).
See REF * pop_pop11_flags and HELP * compile_mode
popsetpop() [procedure variable]
Previously, the procedure in this variable was called by setpop,
and was redefined by other language subsystems to allow them to
re-gain control after a setpop; this function is now replaced by
* pop_setpop_compiler.
For upward compatibility, popsetpop (default value identfn) is
still called by the standard Pop-11 version of
pop_setpop_compiler.
recordclass [syntax]
vectorclass [syntax]
Old Pop-11 syntax forms for defining new record and vector
classes, replaced by the single construct defclass described in
REF * DEFSTRUCT
prefix [syntax]
This construct was obsoleted years ago by the section mechanism
(but is still available in $popobsoletelib, see HELP * PREFIX).
---------------------------
2 Virtual Machine Compiler
---------------------------
pop_optimise -> bool [variable]
bool -> pop_optimise
popconstants -> bool [variable]
bool -> popconstants
The roles previously played by these two variables are now
combined in the single variable pop_debugging (although for the
time being they remain as autoloadable active variables which
access or update pop_debugging).
Permanent constants were previously 'turned off' by assigning
false to popconstants; this now corresponds to pop_debugging
having the value true. Since the default value of pop_debugging
is "undef", constants are (as before) on by default.
Setting pop_optimise true previously caused the VM to do extra
optimisation; this now happens when pop_debugging is false (i.e.
extra optimisation is also off by default).
See REF * pop_debugging
sysnlabel() -> label [procedure]
Old name for sysNEW_LABEL. See REF * sysNEW_LABEL
sysnvariable() -> word [procedure]
An old procedure used to generate temporary permanent variables
before the advent of lexical identifiers. Replaced by
sysNEW_LVAR which generates temporary lexical variables. See
REF * sysNEW_LVAR
sysFIELD_VAL(field_num, key_or_spec) [protected procedure variable]
sysUFIELD_VAL(field_num, key_or_spec) [protected procedure variable]
sysSUBSCR(key_or_spec) [protected procedure variable]
sysUSUBSCR(key_or_spec) [protected procedure variable]
These procedures for planting VM code to access/update structure
fields are superseded by sysFIELD for accessing and sysUFIELD
for updating -- see REF * VMCODE
----------------------
3 Filename Processing
----------------------
sysfileparse(filename) -> fvec [procedure]
sysfilefield(filename, N) -> string [procedure]
sysfilehost(filename) -> host [procedure]
sysfiledisk(filename) -> disk [procedure]
sysfiledir(filename) -> dir [procedure]
sysfilename(filename) -> name [procedure]
sysfileextension(filename) -> extn [procedure]
sysfiletype(filename) -> type [procedure]
sysfileversion(filename) -> version [procedure]
sysfullfilename(filename) -> fullname [procedure]
These procedures for filename parsing and extraction of fields
are replaced by * sys_fname and its associated procedures.
sysdirectory() -> dir [procedure]
dir -> sysdirectory()
Returns/updates the current working directory. Replaced by the
active variable * current_directory.
------------
4 Processes
------------
See REF * PROCESS for the new equivalents.
consprocto(n, p) -> proc [procedure]
An old (unsatisfactory) procedure for constructing a process out
of part of the current calling chain. Replaced by the better
consproc_to used (if required) in conjunction with
suspend_chain.
deadproc(proc) -> bool [procedure]
Used to test if the process proc is dead or alive. Superseded
by isliveprocess.
-------------
5 Subsystems
-------------
Subsequent to Version 14.2, the old LIB SUBSYSTEM is replaced by support
built into the core. The subsystem integer subscripts SS_NAME, etc are
now available from the include file INCLUDE * SUBSYSTEM, and the
procedures below have been obsoleted. See REF * SUBSYSTEM for more
details.
current_subsystem_name() -> ss_name [procedure]
ss_name -> current_subsystem_name()
Now equivalent to sys_compiler_subsystem(`c`), i.e.
sys_compiler_subsystem(`c`) -> ss_name;
ss_name -> sys_compiler_subsystem(`c`);
(However, note that sys_compiler_subsystem returns or replaces
the most recent compiler-subsystem invocation, which is not
necessarily the same as the most recent invocation of any
compiler. See Current Subsystem & Current Compiler Subsystem in
REF * SUBSYSTEM.)
switch_subsystem_to(ss_name) [procedure]
Now equivalent to
ss_name -> sys_compiler_subsystem(`c`);
subsystem_initcomp() [procedure]
subsystem_banner() [procedure]
subsystem_xsetup() [procedure]
These are now the same as
sys_subsystems_init(SS_INITCOMP);
sys_subsystems_init(SS_BANNER);
sys_subsystems_init(SS_XSETUP);
respectively.
subsystem_syssetup() [procedure]
This is now the procedure syssetup.
subsystem_nest(source) [procedure]
Now equivalent to
subsystem_compile(source, false);
subsystem_nest_warn(filename) [procedure variable]
Renamed subsystem_compile_warn.
---------------------
6 Mishaps & Warnings
---------------------
From Version 15+, a new exception mechanism makes the following
procedures obsolete -- see REF * EXCEPTION
prmishap(item1, item2, ..., itemN, N, string) [procedure variable]
prmishap(string, list)
For backward compatibility, * sys_pr_exception (the default
value of * pop_pr_exception) still calls prmishap for errors
if it has a value other than sysprmishap.
Depending on the treatment required, all types of exception can
now be handled by redefining either * pop_exception_handler,
* pop_exception_final or * pop_pr_exception.
pop_default_prmishap(string, list) [procedure variable]
Use * pop_default_pr_exception instead.
sysprmishap(item1, item2, ..., itemN, N, string) [procedure]
sysprmishap(string, list)
Obsoleted by * sys_pr_message. Now the same as
sys_pr_message( if isinteger(N) then N, string
else destlist(string), N
endif, nullstring, `E`)
warning(item1, item2, ..., itemN, N, string) [procedure variable]
warning(string, list)
Obsoleted by * sys_pr_message. Now the same as
sys_pr_message( if isinteger(N) then N, string
else destlist(string), N
endif, nullstring, `W`)
prwarning(word) [procedure variable]
For backward compatibility, * sys_pr_exception (the default
value of * pop_pr_exception) still calls prwarning for
sysdeclare warnings if it has a value other than sysprwarning.
(A sysdeclare warning is identified by the exception idstring
'vm-ident:name-ref-none'.)
Depending on the treatment required, sysdeclare warnings (as
with all other exceptions) can now be handled by redefining
either * pop_exception_handler, * pop_exception_final or
* pop_pr_exception.
sysprwarning(word) [procedure]
Obsoleted by * sys_pr_message (which is what now adds items to
popwarnings, when given the sysdeclare exception idstring
'vm-ident:name-ref-none'). Same as
sys_pr_message(word, 1, {'%DECLARING VARIABLE %P' '' 16:01},
'vm-ident:name-ref-none', `W`)
newprwarning(word) [procedure]
Obsoleted by * pop_message_min_detail, which can be used to
control the minimum detail level for all messages printed by
* sys_pr_message.
----------------------
7 External Procedures
----------------------
From Version 13.81 of Poplog, the main support for external procedures
is no longer in terms of a distinguished "external_procedure" record
class; instead, external functions/procedures can be represented by any
external pointer class structure (like all other external data). The
following procedures are therefore redundant (but remain in the system
for upward compatibility).
external_load(mark_item, object_file_list, symbol_list) [procedure]
Replaced by the syntax construct exload (also the procedure
which that employs, external_do_load). See REF * EXTERNAL
external_apply(arg_1, arg_2, ..., arg_N, N, result, [procedure]
external_p)
Replaced by the syntax constructs exacc (which employs the VM
instruction sysFIELD to plant in-line code for an external
function call), and defexacc (which uses the procedure
cons_access to construct apply procedures for external
functions). See REF * DEFSTRUCT and REF * EXTERNAL
isexternal_procedure(item) -> bool [procedure]
The separate "external_procedure" record class is not required
by the new facilities (but will function as an external pointer
by virtue of being external pointer-class).
islive_external_procedure(expdr) -> bool [procedure]
Replaced (for any external pointer class) by
is_valid_external_pointer (see REF * EXTERNAL_DATA).
------
8 Ved
------
popcompiler -> p [procedure variable]
p -> popcompiler
popcompiler(stream)
This variable previously held the compiler procedure associated
with the current Ved file. It is now replaced by the variable
subsystem, which holds the subsystem name for the current Ved
file. For backward compatibility, popcompiler remains as an
autoloadable active variable which translates between subsystem
and the corresponding compiler procedure.
trysetvalof(id_name, true_msg, false_msg) [procedure]
Replaced by * vedtrysetvalof.
vedputchar [procedure]
Obsolete synonym for * vedinput.
vedtermsetup() [procedure variable]
Old initialisation procedure for Ved: used to call vedsetup and
then do some extra work to initialise the terminal type. This
extra work is now performed by a separate procedure vedinitterm
called from inside vedsetup, making the latter sufficient for
all initialisation. The name vedtermsetup is maintained as a
synonym for vedsetup.
ved_what() [procedure]
ved_whats() [procedure]
Replaced by ved_? and ved_?? respectively. See HELP * QUERY
vedmatchbracket(char1, char2, p1, p2, p3) [procedure]
This procedure is to be withdrawn. Use vedfindbracket instead.
vedsaveglobals(vedfile_struct) [procedure]
vedsetglobals(vedfile_struct) [procedure]
These procedures are no longer necessary, since the new active
variable * ved_current_file automatically saves the variables of
the current file and set the variables for a new file when
assigned to. The only requirement which this does not meet is to
save the variables of the current file without changing files;
use * ved_save_file_globals for this.
vedwasonstatus -> bool [variable]
bool -> vedwasonstatus
Prior to the introduction of ved_current_file, programs saved
Ved variables with vedsaveglobals, which always switched a file
off the status line but retained the state in vedwasonstatus.
With ved_current_file this variable is now defunct, since
ved_current_file does not tamper with the on/off status, i.e. it
always restores a file on status if that was its state when
saved (although, as before, the values stored in the file
structure are always the file values not the status line
values).
vedswitchstatus() [procedure]
Replaced by the active variable * ved_on_status. It remains as
an autoloadable procedure which just does
not(ved_on_status) -> ved_on_status
vedstatusheader -> string [variable]
string -> vedstatusheader
This string was formerly used as the start of the status line
(including space for the line number of the current file). It is
no longer used by Ved, which now creates the status line display
directly from the variables vedscreenstatus_-_mark et al (see
Special Character Variables in REF * VEDVARS).
Programs that previously used
datalength(vedstatusheader)
to get the length of the header part should now use the constant
vedstatusheaderlen.
vededitor(defaults_p, file) [procedure]
vedgetfile(defaults_p, file) [procedure]
Both these procedures are replaced by * vededit, and are the
same as
vededit(file, defaults_p)
vedselect(file) [procedure]
vedselect(file, setfocus)
Replaced by * vededit. Same as
vededit(file)
vededit(file, setfocus)
vedgraphicmode -> bool [variable]
Replaced by the bit VEDCMODE_GRAPHIC in * vedscreencharmode.
vedscreengraphoff() [procedure]
vedscreengraphon() [procedure]
These procedures are now the same as setting and clearing the
bit VEDCMODE_GRAPHIC in * vedscreencharmode.
vedscreencommandmark [variable]
vedscreenlinemark [variable]
vedscreencursor [variable]
vedscreencursormark [variable]
vedscreenmark [variable]
Old names for special (usually graphics) characters used on the
Ved status line and for marking ranges, etc. The replacements
are as follows:
Old Name Replacement Name
-------- ----------------
vedscreencommandmark vedscreenstatus_-|_mark
vedscreenlinemark vedscreenstatus_|-_mark
vedscreencursor vedscreenstatus_-_mark
(for status line character)
vedscreencursorlinemark
(for cursor mark character)
vedscreencursormark vedscreencursorlinerangemark
vedscreenmark vedscreenrangemark
(for range mark character)
vedscreenmoremark
(for text beyond EOL character)
The variables vedscreencursor and vedscreenmark have been split
into two separate characters; the old names remain as
autoloadable active variables which assign to both the new
replacements in each case.
graphcharsetup() [procedure]
This procedure previously assigned terminal-dependent 8-bit
character codes for various graphics characters to a set of
variables.
It is now superseded by a standard set of codes for graphics
characters (which are translated on output by the
terminal-dependent procedure vedscreengraphtrans). See Ved
Standard Graphics Characters in REF * VEDPROCS
Note that continued use of graphcharsetup is incompatible with
use of the 8-bit ISO Latin character set in Poplog (since the
old graphics codes conflict with these). If graphcharsetup is
called, and pop_character_set has a true value (which it has by
default), then a warning message is output and pop_character_set
is set false.
issubitem(sub_string, n, string) -> m [procedure]
Renamed * vedissubitem.
chartype(char) -> char [procedure variable]
Obsolete synonym for * vedchartype.
wved_get_one_input() -> string [procedure]
An old procedure previously needed for PWM Ved. It just does
consstring(`A`, vedinascii(), 2)
and is no longer used by anything in Ved or XVed (vedinascii is
called directly).
8.1 Ved Search Mechanism
-------------------------
REF * VEDSEARCH describes the regular expression based Ved search
mechanism. The facilities described here are from an earlier Ved search
and substitution mechanism:
vvedquery -> char [variable]
char -> vvedquery
vvedsrchendline -> char [variable]
char -> vvedsrchendline
vvedsrchstartline -> char [variable]
char -> vvedsrchstartline
vvedampersand -> char [variable]
char -> vvedampersand
vvedpercent -> char [variable]
char -> vvedpercent
These variables are no longer used by the Ved search mechanism.
vedfoundcol -> int [variable]
int -> vedfoundcol
Replaced by ved_query_last_search. See REF * VEDSEARCH
Holds the integer value of the column in which the last
character of the most recently used search string was found.
(See also vedfoundline )
vedfoundline -> int [variable]
int -> vedfoundline
Replaced by ved_query_last_search. See REF * VEDSEARCH
The line in which the last character of the most recently used
search string was last found. (See also vedfoundcol )
vvedanywhere -> bool [variable]
bool -> vvedanywhere
true if the last Ved search was not restricted to strings on
item boundaries.
vvedinstring -> string [variable]
string -> vvedinstring
The text string last used by a substitute command.
Replaced by ved_set_search and ved_search_state. See
REF * VEDSEARCH
vvedsrchsize -> int [variable]
int -> vvedsrchsize
Size of last search string (vvedsrchstring).
Setting this variable no longer has any effect. The variable is
no longer used by the Ved search mechanism.
vvedsrchstring -> string [variable]
string -> vvedsrchstring
vvedoldsrchdisplay -> string [variable]
string -> vvedoldsrchdisplay
Replaced by ved_query_last_search, ved_set_search and
ved_search_state. See REF * VEDSEARCH
These two variables are now synonymous. They represent the last
search pattern string that was looked for.
vedbacklocate(string) [procedure variable]
This can now be done with:
ved_check_search(string, [back])
Search backwards for last occurrence of string.
vedlocate(item) [procedure]
This can now be done with:
ved_check_search(string, [])
and (to ensure that string is not embedded in other text):
ved_check_search(string, [noembed])
Search forward for item. If item is a word or integer then
insist that it is not embedded. (Uses VEDTESTSEARCH).
vedtestclsearch(string, bool) -> vec_or_false [procedure]
This can now be done with:
ved_try_search(string, [nocase]) -> bool
and (when the bool argument to vedtestclsearch is false):
ved_try_search(string, [nocase noembed]) -> bool
(Use ved_query_last_search to obtain the coordinates of the
match. Remembering to dlocal ved_search_state if necessary).
Search for string regardless of case, allowing it to be embedded
if bool is true. Returns <false> or a <vector> of the form
{^line ^column}
vedtestsearch(string, bool) -> bool [procedure]
This can now be done with:
ved_try_search(string, []) -> bool
and (when the bool argument to vedtestsearch is false):
ved_try_search(string, [noembed]) -> bool
Search for next occurrence of string in the current file. If the
given bool is false then the string must occur on a word
boundary (i.e. it cannot be embedded in other words). Returns
<true> if the search was successful.
vedteststartsearch(string) -> line_or_false [procedure]
This can now be done with ved_try_search.
Search for a line in the current Ved buffer starting with the
string. Search starts from current line and wraps round top of
buffer. Cannot use search patterns. Returns line number or false
if not found.
vedcllocate(string, bool) [procedure]
vedcllocate(strword)
This can now be done with:
ved_check_search(string, [nocase])
and (when the bool argument to vedcllocate is false):
ved_check_search(string, [nocase noembed])
Searches for string regardless of case. If bool is true, then
string need not lie on a text item boundary. The cursor is
positioned at the first occurrence of string. When given only
one argument, a string is interpreted as if bool were true,
whilst a word is interpreted as a string and bool false.
---------------------
9 Poplog X Interface
---------------------
LIB * XolConstants has been superseded by INCLUDE * XolConstants. See
REF * OPENLOOK
XptInterruptHandler(dev, display) [procedure]
fast_XptInterruptHandler(dev, display) [procedure]
XptAsyncDisplay(display) -> bool [procedure]
bool -> XptAsyncDisplay(display)
Prior to the introduction of * XptAsyncAppContext, these
procedures enabled control of asynchronous processing for server
events on a display. They are now withdrawn.
They are superseded by XptAsyncAppContext, which gives full
asynchronous processing of all toolkit events for a given
application context (i.e. server events, timers and alternate
inputs).
XptDeferApply(p) [procedure]
Replaced with * external_defer_apply (with the same
functionality).
-----------------
10 Miscellaneous
-----------------
devname(dev) -> string [procedure]
Old name for * device_open_name.
p1 pdcomp p2 -> p3 [operator 3]
The generic operator <> can be used to compose procedures. See
REF * DATA and REF * PROCEDURE
struct1 ncjoin struct2 -> struct3 [operator -5]
Old name for * nc_<>.
popdevraw -> dev [variable]
dev -> popdevraw
Prior to the introduction of poprawdevin and poprawdevout, this
(active) variable contained a combined read/write device for
'raw mode' terminal I/O. It is now an autoloadable synonym for
poprawdevin, but, to maintain upward compatibility, output
operations (syswrite or sysflush) applied to poprawdevin will be
redirected to to poprawdevout. See REF * SYSIO
popdplaces -> int [variable]
int -> popdplaces
Old name for * pop_pr_places.
popliblist -> search_list [variable]
search_list -> popliblist
Old name for * popautolist.
realof(num) -> num [procedure]
Obsolete, use * number_coerce.
real1 =< real2 -> bool [operator 6]
Synonym for <=. Its use is STRONGLY deprecated.
sys_inputon_terminal(dev) [procedure]
Old name for * sys_input_waiting.
sysiomessage() -> string [procedure]
This O/S error message string returned by this procedure can now
be obtained with
sprintf(' (%M)')
i.e. using the %M specifier of * printf.
sys_purge_terminal(dev) [procedure]
Old name for * sys_clear_input.
io_handler(dev) -> trap_p [procedure]
trap_p -> io_handler(dev)
This procedure enabled the association of a trap procedure
trap_p with a readable device dev to handle unsolicited input on
the device via the SIG_IO signal mechanism. It is now replaced
by * sys_async_input, which takes a trap handler procedure
directly (and which n.b, unlike the io_handler procedure, is not
passed the device as argument).
INCLUDE_constant [macro]
Now replaced by the * iconstant declaration.
sysfork() -> pid [procedure]
sysvfork() -> pid [procedure]
(Unix) Replaced by * sys_fork and * sys_vfork. Now the same as
sys_fork(true) -> pid
sys_vfork(true) -> pid
respectively.
sysspawn(command, input, output, wait) -> pid [procedure]
(VMS) Replaced by * sys_spawn. With wait true, now the same as
sys_spawn(command, input, output, true, false)
-> (pid, pop_status)
(i.e. the new procedure returns the exit status as a second
result instead of assigning it to pop_status.)
With wait false, same as
sys_spawn(command, input, output, false, true) -> pid
syswait() -> pid [procedure]
(Unix & VMS) Replaced by * sys_wait. Now the same as
sys_wait(false) -> (pid, pop_status)
(i.e. the new procedure returns the exit status as a second
result instead of assigning it to pop_status.)
syssettimer(hsecs) [procedure]
syssettimer(hsecs, p)
syscantimer() [procedure]
Superseded by * sys_timer.
sys_async_input(sdev) -> ast_p_or_false [procedure]
ast_p_or_false -> sys_async_input(sdev)
Replaced by * sys_async_io with condition argument 0.
timer_interrupt() [procedure variable]
Obsolete variable whose identifier is the value of
sys_signal_handler for the signal SIG_ALRM (but which is now
unusable, since the system employs it to implement * sys_timer).
io_interrupt() [procedure variable]
Obsolete variable whose identifier is the value of
sys_signal_handler for the signal SIG_IO (but which is now
unusable, since the system employs it to implement
* sys_async_io).
+-+ C.all/ref/obsolete
+-+ Copyright University of Sussex 1993. All rights reserved.