Xrefactory s.r.o.
|
This page summarizes in chronological order modifications made
during the evolution of Xrefactory C++ software.
Version 2.0.14 (Nov 27 2007)
- upgrade to C++ front end version 3.10.
- still few problems with xref-recipe-build fixed.
- an option -cpp--no_gcc can be used to turn off default compiler
emulation. If you are using a compiler different from Sun CC, MSVC,
or gcc you can use this option.
| |
Version 2.0.13 (Jul 21 2007)
- several problems with xref-recipe-build script as well as with
compiler wrappers have been fixed. Sources of the script and wrappers
are available in the standard distribution.
- a problem with extraction of static variables defined inside a
function has been fixed.
- few small problems with completion under gcc emulation fixed
including a problem with completion of symbols starting by the string
"operator_".
- upgrade to EDG C++ front end version 3.9.
- a small improvement in coloring keywords in completions has been
implemented.
| |
Version 2.0.12 (Apr 19 2007)
- new emacs customization variables xref-user-identification and
xref-tmp-dir are available for respectively defining prefix and the
directory of temporary files. It is supposed that under windows and
cygwin the xref-tmp-dir will be set on a RAM disk.
- problem with adding a parameter to a function without parameters
fixed.
- problem with an #if directive containing macros expanded to a
"defined" construction fixed.
- problem with possibility of implicit conversion to an lvalue in Sun
CC compatibility fixed.
- completion of local variables and parameters now displays a single
type, not the whole source line. Few other minor improvements in
displaying completions have been implemented.
- Emacs functions xref-add-bindings-to-keymap and
xref-add-key-bindings-to-local-keymap can be customizable if user
defines them in its ~/.emacs file.
- problem with absolute paths in #includes has been fixed.
- problem with escaping from a symbol resolution dialog during
refactoring has been fixed.
- problem when "repeat last compilation" command from Emacs-IDE
started to recreate a recipe file has been fixed.
| |
Version 2.0.11 (Mar 14 2007)
- new Emacs option "Xref Save Buffers Without Prompt" is available. If
allowed, Xrefactory saves buffers without prompting. This happens
usualy before creation, full update of tags, etc.
- new Emacs option "Xref Auto Update Tags Before Push" is available.
If allowed Xrefactory automatically updates tags when browsed symbol
is not found. It also performs full update of tags if required for
successsfull browsing.
- new Emacs option "Xref Completion Displays Internal Type" is
available. This option controls whether types of symbols in completion
dialog are reconstructed from Xrefactory's internal tables (as it was
until now), or whether completion simply displays corresponding lines
from the source code (which is the default since this version).
- new option -realpath allows to resolve symbolic links in all file
paths. However, this option may provoke unwanted effects, to be used
with moderation.
- an important problem in error recovery has been fixed.
- a problem with C-g key in modal dialog is fixed.
- a problem when prowsing a file which was externally modified is
fixed.
- multiple different occurences of the same file in recipe file
provokes multiple parsings of the same file with corresponding
options.
- severity of annoying error message "Something is wrong during
extraction" has been alleged to 'warning' level, meaning that
extraction can continue through it (even if not 100% safe).
- after user confirmation, the extraction can also proceed through the
message "There are jumps in/out of region".
- a problem with C inout parameters during extraction is fixed.
- a problem with xrefinstall script is fixed.
- xref-recipe-build and corresponding compiler wrappers were rewritten
to C. This fixes problems with incompatibilities of shell
interpreters and hopefully make wrappers usable under Windows.
- a problem when a non-existant recipe file was given on command line
is fixed.
| |
Version 2.0.10 (Feb 6 2007)
- when creating a new project, usage of a recipe file is the default
possibility for getting project options. Creation of recipe files is
possible directly from Emacs. Many other improvements in working with
recipe files.
- fixed problem when browsing Windows files (finishing linefeed-return
combination) under Unix. This solution fixes also problems with loki
library and majority reported problems with macros going through
multiple lines.
- fixed problem with browsing constructors.
- fixed problem when Emacs went into a wrong state after repeatedly
pressed C-g.
- fixed problem with -include option.
- fixed problem with wrongly displayed project list when deleting a
project under Emacs.
| |
Version 2.0.9 (Jul 25 2006)
- upgrade to EDG fronted version 3.8. New frontend accepts
compatibility emulation for newer versions of gcc and MSVC++
compilers.
- wildchars can be used in the -prune option.
- new gcc compatibility options -nostdinc and -nostdinc++ avoiding the
preprocessor to search respectively the standard include and C++
include directories.
- a new option -acceptlinedirectives has been implemented. It causes
that the cross referencing tool is parsing and processing #line
directives as a usual preprocessor. I.e. it is considering the rest of
the file as comming from a given file starting on a given line.
- a new option -tmpdir has been implemented. This option allows to
specify directory where xref task is storing its temporary files
during completion and indexation. If you have a RAM disk, it is a good
idea to set the temporary directory somewhere onto the RAM disk.
- short cuts are bind to keys '1', '2', '3', etc for selecting
directly one of proposed lines in Emacs modal dialogs.
- fixed problem when an actual template parameter was references
within template (as beeing a formal parameter).
- the annoying error message "mangled name too long" has been removed.
| |
Version 2.0.8 (Oct 04 2005)
- few implementation constants have been increased
- a bug causing that sometimes browsing can not recognize any symbol
anymore has been fixed.
| |
Version 2.0.7 (May 24 2005)
- a problem in Extract Method causing that parameters were incorrectly
inferred in some circumstances has been fixed
- a bug causing that sometimes the completions were incorrectly
displayed has been fixed.
| |
Version 2.0.6 (May 3 2005)
- verification of symbol names in smart browsing mode can be turned
off using the option "Smart Browsing Check Name". Turning the
verification off allows to browse symbols created with ## preprocessor
contruction as well as C++ constructors.
- new option "Xref Manual Symbol Selection Within Refactoring" can
force refactorings to always propose symbol resultion menu. It is
useful when renaming several methods (possibly from different classes)
at once.
- when browsing within an unsaved buffer a new menu appears. This
menu proposes either to save the current file or to save all modified
buffers or to save those selected by the user.
- fixed the problem with browsing class names at definition place.
| |
Version 2.0.5 (Mar 15 2005)
- a problem with completion in Java fixed
- predefined macros adjusted in gcc 3.4 a gcc 4.0 compatibility modes.
| |
Version 2.0.4 (Feb 15 2005)
- a problem with full update of tags has been fixed.
- a problem with predefined macros in gcc 3.3 compatibility mode has
been fixed.
- a problem with gcc 3.4 compatibility mode has been fixed.
- a problem with the option -imacros has been fixed.
| |
Version 2.0.3 (Jan 14 2005)
- the code browser has been improved and should be faster now.
- on option, it is possible to apply refactorings without security
checks. This makes refactorings faster.
- accessibility and linkage checks may be applied on completion of class
members. This means that only global symbols, or better symbols
visible at the current context are proposed in completions.
- few more contexts for completions were implemented.
- a problem with the "inspect definition" in completions has been fixed.
- a problem with (null) pointer in completions of anonymous structures
has been fixed.
- a problem with browsing classes directly from the class tree has been
fixed.
- a problem in the extract method refactoring has been fixed.
- a problem with the -I options used in a recipe file has been fixed.
- the buffer with xref error messages is not deleted when the message
disappears. In case of bug report, the buffer can be selected and its
content copy-pasted. The buffer name starts with a space.
| |
Version 2.0.2 (Nov 16 2004)
- new option -cpp--gnu_version is now available to make distinction
between particularities of different versions of the GNU gcc compiler.
For example, the option -cpp--gnu_version 30300 forces Xrefactory to
simulate gcc 3.3 compiler, the option -cpp--gnu_version 30200 makes it
to simulate gcc 3.2 compiler.
- unused template entities are not parsed and instantiated by default.
This reduces the number of syntactic errors during indexation of a
project. However, it also reduces the possibility to browse those
entities. You can turn on the parsing of unused entities with the
option -cpp-tall.
- numerous platform specific adjustements in default macros and
includes, mainly for Linux, Solaris and Mac OS X platforms.
- a problem with quoted include files has been fixed.
- several bugs in processing of recipe files have been fixed.
- several implementation constants have been increased in order to be
able to parse larger projects.
| |
Version 2.0.1 (Oct 20 2004)
- xref-recipe-make now considers its first argument to be the recipe
file to be generated. All further arguments are passed to the make
command.
- new ports for sun4/Solaris and ppc/MacOSX have been prepared.
- new option -platform-<platform> is available. It defines a set of
predefined macros specific for <platform> and allows to index
sources from one platform on another. The option -platform-win32 also
makes the search of included files case unsensitive.
- several adjustements in predefined macros and include directories have
been made.
- numerous bugs have been fixed, including a memory leak in the
preprocessor.
| |
Version 2.0.0 (Sep 15 2004)
This is the initial release of the version 2. Comparing to Xrefactory 1.x.y
this release implements:
- full C++ support. The C++ front end accepts ANSI C++, GNU g++, Sun CC
and Microsoft MSVC++ language dialects.
- possibility to generate and use recipes. If a project is built using
'xref-recipe-make' instead of 'make' than all project files together
with compiler options are memorized in a "recipe" file. This file can
be then used by Xrefactory.
- smart browsing. User can now toggle between two modes how Xrefactory
determines attributes of an on-line browsed symbol. In "standard
browsing mode" the currently edited file is parsed and the symbol is
resolved by parser. In "smart browsing mode" mode, the appropriate
Tag file is scanned and the symbol is resolved by its reference.
- speed ups. Based on experiences from the version 1, faster and more
appropriate data structures are used to store critical datas. This
concerns all stored references, inheritance trees and inheritance
subtrees for virtual methods, lists of unused symbols as well as
internal data structures like preprocessor tables.
- improved HTML documentation. The generated documentation contains
project index pages containing full inheritance tree, lists of project
symbols, all parsed symbols, project compilation units, all project
files and classes. Cross references are more accurate and all
possible ambiguities in source files are precisely reported and
explained.
| |
|