HELP NEWS
Prolog users should also see * PLOGNEWS
Lisp users should also see * LISPNEWS
ML users should also see * PMLNEWS
X users should also see * XNEWS
For additions to * CONTRIB see $popcontrib/contrib.news
--------------------------------------------------------------
System managers - update LIB * POPHOST please
1997
May 13 (John Williams)
--- New auto-loadable library procedure sysfileowner, for getting
or changing the ownership of a disk file.
May 1 (John Williams)
--- vedfindbracket now uses the new user-assignable property
vedfindbracket_quotes to determine the quote characters for the
subsystem associated with the current file.
1996
Oct 7 (Robert Duncan)
--- Initial release of Poplog 15.5.
Sep 18 (John Gibson)
Improvements to LIB * SHOWCODE:
--- Pair labels produced by sysNEW_LABEL are now retained and
printed as temporary names via a property (substituting the
pairs with words was a bug since it changed their scope).
--- VM instructions executed by code-planting procedures given to
other instructions are now printed with extra indentation.
--- pop_show_code is now locally set false when inside
subsystem_libcompile (so that code is not printed while
compiling a library).
Sep 16 (John Gibson)
--- LIB * SLOWPROCS has now been superseded by an improved
mechanism. There is now a * compile_mode flag :vm +nofast which
can be used (either globally or in individual files or
procedures) to make references to 'fast' permanent identifiers
be compiled as their 'slow' equivalents. (The translation is
effected through the autoloadable procedure pop_nofast_trans.)
+nofast also disables the "fast" flag on Pop-11 syntax
constructs such as exacc and XptVal.
Loading LIB SLOWPROCS is now the same as compiling
compile_mode global :vm +nofast;
Note that this does not give quite the same behaviour as the
old LIB SLOWPROCS, since all :vm flags are turned off while
compiling libraries. +nofast therefore only affects compilation
of user code, and not code that is autoloaded or loaded with
uses.
Aug 29 (John Gibson)
--- Poplog can now be run with a sequence of layered saved images by
specifying just the last one, e.g. instead of
basepop11 +startup +prolog +foo
you can now use any of
basepop11 +foo
pop11 +foo
prolog +foo
Aug 20 (John Gibson)
--- The procedure * external_defer_apply now allows arguments to be
specified for the procedure being applied.
--- New procedure * sys_grbg_closure enables reuse of closures.
Aug 8 (John Gibson)
--- Added Ved command <ENTER> strip to produce a plain ASCII
equivalent of the current buffer, by removing all character
attributes, Ved special characters and embedded data. See
* ved_strip.
Aug 1 (John Gibson)
--- New library LIB * ODBC is a Pop-11 interface to Microsoft's
ODBC (Open DataBase Connectivity) API. See REF * ODBC for
details.
Apr 25 (John Gibson)
--- (Unix Only) Fixed a Ved bug which (in some circumstances) caused
lines over 4096 chars in length to have their beginning chopped
off.
May 9 (John Williams)
--- (Unix Only) Ved command <ENTER> man now accepts section numbers
in two formats:
man section topic
man topic(section)
Both work in all versions of Unix. See HELP * MAN.
Apr 29 (John Gibson)
--- (Unix Only) * sysexecute can now be told to use UNIX * execvp
instead of execve (i.e. search the PATH environment variable),
by supplying the file argument inside a reference.
Apr 26 (John Gibson)
--- There is now a new improved version of the Pop-11 go_on
statement -- see HELP * go_on.
Apr 22 (John Gibson)
--- There is now a new mechanism for handling exceptions (mishaps
and warnings, etc). See REF * EXCEPTION for full details.
(These changes should be completely transparent to existing
programs, except in one respect: a redefinition of the procedure
interrupt that uses the test caller(1) == mishap to determine
whether it is being called from mishap rather than Ctrl-C will
no longer work (interrupt is now called from
sys_exception_handler). However, this test is no longer
necessary, since a program requiring different behaviour in the
Ctrl-C case can simply redefine * keyboard_interrupt separately
from interrupt.)
Apr 17 (John Gibson)
--- XVed now has a "nextWindow" and "defaultWindow" resource called
* autoGeometry, which enables windows to be auto-sized on the
basis of the number of lines in the buffer and/or the maximum
length of any buffer line.
--- The procedure * sys_parse_string now allows an optional argument
to specify a separator character other than the default
whitespace.
Apr 13 (John Gibson)
--- The procedure * printf now allows a new field specifier %M to
print the last operating system error message. (As a result,
the procedure sysiomessage is now redundant.)
Apr 12 (John Williams)
--- New library LIB * PROFILE_GRAPHICAL added. This library
modifies LIB * PROFILE so that its results are presented
as a horizontal bar chart in a Ved window. For details,
see HELP * PROFILE_GRAPHICAL.
--- New library LIB * VEDBARCHART added, for drawing bar
charts in Ved. See HELP * VEDBARCHART.
Apr 11 (John Gibson)
--- The words "close" and "end" are no longer Pop-11 syntax words by
default. They will only be recognised as closers for loops and
defines, etc if declared as syntax (this is done by LIB * POP2).
Mar 27 (John Gibson)
--- The Ved procedure * vedcharinsert was incorrectly treating a
carriage-return character `\r` as equivalent to a newline `\n`.
It now treats it as an ordinary character.
Mar 26 (John Gibson)
--- The Poplog VM procedure * sysLOCAL now allows local identifiers
or expressions to be declared at execute-level (i.e. when
planting code outside of a procedure). This makes the
identifier, etc local to the current compilation stream (that
is, to the current call of sysCOMPILE).
As a result, Pop-11 * dlocal statements are now valid at execute
level.
Mar 15 (Robert Duncan)
Improvements to LIB * PROFILE:
--- A bug in the profiler's counting algorithm has been fixed,
giving much-improved reliability over the last release
--- A new option profile_count_all causes the profiler to count all
active procedures at each interrupt instead of just the one
currently executing
--- Profile output now includes cumulative totals
The profiler is fully described in a revised HELP * PROFILE.
Mar 11 (John Gibson)
--- The default bindings for XVed mouse buttons have changed (except
with Openlook XVed); the new bindings are described in
HELP * XVEDMOUSE. The old bindings can be recovered by setting
the application resource * UseOldMouseBindings true (this
defaults to true with Openlook, and false otherwise).
Mar 6 (John Gibson)
--- The variable * pop_debugging now has default value true (rather
than "undef").
In addition, the semantics of a true value have changed. Rather
than coercing permanent constant declarations to variable
declarations (as previously), it now leaves the declarations
alone, but instead makes the Poplog VM instructions sysPUSH,
sysCALL and sysUCALL treat (non-system) permanent constants as
variables. (In other words, compiled references to them will
indirect through the identifier, rather than using the constant
value.)
This behaviour is cleaner, in that it gives the same degree of
flexibility with respect to tracing etc, but without changing
the 'assign-once-only' semantics of constants.
(Note that LIB * MKIMAGE sets pop_debugging to "undef" by
default, and will therefore compile programs in the same way as
before.)
Feb 20 (John Gibson)
--- New variable * poplineprefix enables automatic prefixing of
lines output via charout and charerr.
Feb 16 (John Gibson)
--- New procedure variable * keyboard_interrupt introduced. This,
rather than interrupt, is now the standard action of the SIG_INT
signal (normally produced by typing Ctrl-C). The default value
of keyboard_interrupt just calls interrupt (which means that the
action of Ctrl-C is the same as before, providing
keyboard_interrupt is not been redefined).
Jan 15 (John Gibson)
--- 'Anonymous' variable _ (underscore) introduced. This active
variable returns pop_undef when accessed, and discards any value
assigned to it. See REF * _.
--- "undef" records in Poplog are no longer an ordinary record
class. It was always a mistake that they were, because it meant
that generic component-extracting procedures such as appdata,
datalist, explode, etc happily worked on them instead of
mishapping.
Hence the above procedures will now mishap when given an undef
record. Other effects of the change are that isrecordclass on an
undef now returns false, as does class_field_spec(undef_key).
The procedures consundef and undefword are available as before
(but not via class_cons or class_access applied to undef_key).
Jan 12 (John Gibson)
--- The matching facilities previously provided by the Pop-11
procedure matches are now available in a completely new and
improved form.
New-style matching is done with the = and /= operators, by
simply incorporating "matchvar" records into the second argument
structure (or, a matchvar itself can be the second argument).
There are four new Pop-11 syntax words that compile to matchvars
(corresponding to the old ?, ??, = and == recognised by matches
inside lists):
=?variable
=??variable
=*
=**
The advantages of the new system are that (1) it works with all
kinds of identifiers (both lexical and permanent), and (2)
matchvars may be incorporated into any structure (not just
lists).
(However, note that =?? and =** are still confined to matching
segments of lists. For speed reasons, the matching algorithm
used by = is the same as matches, and so is not completely
non-deterministic when dealing with repeated =?? variables. For
this reason, a new operator equals is also available, which
can be used instead of = when full backtracking is required.)
For details, see the section Pattern Matching With = at the end
of HELP * EQUAL. Matchvar records and associated procedures are
also described in the Matchvars section of REF * RECORDS.
--- The foreach and forevery syntax forms have new equivalents that
use = instead of matches (and thus work with the new matchvars):
for var equalto pattern [in list] do ... endfor
for var allequalto pattern_list [in list] do ... endfor
See HELP * equalto, * allequalto.
--- There are also new versions of the Pop-11 database procedures
using the new matching facilities; these are called by the
existing names prefixed by database_ (e.g. database_add). See
REF * DATABASE.
Jan 11 (John Williams)
--- Change to the way the REF command operates: if the argument to
REF is an identifier name (not a file name), and there is more
than one entry for that name in any one REF directory, then a
list of the entries will be displayed in cross-reference format
in a temporary Ved buffer. Try <ENTER> ref ^ <RETURN> for a
demonstration.
Jan 3 (John Williams)
--- The following library files are obsolete, and have been moved
into popobsoletelib:
LIB ACTIVE, ACTIVEMODE, HAND, HANGMAN, and V200GRAPH.
They are considered obsolete because they only work on Visual
200 terminals.
1995
Dec 12 (John Williams)
--- LIB * DATAFILE now copes with arrays whose arrayvector is not
a full vector.
Dec 7 (John Gibson)
--- A new Ved command <ENTER> ftp enables editing of a file on a
remote host via ftp. See REF * ved_ftp.
Dec 4 (John Gibson)
--- New procedure lmember_= is similar to lmember, but using = for
equality testing instead of ==. The (variable) procedure member
is now autoloadable, and defined as
lmember_=(item, list) and true
Dec 1 (Robert Duncan)
--- The objectclass package has at last been upgraded from prototype
status and moved to the standard library directory. To load the
whole of objectclass, do
uses objectclass
or if you just want to browse the documentation:
uses objectclass_help
For anyone who hasn't tried the prototype system already, the
objectclass library provides an object-oriented extension to
Pop-11 which is particularly well integrated into the language.
It supports multiple inheritance and multiple dispatch
(multi-methods) similar in style to the Common Lisp Object
System (CLOS). See HELP * OBJECTCLASS for an overview.
Users who have developed programs under the prototype system
should note the following changes which may require
modifications to their code:
# You can no longer include declarations for method arguments
within the argument list itself, i.e. instead of
define :method m(dlocal x);
you must write the more conventional
define :method m(x); dlocal x;
The old-style declarations will be ignored with a warning.
# Method arguments without explicit declarations default to
lvars as before. However, this is now achieved by turning
off the *compile_mode +oldvar flag during compilation of
method definitions, so enforcing the new Pop-11 standard
behaviour. This is a stronger condition than previously,
since it will also affect procedures defined locally to a
method.
# The inheritance algorithm has changed from depth-first
search to topological sort. This may affect programs using
multiple inheritance in which the inheritance is ambiguous,
since topological sort will typically generate a different
linearization of the inheritance graph than would a
depth-first traversal. The new algorithm is discussed in
TEACH * INHERITANCE and REF * OBJECTCLASS.
# There can be no more than one method wrapper for each
distinct method. Compiling a second wrapper will replace the
earlier one rather than augment it.
Nov 18 (John Gibson)
Changes to Ved and XVed:
--- The concept of 'character' in Ved has been extended to
include not only 'character-with-attributes' but also
'character-with-attributes-plus-associated-data'.
That is, any line in a Ved buffer may now have an arbitrary data
item associated with each integer character (embedded data).
Moreover, embedded string and word data (only) can be written to
Ved files.
See Ved Buffers and Ved File Representation in REF * VEDPROCS,
Vedstrings in REF * STRINGS, and Ved Characters with Associated
Data in REF * ITEMISE.
--- There is now a new character attribute, 'active'. This serves
two purposes: (a) it modifies the colour attribute, selecting
colours 0A - 7A instead of 0 - 7; (b) it delineates 'active
segments' in text.
See Changing Character Attributes in REF * VEDCOMMS and
Ved Character Attributes in REF * ITEMISE.
--- The new facilities above have made possible the implementation
of text actions (a.k.a. hot links) in Ved, i.e. commands
embedded in text that can be fired off by an appropriate
mouse or keyboard event such as clicking on the text. See
Embedded Text Actions in REF * VEDPROCS and Setting a Text
Action in REF * VEDCOMMS.
(Note: At the time of writing, the XVed procedure which executes
text actions (vedmouse__do_text_action) is not actually bound to
any mouse button in the standard setup (since they are all used
for other functions). You can attach it with (e.g)
vedset mouse do_text_action = click btn1 endvedset;
but the general issue of button allocation remains to be
resolved.)
--- XVed can now use any fonts at all for its font, boldFont,
altFont and boldAltFont resources. However, while they may have
different widths, all fonts are actually drawn to the maximum
spacing required by any of them. See REF * XVED.
Nov 10 (John Gibson)
--- In Version 15+, all PWM code has been removed from all versions
of the system (including the variable popunderpwm and the
environment variable poppwmlib).
Sep 6 (John Williams)
--- (Unix Only) New library LIB * LOCKF added. This provides an
interface to the C file locking utility lockf. See HELP * LOCKF.
Aug 29 (John Gibson)
--- (Unix Only) * sys_file_match now accepts the C-shell pattern
matching syntax {patt1,patt2,...} for alternative patterns in
filenames.
Aug 25 (John Gibson)
--- In Unix systems, the list sys_os_type now has extra information
added at the end. See REF * sys_os_type.
Aug 21 (John Gibson)
--- In Version 15, random number generation by random and random0
has been slightly improved. (A given starting value of ranseed
will produce the same sequence of ranseed values as before;
however, the actual numbers generated by random and random0 from
any seed value may be different.)
Jul 25 (Robert Duncan, Julian Clinton)
Changes to the Poplog User Interface:
--- The main control panel has been modified: the menu structure
has been changed to provide a more standard organisation, the
panel takes up less space on screen and there are easier routes
to on-line documentation for new users.
--- A Project Tool has been added which allows users to group files
that make up a program into a single project, allowing faster
access to a program's source files than using the file selection
dialog. The Tool can re-create the desktop layout between
different sessions and can build saved images of the project.
See HELP * POP_UI_PROJECTTOOL
--- The Properties Tool now allows values set in the tool to be
saved to the user's init.p or vedinit.p files. In previous
versions, changes were only effective for the current session.
See HELP * POP_UI_OVERVIEW
Jun 7 (Robert Duncan)
Changes to the interactive search-and-substitute command in Ved --
<ENTER> s -- restoring old behaviour lost in the changeover to
regular-expression matching in Version 14.5.
--- Searching now starts from the current cursor position rather
than from one character beyond it (provided, of course, that the
cursor is within the specified search region); this means that
if the cursor is already positioned at the start of some
matching text, that will be offered as the first substitution
--- Each possible substitution should now be offered exactly once,
with nothing missed out and nothing offered for a second time
which has already been rejected (patterns which match the empty
string may still be problematic, but are typically not useful)
--- On completion of the command, the cursor stays where it is
instead of popping back to the last substitution point
May 30 (John Gibson)
--- The procedures caller_valof and isdlocal now work properly with
active variables. There is also a new procedure
nonactive_caller_valof for accessing/updating the nonactive
value of a (variable) active variable.
Note also that valof now works on identifiers as well as words.
See REF * IDENT for full details.
May 23 (John Gibson)
Version 14.53: Changes to Pop-11 defaults.
--- The Pop-11 compiler now
# defaults undeclared procedure formal argument and result
variables to lvars rather than vars;
# defaults undeclared nested defines to lconstant rather than
vars;
# produces a warning message for any vars statement inside a
procedure.
However, the old behaviour can be recovered in all cases by
using
compile_mode :pop11 +oldvar;
(that is, setting the bit POP11_OLD_VARS in pop_pop11_flags.)
Note that the new behaviour makes the compile_mode option :pop11
+varsch redundant (except for the case of a vars statement in a
procedure, which will continue to mishap with +varsch rather
than issuing a warning).
--- In define updaterof ..., the keyword active is no longer
required when defining the updater of an active variable, i.e.
define active foo;
...
enddefine;
define updaterof foo;
...
enddefine;
will now work as expected.
--- The compile_mode construct can now take an initial keyword
global to mean change the given mode(s) globally throughout the
system, rather than just in the current file. (But compilation
of libraries is not affected.) For example, global makes it
possible to specify
compile_mode global :pop11 +strict;
or
compile_mode global :pop11 +oldvar;
in your init.p; this will then apply to all files you compile.
--- The define name = ... form may now include a with_props or
with_nargs clause, e.g.
define foo with_props baz with_nargs 6 =
identfn(%1,2,3%)
enddefine;
May 22 (Robert Duncan)
--- The eliza and logic saved images are no longer supplied by
default in popsavelib, but you can still install them for
yourself with the commands
$popsrc/newpop -eliza -logic only ;;; Unix
@popsrc:newpop -eliza -logic only ;;; VMS
See HELP * NEWPOP.
May 20 (John Gibson)
--- Version 14.52 Poplog is now available for Alpha OSF1.
This is the first 64-bit implementation of Poplog, and allows
simple integers to range up to 61 bits signed (rather than 30 as
in other systems). In addition, simple decimals are machine
double floats minus 3 bits of precision (rather than single
floats minus 2 bits as in other systems).
--- The procedure conskey, as well as the syntax constructs
defclass, exacc, x_typespec, etc, now accept two new field types
"word" and "uword". These represent signed/unsigned integers
held in a field the size of a Poplog word. (Note that "int" and
"uint" are no longer reliable for this purpose, since in Alpha
OSF1 Poplog they remain as 32-bit types in conformance with the
C compiler.)
May 19 (Robert Duncan)
Modifications to the behaviour of *vedfilecomplete:
--- it allows selection by typing a single character, even when the
options are displayed in a separate file
--- the completion string is delimited by any non-printing or other
special character, or by either of the common quote characters
(' or ")
--- the variable vedcomplete_exclude can be used to restrict the set
of matching files; by default this excludes Unix backup files
May 10 (Robert Duncan)
--- A revised TEACH * PRIMER provides an introduction to programming
in Pop-11.
Apr 28 (John Williams)
--- The library LIB * PREFIX is now considered obsolete and has been
moved from the main autoloadable library directory $popautolib/
to *popobsoletelib.
Feb 2 (John Gibson)
--- The procedure sys_lock_system will now mishap if any necessary
call to the writeable operator during compilation has been
ineffective owing to pop_record_writeable being false.
Since calls of writeable occur in many places in system and
library code, pop_record_writeable should therefore almost
always be set true before commencing compilation of a program to
be saved with sys_lock_system.
Jan 25 (John Gibson)
--- (VMS Only)
The Unix-style command symbols (like "cd", "pwd", etc)
previously defined by popcom:popenv.com are now defined
separately by
popcom:unixcomm.com
(Poplog does not run this automatically: if you want the
symbol definitions you must run it in your login.com.)
Jan 20 (John Gibson)
--- When vedreadintrailspaces is true, Ved now also preserves
trailing blank lines at the end of a file (i.e. in addition to
trailing spaces at the ends of lines). This is effected by
replacing the last blank line with one containing a single
'trailing newline' character. See Ved Special Characters:
Special Spaces Etc in REF * VEDPROCS.
Jan 13 (John Williams)
--- (Unix only).
Much improved version of HELP * RUN_UNIX_PROGRAM installed.
1994
Dec 10 (John Gibson)
--- (VMS Only)
Version 14.51 Poplog is now available on Alpha machines. The
principal (and only) difference from the VAX system concerns
external loading: on Alpha, you can only externally load
shareable images. See the Alpha-specific sections in
REF * EXTERNAL for full details.
--- Previously, external function closures deposited their frozen
argument in the external variable pop_exfunc_arg; this location
should now be referenced from C code indirectly through the
pointer
POPOBJ *pop_exfunc_closure_arg
Except in Alpha VMS, existing code using pop_exfunc_arg will
continue to work; in Alpha VMS, the new pointer MUST be used.
Oct 28 (John Williams)
(Unix only)
--- Enhancement to LIB * VED_CCOMP - it is now possible to specify
the name of the C compiler to use by setting the variable
ccomp_command (it defaults to 'cc'). See HELP * CCOMP.
Oct 27 (John Williams)
--- New <ENTER> chat scope option s (i.e. selected text, in Xved
only). See REF * ved_chat.
Jul 4 (John Gibson)
(Unix Only)
--- A new library LIB * UNIX_SOCKETS provides a Pop-11 interface to
Unix communications sockets. See REF * SOCKETS.
--- The new procedure * sys_device_wait provides an interface to the
Unix select system call for multiplexing I/O on devices.
Apr 21 (John Gibson)
--- <ENTER> dk in Ved now generates a Ved runtime action procedure
for each vedsetkey command. This ensures that the commands are
run after any standard settings for the keys have been performed
(and immediately before vedinit is called).
Apr 20 (John Gibson)
--- The procedures sysfork and sysvfork (Unix) and sysspawn (VMS)
have been obsoleted by new versions sys_fork, sys_vfork and
sys_spawn. The procedure syswait also has a new version sys_wait
(similar in both Unix and VMS).
The purpose of these changes is twofold: (1) to make it
unnecessary to have to perform an explicit wait for a child
process when a program's functionality does not actually require
it (that is, to avoid the use of sys_wait to merely prevent
the creation of Unix zombie processes), and (2) to enable an
asynchronous trap procedure to be run when a given child process
terminates.
See REF * SYSUTIL for details.
Apr 10 (John Gibson)
--- With the exception of SunOS 4 Poplog systems, all PWM code has
now been removed from the system.
(To enable program files to compile under other systems, PWM
code that you still require for use under SunOS 4 can be guarded
by the test
#_IF DEF ispwm_id
...
#_ENDIF
etc.)
Apr 8 (John Gibson)
--- (Unix Only) systmpfile and other parts of Poplog which create
temporary files will now use the directory specified by the
environment variable $TMPDIR in preference to /tmp if the former
is defined.
Mar 22 (Robert Duncan)
--- The procedure copy will now mishap if applied to a system
procedure other than a closure or array. The copying of system
procedures -- i.e., those for which isinheap returns <false> --
has always been deprecated in REF * PROCEDURE because it cannot
be made to work reliably on all architectures.
Mar 17 (John Gibson)
Changes to Ved:
--- Ved now has an explicit notion of 'pseudo file' buffer, that
is, a buffer which does not correspond to an actual disk file.
See Real-File and Pseudo-File Buffers in REF * VEDPROCS.
--- The procedures vededitor, vedgetfile and vedselect are now
obsolete and have been replaced by a single new procedure
* vededit.
--- The procedures vededit and vedopen (and vedreadfile, which they
call) can now take an enhanced file-specification argument
to allow the creation of special kinds of Ved buffers. See
filearg Argument to vededit, vedopen and vedreadfile in
REF * VEDPROCS.
Feb 12 (John Gibson)
--- Motif and OpenLook versions of XVed can now have horizontal
scrollbars at the bottom of each window. This is controlled by
the (per-window) boolean resource "hscrollbarOn" -- similar to
"scrollbarOn" for the vertical scrollbar (except that
"hscrollbarOn" is false by default). See REF * XVED.
In addition, menubars/scrollbars are no longer created for any
particular window until or unless turned on for that window.
(Previously, all bars were created, but not displayed unless
on.) This makes window creation faster (and uses less resources)
when one or more "-barOn" resources are false.
Jan 31 (David Young)
--- New for-forms (see HELP * FOR_FORM) to allow iteration over
data in arrays, and to replace where appropriate nested
numerical for-loops. See HELP * in_array and HELP * in_region.
In addition to in_array and in_region, these define the syntax
words updating_last and of_dimension.
Jan 19 (Robert Duncan)
Changes to Ved's treatment of paragraphs:
--- A new procedure vedinparagraph is now used to determine whether
the current line should be considered as part of a paragraph.
This is redefinable to taste, or to suit different file types;
the default definition is described in REF * vedinparagraph.
--- The paragraph movement procedures vednextpara, vedprevpara,
vednextparaend and vedpreparaend have been redefined in terms of
vedinparagraph.
vednextpara and vedprevpara now always position the cursor on
the first character of the paragraph, while vednextparaend and
vedpreparaend always position the cursor one place beyond the
last character in the paragraph.
--- A new procedure vedmarkparagraph marks the paragraph surrounding
the current cursor position, or the previous paragraph if the
cursor is not on a paragraph line. The extent of the paragraph
is determined by calls to vedinparagraph.
This procedure can be run from the command line by doing:
<ENTER> mark paragraph
See REF * ved_mark.
--- ved_jp (for text files) and ved_jjp have been modified to use
vedmarkparagraph to determine the extent of the paragraph to be
justified. This makes the two consistent in the range of text
affected.
--- New default key bindings added:
<ESC> } vednextpara
<ESC> { vedprevpara
See HELP * VEDKEYS.
Jan 17 (Robert Duncan)
--- ved_r modified to use the same strategy for locating files as
does ved_ved; in particular, it will now search directories
specified in vedsearchlist.
Jan 17 (John Gibson)
--- Fixed Ved bug where redoing a word (non-embedded) substitution
with command alone (i.e. <ENTER> s or <ENTER> gs with no
argument) caused the search to be embedded instead of
non-embedded.
Jan 14 (John Gibson)
Changes to XVed:
--- XVed is now able to display several different text cursors, in
different colours (and flashing if desired). See
* vedscreencursoron for a description of the available cursors,
and Special Character Variables: Cursors in REF * VEDVARS for
details of cursor usage by Ved.
The basic cursor colour in each window is controlled by the
"cursorColor" resource -- see REF * XVED.
--- The appearance of the status line in XVed has been improved: it
is now surrounded by a 1-pixel border, and more distinctly
separated from the rest of the window. Consequently, the padding
with `-` characters is now unnecessary and has been removed.
In addition, the status line may now be displayed at the bottom
of the window instead of the top -- see the "StatusAtTop"
application resource in REF * XVED.
--- A new variable * vedscreenstatusnumattr allows character
attributes to be set on the status line/column number display.
The default is bold in colour 4 (which also affects terminal
Ved, for terminals that display bold.)
--- Using key input to merely move around a file in XVed no longer
creates garbage.
Jan 14 (Robert Duncan)
--- ved_wappr --- for appending the marked range to a file --- has
been fixed to preserve character attributes in the text it
writes. It also now puts a message on the status line to show
when the file has been updated. See REF * ved_wappr.
--- A new procedure vedappendrange has been added which is like
vedwriterange but appends the range to an existing file rather
than creating a new one. See REF * vedappendrange.
1993
Dec 24 (John Gibson)
--- The LIB * external and * newexternal facilities now use the same
external loading mechanisms as * exload.
The principal consequence of the change is that external
statements occurring inside the scope of an exload_batch will
now respect the latter, i.e. will not actually load anything
until the outermost endexload_batch is encountered.
In addition, external require is now identical to external load
while batching is operative. (In general, the use of require is
now deprecated; use exload_batch ... endexload_batch instead.)
Dec 22 (John Williams)
--- New procedure property_equal added, for testing `equality' of
properties. See REF * property_equal.
For earlier news, see HELP * NEWS.V14_5
--- C.all/help/news
--- Copyright University of Sussex 1996. All rights reserved.