1
  
2
  
3
  
4
  
5
  
6
  
7
  
8
  
9
  
10
  
11
  
12
  
13
  
14
  
15
  
16
  
17
  
18
  
19
  
20
  
21
  
22
  
23
  
24
  
25
  
26
  
27
  
28
  
29
  
30
  
31
  
32
  
33
  
34
  
35
  
36
  
Changes since Pike 7.6: 
---------------------------------------------------------------------- 
 
o New syntax to index from the end in range operations. 
  A "<" can be added before an index in the [..] operator to count 
  from the end instead. This is convenient to e.g. chop off the last 
  element in an array: a[..<1]. 
 
o New `[..] operator function. 
  Range operations have been separated from the `[] operator function 
  and is handled by a new `[..] which provides greater control in how 
  the range bounds are specified. For compatibility, if there is no 
  `[..] then `[] is still called for range operations. 
 
o Stdio.* 
  Stdio.cp can now work recursively in a directory tree. 
  Stdio.cp now keeps permissions when copying. 
  Added Stdio.recursive_mv which works on every OS and also when the 
  destination isn't on the same filesystem as the source. 
 
o Process.popen 
   Process.popen is now able to run in nonblocking mode. If a second 
   argument is provided a file object will be opened with that mode 
   and return, enabling two way communication with the new process. 
 
o bin/precompile.pike 
   Voidable pointer types are no longer promoted to mixed. 
 
o PIKE_PORTABLE_BYTECODE 
   --with-portable-bytecode is now the default. Pike programs that have 
   been dumped on one architecture now can be decoded on another. 
 
o Math.Matrix  
  Multiplication were bugged and gave B*A instead of A*B. Now fixed.