slib-3b4 news:
slib-3b4 is a minor release. Details at
<http://cvs.savannah.gnu.org/viewvc/*checkout*/slib/slib/ChangeLog>
From Andy Wingo
* guile-2.init, guile.init: Factor an initialization file for Guile
2.0 and later out of guile.init. This does not change the
interface, though -- loading guile.init will load guile-2.init if
appropriate, and otherwise executes its own code.
* slib.nsi, Makefile (ifiles): Update build scripts.
From Pierpaolo Bernardi
* wttree.scm (wt-tree/union-merge): Added from MIT-Scheme; updated license.
From Kazu Yamamoto
* wttree.scm: Fixed bug where tree balance was lost by deletions
<http://hagi.is.s.u-tokyo.ac.jp/~yh/bst.pdf>.
* wttree-test.scm (prop-wt-tree/index): Now covers everything which
wttest.scm does, replacing wttest.scm.
From Bill Schottstaedt (using Scheme-lint)
* Cleaned up and removed unused variables from 10 files
From Aubrey Jaffer <agj@alum.mit.edu>
* slib.sh, gosh.init: Added support for (gosh) Gauche-0.9.
* mitscheme.init: Removed support for defmacro when
(mit-scheme-release >= 9 0).
* Makefile (snapdir, infodir, htmldir): Added defaults so make works
with empty "config.status".
* strsrch.scm (substring?, substring-ci?): Replaced the
skip-vector with an alist (to work with wide characters).
* scanf.scm (*scanf): Handle array-ref argument expressions.
* logical.scm (integer->list): Negative k not allowed.
* structure.scm (define-structure): Reconciled with documentation.
* grapheps.ps (whole-page): Extract bounds from %%BoundingBox.
Squelch trailing .0 in axis numbers.
* grapheps.scm, grapheps.ps (plot-text-column): Added.
(set-font): Take optional "encoding" argument.
* uri.scm (uri:decode-query): Don't split values on cr.
* mkclrnam.scm (load-rgb-txt): Added methods for XKCD dictionary,
"bang" dictionary, FED-STD-595C, and "ntc.js".
* colorspc.scm (L*a*b*:DE*94): From
<http://www.brucelindbloom.com/index.html?Eqn_DeltaE_CIE94.html>
replaced wedged L*C*h:DE*94.
cd-discid 1.4
* Make it possible to prevent stripping e.g. with STRIP=/bin/true.
* Add support for "make install DESTDIR=...".
* Add '--help' and '--version' options.
* Misc fixes.
0.19.1 (2013-05-11)
===================
Features added
--------------
* Completely empty C-API structs for extension type slots (protocols like
number/mapping/sequence) are no longer generated into the C code.
* Docstrings that directly follow a public/readonly attribute declaration
in a cdef class will be used as docstring of the auto-generated property.
This fixes ticket 206.
* The automatic signature documentation tries to preserve more semantics
of default arguments and argument types. Specifically, ``bint`` arguments
now appear as type ``bool``.
* A warning is emitted when negative literal indices are found inside of
a code section that disables ``wraparound`` handling. This helps with
fixing invalid code that might fail in the face of future compiler
optimisations.
* Constant folding for boolean expressions (and/or) was improved.
* Added a build_dir option to cythonize() which allows one to place
the generated .c files outside the source tree.
Bugs fixed
----------
* ``isinstance(X, type)`` failed to get optimised into a call to
``PyType_Check()``, as done for other builtin types.
* A spurious "from datetime cimport *" was removed from the "cpython"
declaration package. This means that the "datetime" declarations
(added in 0.19) are no longer available directly from the "cpython"
namespace, but only from "cpython.datetime". This is the correct
way of doing it because the declarations refer to a standard library
module, not the core CPython C-API itself.
* The C code for extension types is now generated in topological order
instead of source code order to avoid C compiler errors about missing
declarations for subtypes that are defined before their parent.
* The ``memoryview`` type name no longer shows up in the module dict of
modules that use memory views. This fixes trac ticket 775.
* Regression in 0.19 that rejected valid C expressions from being used
in C array size declarations.
* In C++ mode, the C99-only keyword ``restrict`` could accidentally be
seen by the GNU C++ compiler. It is now specially handled for both
GCC and MSVC.
* Testing large (> int) C integer values for their truth value could fail
due to integer wrap-around.
Other changes
-------------
This is an unscheduled bugfix release to address some minor regressions in the 2.6 release.
convert: fix bug of wrong CVS path parsing without port number (issue3678)
help/config: note 64-bit Windows registry key used with 32-bit Python
hfs+: rewrite percent-escaper (issue3918)
hgignore: fix regression with hgignore directory matches (issue3921)
highlight: fix page layout with empty first and last lines
largefiles: check existence of the file with case awareness of the filesystem
largefiles: check unknown files with case awareness of the filesystem
pathencode: grow buffers to increase safety margin
revert: ensure that copies and renames are honored (issue3920)
subrepo: open files in 'rb' mode to read exact data in (issue3926)
windows: check target type before actual unlinking to follow POSIX semantics
------
0.6.40
------
* Issue #376: brought back cli.exe and gui.exe that were deleted in the previous release;
------
0.6.39
------
* Add support for console launchers on ARM platforms.
* Fix possible issue in GUI launchers where the subsystem was not supplied to
the linker.
* Launcher build script now refactored for robustness.
* Issue #375: Resources extracted from a zip egg to the file system now also
check the contents of the file against the zip contents during each
invocation of get_resource_filename.
------
0.6.38
------
* Issue #371: The launcher manifest file is now installed properly.
------
0.6.37
------
* Issue #143: Launcher scripts, including easy_install itself, are now
accompanied by a manifest on 32-bit Windows environments to avoid the
Installer Detection Technology and thus undesirable UAC elevation described
in `this Microsoft article
<http://technet.microsoft.com/en-us/library/cc709628%28WS.10%29.aspx>`_.
mercurial-2.6.1, perl-5.18.0, poppler-0.22.4, py-distribute-0.6.40,
slib-3b4, x264-devel-20130518, xf86-video-mga-1.9.100.
- gtk3-3.8.0, some X packages now packaged for wip
- Bug Fixes
The following vulnerabilities have been fixed.
o wnpa-sec-2013-23
The RELOAD dissector could go into an infinite loop.
Discovered by Evan Jensen. (Bug 8364, (Bug 8546)
Versions affected: 1.8.0 to 1.8.6.
CVE-2013-2486
CVE-2013-2487
o wnpa-sec-2013-24
The GTPv2 dissector could crash. (Bug 8493)
Versions affected: 1.8.0 to 1.8.6.
o wnpa-sec-2013-25
The ASN.1 BER dissector could crash. (Bug 8599)
Versions affected: 1.8.0 to 1.8.6, 1.6.0 to 1.6.14.
o wnpa-sec-2013-26
The PPP CCP dissector could crash. (Bug 8638)
Versions affected: 1.8.0 to 1.8.6.
o wnpa-sec-2013-27
The DCP ETSI dissector could crash. Discovered by Evan Jensen.
(Bug 8231, bug 8540, bug 8541)
Versions affected: 1.8.0 to 1.8.6.
o wnpa-sec-2013-28
The MPEG DSM-CC dissector could crash. (Bug 8481)
Versions affected: 1.8.0 to 1.8.6.
o wnpa-sec-2013-29
The Websocket dissector could crash. Discovered by Moshe
Kaplan. (Bug 8448, Bug 8499)
Versions affected: 1.8.0 to 1.8.6.
o wnpa-sec-2013-30
The MySQL dissector could go into an infinite loop. Discovered
by Moshe Kaplan. (Bug 8458)
Versions affected: 1.8.0 to 1.8.6.
o wnpa-sec-2013-31
The ETCH dissector could go into a large loop. Discovered by
Moshe Kaplan. (Bug 8464)
Versions affected: 1.8.0 to 1.8.6.
The following bugs have been fixed:
o The Windows installer and uninstaller does a better job of
detecting running executables.
o Library mismatch when compiling on a system with an older
Wireshark version. (Bug 6011)
o SNMP dissector bug: STATUS_INTEGER_DIVIDE_BY_ZERO. (Bug 7359)
o A console window is never opened. (Bug 7755)
o GSM_MAP show malformed Packets when two IMSI. (Bug 7882)
o Fix include and libs search path when cross compiling. (Bug
7926)
o PER dissector crash. (Bug 8197)
o pcap-ng: name resolution block is not written to file on save.
(Bug 8317)
o Incorrect RTP statistics (Lost Packets indication not ok).
(Bug 8321)
o Decoding of GSM MAP E164 Digits. (Bug 8450)
o Silent installer and uninstaller not silent. (Bug 8451)
o Replace use of INCLUDES with AM_CPPFLAGS in all Makefiles to
placate recent autotools. (Bug 8452)
o Wifi details are not stored in the Decryption Key Management
dialog (post 1.8.x). (Bug 8446)
o IO Graph should not be limited to 100k points (NUM_IO_ITEMS).
(Bug 8460)
o geographical_description: hf_gsm_a_geo_loc_deg_of_long 24 bit
field truncated to 23 bits. (Bug 8532)
o IRC message with multiple params causes malformed packet
exception. (Bug 8548)
o Part of Ping Reply Message in ICMPv6 Reply Message is marked
as "Malformed Packet". (Bug 8554)
o MP2T wiretap heuristic overriding ERF. (Bug 8556)
o Cannot read content of Ran Information Application Error Rim
Container. (Bug 8559)
o Endian error and IP:Port error when decoding BT-DHT response
message. (Bug 8572)
o "ACE4_ADD_FILE/ACE4_ADD_SUBDIRECTORY" should be
"ACE4_APPEND_DATA / ACE4_ADD_SUBDIRECTORY". (Bug 8575)
o wireshark crashes while displaying I/O Graph. (Bug 8583)
o GTPv2 MM Context (UMTS Key, Quad, and Quint Decoded)
incorrectly. (Bug 8596)
o DTLS 1.2 uses wrong PRF. (Bug 8608)
o RTP DTMF digits are no longer displayed in VoIP graph
analysis. (Bug 8610)
o Universal port not accepted in RSA Keys List window. (Bug
8618)
o Wireshark Dissector bug with HSRP Version 2. (Bug 8622)
o LISP control packet incorrectly identified as LISP data based
when UDP source port is 4341. (Bug 8627)
o Bad tcp checksum not detected. (Bug 8629)
o AMR Frame Type uses wrong Value String. (Bug 8681)
- Updated Protocol Support
AMR, ASN.1 BER, BAT, Bluetooth DHT, BSSGP, DTLS, E.164, Ericsson
A-bis OML, GSM A, GSM MAP, HDFSDATA, ICMP, ICMPv6, ixveriwave,
IRC, KDSP, LISP Data, MMS, NFS, OpenWire, PPP, RELOAD, RTP, SASP,
SIP, SSL/TLS, TCP, UA3G
- New and Updated Capture File Support
Endace ERF, NetScreen snoop.
Changelog:
Tomcat 7.0.40 Released 2013-05-09
The Apache Tomcat Project is proud to announce the release of version 7.0.40 of Apache Tomcat. This release contains a security fix and a number of bug fixes and improvements compared to version 7.0.39. The notable changes include:
A fix for CVE-2013-2071 (bug 54178) an information disclosure issue.
Various fixes to stop Tomcat attempting to parse text that looks like an EL expression in a JSP document as an EL expression when EL expressions are either not permitted or not enabled.
Improved handling and reporting if a ConcurrentModificationException occurs while checking for memory leaks when a web application is being stopped.
Changelog:
FIXED
Security fixes can be found here
Fixed in Firefox ESR 17.0.6
MFSA 2013-48 Memory corruption found using Address Sanitizer
MFSA 2013-47 Uninitialized functions in DOMSVGZoomEvent
MFSA 2013-46 Use-after-free with video and onresize event
MFSA 2013-44 Local privilege escalation through Mozilla Maintenance Service
MFSA 2013-42 Privileged access for content level constructor
MFSA 2013-41 Miscellaneous memory safety hazards (rv:21.0 / rv:17.0.6)
Notable changes (compared to version 1.1.8):
- New MatrixManipulation package.
- New ParallelIntegrationTools package.
- Gruntz algorithm in now used also for finite one-sided limits.
- FriCAS has now true 2-dimensional arrays (previously they were
emulated using vectors of vectors).
- Speedups in some matrix operations and in arithmetic with
algebraic expressions.
- FreeModule is now more general, it allows Comparable as second
argument.
- Changed Spad parser, it now uses common scanner with interpreter.
Spad language is now closer to interpreter language and Aldor.
'leave' is removed, 'free', 'generate' and 'goto' are now keywords.
Pile rules changed slightly, they should be more intuitve now.
Error messages from Spad parser should be slightly better.
Bug fixes, in particular:
- Fixed a few build problems.
- Eliminated division by 0 during 'normalize'.
- 'nthRootIfCan' removes leading zeros from generalized series
(this avoids problems with power series expanders).
- Fixed corruption of formal derivatives.
- Fixed two problems with fortan output.
- Fixed ')untrace' and ')undo'. Fixed ')trace' with ECL.
- Fixed problem with calling efricas if user default shell is (t)csh.
* This release of firefox is built with internal xulrunner.
Because separated (system) xulrunner has prefs and chrome load problem.
* gnome option is broken in libnkmozgnomevfs.so build.
Changelog:
NEW
The Social API now supports multiple providers
NEW
Enhanced three-state UI for Do Not Track (DNT)
NEW
Firefox will suggest how to improve your application startup time if needed
NEW
Preliminary implementation of Firefox Health Report
CHANGED
Ability to restore removed thumbnails on New Tab Page
CHANGED
CSS -moz-user-select:none selection changed to improve compatibility with -webkit-user-select:none (bug 816298)
CHANGED
Graphics related performance improvements (bug 809821)
CHANGED
Removed E4X support from Spidermonkey
DEVELOPER
Implemented Remote Profiling
DEVELOPER
Integrated add-on SDK loader and API libraries into Firefox
HTML5
Added support for <main> element
HTML5
Implemented scoped stylesheets
HTML5
Added support for window.crypto.getRandomValues
FIXED
Some function keys may not work when pressed (833719)
FIXED
Browsing and Download history clearing needs unification to avoid confusion on clearing download history (847627)
FIXED
21.0: Security fixes can be found here
Fixed in Firefox 21
MFSA 2013-48 Memory corruption found using Address Sanitizer
MFSA 2013-47 Uninitialized functions in DOMSVGZoomEvent
MFSA 2013-46 Use-after-free with video and onresize event
MFSA 2013-45 Mozilla Updater fails to update some Windows Registry entries
MFSA 2013-44 Local privilege escalation through Mozilla Maintenance Service
MFSA 2013-43 File input control has access to full path
MFSA 2013-42 Privileged access for content level constructor
MFSA 2013-41 Miscellaneous memory safety hazards (rv:21.0 / rv:17.0.6)
* Introduce WEBRTC patches for FreeBSD, this patches are not work for
NetBSD.
* When firefox/xulrunner-22.0 is released, I will check the functionality
of xulrunner package again.
* Patches and dist.mk are used by www/firefox.
* Take MAINATINERship.
* Option to automatically save configuration on exit
* More settings saved in configuration:
- currently attached tape file
- cartridge settings, including currently attached cartridges
- state of R-Time 8
- system settings, including Mosaic/Axlon RAM size
* New Tape Management menu - can now create blank tape images, switch tape
to read/write in order to save additional data at the end of the current
tape image, rewind/fast forward the tape, and mark it as read-only. See
DOC/USAGE for details.
* Displaying tape position when "Show sector/block counter" is enabled.
* Reworked Cartridge Management menu - now displays filename of the
attached cartridge.
* Option to disable restarting of the machine after cartridge change.
* When attaching a cartridge from the command line, cartridge type can now
be specified using the new -cart-type and -cart2-type options.
* New cartridge types supported:
- OSS 8 KB cartridge
- OSS two chip 16 KB cartridge (043M)
- Blizzard 4 KB cartridge
- AST 32 KB cartridge
- Atrax SDX 64 KB cartridge
- Atrax SDX 128 KB cartridge
- Turbosoft 64 KB cartridge
- Turbosoft 128 KB cartridge
- Ultracart 32 KB cartridge
- Low bank 8 KB cartridge
- SIC! 128 KB cartridge
- SIC! 256 KB cartridge
- SIC! 512 KB cartridge
- Standard 2 KB cartridge
- Standard 4 KB cartridge
- Right slot 4 KB cartridge
* The configure script can now auto-detect some of the available display and
sound interfaces before compiling.
* Option to enable XEP80 added to The Emulator Settings menu.
* Emulation of the 1200XL, including console LEDs, no built-in BASIC, the
F1-F4 keys (mapped to arrow keys in the SDL version) and the on-board
J1 jumper.
* Emulation of the XE Game System, including the built-in game and
detachable keyboard.
* Revamped the Select System menu (now called System Settings). Can now
select many system settings, including RAM expansions, OS and BASIC
revision, and more.
* System ROM settings moved to a separate menu. Now it stores paths to all
known official revisions of the Atari OS, the 5200 BIOS, all BASIC
revisions, and the XEGS built-in game. The OS revision to use is chosen
automatically when selecting a machine type (for example, the 400/800 OS
PAL or NTSC version is chosen depending on the selected TV system).
* 400/800: Emulation of all RAM sizes achievable with different combinations
of the CX852 and CX853 modules - from 8 to 48 KB.
* Emulation of 32/48KB memory sizes in the XL/XE mode, compatible
with memory expansions for the 600XL manufactured by RC Systems.
* Emulation of the MapRAM hardware hack.
* Display settings: "Hue" renamed to "Tint". Tint now configurable also in
PAL mode.
* Fix test suite to not fail when XML::Twig is not installed. Closes:
#707436
* theme: Now <TMPL_IF THEME_$NAME> can be used in all templates
when a theme is enabled.
* notifyemail: Fix bug that caused duplicate emails to be sent when
site was rebuilt.
* bzr: bzr rm no longer has a --force option, remove
* Use gmake.
* MAKE_JOBS_SAFE=yes (at least, with MAKE_JOBS=5)
Changelog:
NEWS for GNU RCS (Revision Control System)
See the end for copying conditions.
- 5.9.0 | 2013-05-06
- distribution now .tar.lz and .tar.xz
If you have GNU tar, you can use "tar xf" and it will DTRT.
If not, you can use "lzip -dc TARBALL | tar xf -" to unpack
the .tar.lz, or "xz -dc TARBALL | tar xf -" for the .tar.xz.
- planned retirement
- configure option ‘--enable-compat2’
This option enables reading of files written by RCS 2.x (before
RCS was GNU, even), but the file format became obsolete in 1982.
Support for it WILL BE REMOVED in a near future GNU RCS release.
- common option ‘-V’
This option is obsoleted by ‘--version’ (since 5.8, 2011-08-30).
Support for it WILL BE REMOVED in some future GNU RCS release.
Its use now produces a warning to stderr.
Please note that ‘-VN’ (N ∈ {3,4,5}) is a separate issue.
- bugs fixed
- ‘rcsmerge --help’ mentions ‘-A’, ‘-E’, ‘-e’
These options are accepted and internally passed to diff3(1).
- ‘ident -VN’ and ‘merge -VN’ now signal error
For these commands, the argument to ‘-V’ has no meaning.
Previously, such invocations would display version info,
ignoring the arg. Now they signal a "bad option" error.
- new features
- ident(1) recognizes Subversion "fixed-width keyword syntax"
In addition to the normal keyword pattern, for Subversion 1.2
(and later) compatability, ident(1) also recognizes patterns
having one of the forms:
$KEYWORD:: TEXT $
;; two colons and space after keyword
;; space before ending $
$KEYWORD:: TEXT#$
;; two colons and space after keyword
;; hash before ending $
- new co(1) option ‘-S’ for "self-same" mode
In this mode, the owner of a lock is unimportant, just that it
exists. Effectively, this prevents you from checking out the
same revision twice.
$ whoami
ttn
$ co -l -f z
RCS/z,v --> z
revision 1.1 (locked)
done
$ co -S -l -f z
RCS/z,v --> z
co: RCS/z,v: Revision 1.1 is already locked by ttn.
- several RCS commands "internalized" into rcs(1)
As part of an ongoing effort to modernize the command-line
interface of GNU RCS, the previously standalone programs:
ci, co, rcs, rcsclean, rcsdiff, rcsmerge, rlog
can now be invoked as "rcs PROGRAM". In this case, we call
PROGRAM a "command", and also provide some aliases. E.g., you
can type "rcs diff" in addition to "rcs rcsdiff" (and "rcsdiff",
of course). We plan to support standalone (w/o "rcs" prefix)
invocation from the shell at least through the 5.x series of
releases -- not indefinitely, but for a good while, yet.
The rcs(1) program itself now supports ‘--commands’ to list all
the commands, ‘--aliases’ to list their aliases, as well as
‘--help COMAMND’ to show the help for COMMAND.
Note that programs ident(1) and merge(1) remain standalone.
Lastly, in the manual, section "Invoking rcs" now describes both
"modern" and "legacy" usages. Also, the internalized commands
invocations mentions both "rcs COMMAND" and "PROGRAM" styles.
- ‘--help’ output includes a one-line description
E.g., "merge --help" says: "Three-way file merge".
- most long options can be recognized if partially specified
With the exception of "rcs --help COMMAND", where "--help" must
be spelled out in full, all long options can now be recognized
even if partially specified. For example, "rcs --al" is
recognized as "rcs --aliases".
- updated portability
Several more Gnulib (http://www.gnu.org/software/gnulib) modules
are now in use.
- new cross-compilation support
The configure script now assigns "pessimistic defaults" when
cross-compiling. See new section "cross-compilation" in README.
- effects of ‘-VN’ (N ∈ {3,4,5}) documented
See (info "(rcs) Misc common options").
- maintenance tools updated
- gnulib-tool (GNU gnulib 2013-05-01 06:14:19) 0.0.7913-5191
- 5.8.2 | 2013-04-04
- Bugs fixed
- Wrong symbolic name dereference
RCS 5.8 introduced a bug whereby commands would incorrectly
dereference a symbolic name (into a numerical revision number)
in the presence of multiple symbolic names that share a common
prefix. See tests/t803.
- ‘integrity’ value syntax better specified
The ‘integrity’ value (if present) is a string composed of a
system part followed by an optional user part, with formfeed
(^L, U+0C) separating the two. Unlike other string values, the
‘integrity’ string (either part) must NOT contain '@' (U+40).
If it does, RCS displays a "spurious '@' in `integrity' value"
error message and exits failurefully.
This change restores interop play-space for third-party tools
that was stricken w/ the RCS 5.8 top-level grammar freeze. Left
unspecified is how such tools should divvy up the user part.
- New manual chapter: RCS file format
This documents the RCS file format grammar and particulars,
adapted from rcsfile(5).
- Manpages refer to info documentation
They now recommend using "info rcs" for full documentation.
- Script to trim "junk at end of file" posted
The "junk at end of file" error occurs for some files due to RCS
5.8 being more strict about the syntax it accepts. You can use
‘trimrcs’ by Warren Jones:
http://lists.gnu.org/archive/html/help-rcs/2013-01/msg00006.html
to remedy such files while we figure out how best to move such
functionality into RCS proper.
- Maintenance tools updated
- automake (GNU Automake) 1.13.1
- gnulib-tool (GNU gnulib 2013-03-19 16:08:47) 0.0.7899-34f84
- makeinfo (GNU Texinfo) 5.1
- 5.8.1 | 2012-06-05
- Bugs fixed
- Debug output removed
Due to an oversight, release 5.8 rlog included code to write
debugging output to stderr for invocations using the ‘-d’ option
and a date range (e.g., ‘rlog -d 2010<2012’).
- Criteria for avoiding read-only checks refined
For "make check", some test cases are inhibited if the user
running the test is not effectively blocked from writing a
purportedly read-only file, such as when "make check" is run by
the super user, or for certain (weird) NFS situations.
Previously, to determine this condition, we considered only the
operating system type, a very crude (and incomplete) proxy.
Now, we explicitly check with a shell sequence comprising the
umask(1) and test(1) commands, plus output-redirection.
- Regression in ‘-zLT’ handling
On a 64-bit x86 system, RCS 5.8 introduced a regression whereby:
rlog -zLT -d>2011-05-04
would select the correct entry but display its date always with
default (01) month and day, i.e., YYYY-01-01. This is now fixed
(see also tests/t320).
- Regression in ‘ci -d -T’ handling
RCS 5.8 introduced a regression whereby:
ci -l -d -T FILE
would set the mtime of RCS/FILE,v (the comma-v file) to the
epoch. This is now fixed (see also tests/t810).
- Use ‘diff --label’ instead of ‘diff -L’
Previously, RCS used GNU diff's ‘-L’ option. According to Paul
Eggert (a GNU diffutils maintainer):
That option has been undocumented since diffutils 2.8
(released in March 2002) and the option is intended to
be replaced sometime soon with a different meaning.
Now, RCS uses ‘diff --label’, thus immune to the planned change.
- Miscellaneous changes
- Make help extraction noisy (on failure)
- Silence some compiler warnings
- Increase coverage of "make check"
- Documentation improvements
- Manpage rcsintro(1) dropped
This manpage is redundant, and (arguably) should not have been
in section 1 in the first place.
- Use "Invoking COMMAND" instead of "COMMAND" as node names
This makes it easier for ‘info --usage COMMAND’ to DTRT, and
makes GNU (info "(standards) Manual Structure Details") happy.
- explicitly UTF-8
This is to prepare for a (future) GNU Texinfo release that
renders @code in a more pretty way when the encoding is UTF-8.
If you're reading this (from the future) with such a Texinfo at
hand, feel free to regenerate the docs in doc/ prior to install.
- CVS is not GNU
Previously, we incorrectly said "GNU CVS", succumbing to a
common misunderstanding. Now we know better.
- TAGS file no longer distributed
To create, configure normally and do "make TAGS".
- New configure script option ‘--enable-coverage’
Specifying ‘--enable-coverage’ causes ‘_Exit’ to be an alias for
‘exit’ and CFLAGS to append ‘--coverage’ if the compiler is GCC.
This is needed because the coverage machinery writes the .gcda
files only on ‘exit’.
This option is for maintainers; most people can ignore it.
- Portability improvements
- Use more gnulib modules
- Use portable Makefile subst-ref variable syntax
- Use portable shell command-output interpolation syntax
- Maintenance tools upgraded
- GNU Automake 1.12
- GNU Autoconf 2.69
- gnulib-tool (GNU gnulib 2012-06-03 16:29:00) 0.0.7432-f6c24-modified
- 5.8 | 2011-08-30
- License now GPLv3+ (see COPYING)
- Change in terminology: from "path" to "file name" (or "file-name")
However, if "path" intends "search path", we say so explicitly.
- Changes to the RCS package
- New documentation in Info format
On "make install", rcs.info is installed in $(infodir), with
title "GNU RCS <VERSION>" in dircategory "Version control".
The doc source is texinfo (released under GNU FDL 1.3), so you
can easily create output in HTML, PDF, etc.
- Dropped configure option: --with-diffutils
To specify non-GNU diffutils programs diff(1) and diff3(1), name
them using variables on the configure command-line. See README.
- Configuration more strict in some ways, more lax in others.
Before, part of the configuration was done at compile time.
Now, all of it is done by the configure script. Here are the
set of conditions which will cause the configure script to fail
(with a "could not find..." message):
- for --enable-mailer=PROG, ‘PROG’ not absolute;
- for diff(1), value of env var ‘DIFF’ not absolute;
- diff(1) not GNU diffutils compatible;
- for diff3(1), value of env var ‘DIFF3’ not absolute;
- for ed(1), value of env var ‘ED’ not absolute;
- no C99-capable compiler.
Here, "absolute" means "specified as an absolute filename".
On the flip side, configuration no longer checks for some
situations such as ‘sigaction’ yes, but ‘SA_SIGINFO’ no.
Most of the portability duties are now handled by gnulib.
- New configure option: --enable-suid[=setreuid]
This builds RCS with setuid support (the default). Optional
arg ‘setreuid’ means use setreuid(2) instead of seteuid(2).
- New configure option: --disable-mmap
This builds RCS without mmap(2), even if available. See README.
- New configure option: --enable-mailer=PROG
The feature whereby ci(1) sends mail when breaking a lock is now
disabled by default. To enable, specify ‘--enable-mailer=PROG’
to the configure script. See README.
- New configure option: --enable-compat2
This preponderantly unlikely to be used option allows RCS
commands to read RCS files written by RCS 2. See README.
- You can "make check" prior to "make install".
Doing "make check" automatically prepends to the ‘PATH’ env var
the value of ‘$(abs_top_builddir)/src’, so that the programs
co, rcsdiff, and rcsmerge can find their peers (co and merge).
Likewise, "make installcheck" prepends ‘$(DESTDIR)$(bindir)’.
Previously, you had to "make install" first and then arrange
for ‘$(DESTDIR)$(bindir)’ to be on ‘PATH’ "manually".
See tests/README for more info on the test suite.
- Bug fixes
- Remove all edit info when removing all revisions.
Previously, "rcs -o" (outdating) all revisions failed to
leave the RCS file in a consistent state; edit info (i.e.,
log message + diff(1) output) remained for the deleted revisions.
For example, this sequence of commands:
echo foo > foo
ci -q -i -t-desc -mHELLO foo
rcs -q -o1.1: foo
grep '@H' foo,v
used to display "@HELLO" to stdout.
Now, all revisions are completely removed.
- Code no longer uses mktemp(3).
Using mktemp(3) is a security risk. We use mkstemp(3) now.
Likewise, rcsfreeze.sh now uses mktemp(1).
- Misc manpage tweaks / fixes.
Document ‘rlog -q’; fix small merge.1 omission; add branch
labels in rcsfile.5; say "GNU RCS <VERSION>" in footer.
- Other changes
- All commands accept ‘--help’ and ‘--version’.
The help output includes an email address for bug reports.
For continuity, option ‘-V’ is now a synonym for ‘--version’.
Relatedly, commands no longer display usage info if given
a bad or malformed option. You can use ‘--help’ for that.
- A string of all digits is now valid for author, state.
This means you can set the author or state to, for example,
"000000" or "42". Previously, these would have caused a
"invalid identifier" or "invalid symbol" error.
- Env var RCS_MEM_LIMIT controls stdio threshold.
For speed, RCS uses memory-based routines for files up to
256 kilobytes, and stream-based (stdio) routines otherwise.
You can change this threshold value by setting the environment
variable ‘RCS_MEM_LIMIT’ to a non-negative integer, measured in
kilobytes. An empty ‘RCS_MEM_LIMIT’ value is silently ignored.
- RCS can now work with files larger than 2 gigabytes.
RCS now uses large file offsets (#define _FILE_OFFSET_BITS 64).
- Pass-through for RCS file ‘commitid SYMBOL’ now builtin.
Due to GNU CVS (Concurrent Versions System) using a compatible
file format as RCS for the RCS file, you can use RCS commands
to view and manipulate its contents. (Note, however, the next
NEWS item.)
This works well enough except for a small annoyance: CVS adds a
per-revision field called the "commitid" with an opaque (to RCS)
symbolic value. Previously, RCS commands would emit a warning
"unrecognized phrases" (unless given ‘-q’ on the command-line).
RCS commands now automatically support pass-through handling of
‘commitid SYMBOL’ (so ‘-q’ is no longer necessary).
- RCS file top-level grammar frozen.
The RCS file top-level grammar is now frozen; RCS no longer
supports pass-through operation of unrecognized key/data pairs
(called "newphrases" in the RCS 5.7 rcsfile(5) manpage).
To avoid painting ourselves into a corner, the grammar now
includes a new key ‘integrity’ with @-string value, whose
sub-grammar is not yet specified. (We intend to keep checksums
and other compacted redundancies in this field, for manipulation
by the commands in a future RCS 5.x release.) For upward
compatability, the commands in this release do not change this
field, although they silently read and write it (pass-through),
if present.
- RCS file syntax-validated earlier, completely.
Previously, RCS file syntax was validated lazily, and trailing
garbage was not detected (see bugfix above). Now, a top-level
validation is done on each access.
- Possible to specify an empty log message with ci -m, rcs -m.
The commands "ci -m" and "rcs -m" no longer error on an
empty log message. Their non-interactive behavior is now
consistent with the interactive invocation.
was: ci -m file < /dev/null # use stdin to avoid error
now: ci -m file # works fine, like so
Note that these commands actually store as the log message
the string: "*** empty log message ***".
- Date option accepts some more date-only formats
Date format ‘YYYY-DDD’ specifies a year and a day (1-366),
while format ‘YYYY-wWW-D’ specifies a year, an ISO week number
(0-53, 0 is a GNU RCS extension), and a day number (1-7, for
Monday through Sunday).
- Changes to rcsdiff
- New handling for option: -U N
This arranges to output N lines of unified-diff context.
Relatedly, the list of possible options passed to the underlying
diff(1) appears in both "rcsdiff --help" and in the manual.
- Refined "same-revision don't call diff" optimization
Normally, if the two revisions specified are the same, we avoid
calling the underlying diff(1) on the theory that it will
produce no output. This does not hold generally for ‘-y’
(--side-by-side) and ‘-D’ (--ifdef), such as when the revision
specified is by different symbolic names, so for those options
the optimization is disabled.
Changelog:
* Noteworthy changes in release 3.3 (2013-03-24) [stable]
** New features
--new-file (-N) and --unidirectional-new-file now allow comparisons to "-".
A standard input that's closed acts like a nonexistent file.
A file name containing spaces, double quotes, backslashes or control
characters is now encoded in a diff header as a double-quoted C string
literal. The escape sequences \\, \", \a, \b, \f, \n, \r, \t, \v and
\ooo (a three-digit octal number between 0 and 255) are used.
** Packaging
diffutils is now designed to build with Cygwin or MinGW rather than DJGPP.
The ms subdirectory has been removed.