Dimitri van Heesch | 1 Oct 17:26 2005
Picon

Re: RE: PHP and aggregated Objects

On Tue, Sep 27, 2005 at 08:17:50AM +0200, S??nke Ruempler wrote:
> Hi,
> 
> Marek Lewczuk <mailto:marek <at> lewczuk.com> wrote on Monday, September 26, 2005 1:51 PM:
> 
> > As you see Doxygen will generate documentation for $someVar, however
> > you cannot put " <at> var" tag. It seems like a bug, because when you put
> > " <at> var $someVar" doxygen looks for TestClass::someVar member.
> > 
> > ML
> 
> Yes, that's my experiences, too. May any developer please check this?

You typically should not use  <at> var to try to fool doxygen. In fact you should
not use it at all if the comment block is in front of the variable definition.

If you still think there is a bug (which is certainly possible for PHP) then
please report it using the bug tracker. First describe the bug and then
attach a self-contained example so I can reproduce the problem.

Regards,
  Dimitri

-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
Duane Ellis | 13 Oct 18:49 2005

Macroized Functions

We are using doxygen to document some C code for a bios.

Hundreds of functions are defined via macros. For example:

/** Set the platform RTC Clock to specified time (TZ=GMT)
* \param p_date - Pointer to the date
* \return  TRUE success, FALSE error (platform lacks RTC)
*/
TRAPFUNC(   BOOL,  biosRtcSetGMT,   ( RTC_DATE *p_data ) );

The problem is the "TRAPFUNC" macro. The "trapfunc" macro creates multiple 

instances of the function name - addorned with attributes and does ohter 
things.
(the same header file is compiled in multiple ways) {It simplifies many 
many things 
We really don't want to change that.}

I've tried:

#ifdef DOXYGEN
#define TRAPCALL( X, Y, Z )      X Y Z
#endif

but that does not help, doxygen does not expand #defines.

Doing #ifdef DOXYGEN blocks around hundreds of API function is *NOT* a 
good idea.

Any suggestions?
(Continue reading)

Michael McTernan | 13 Oct 18:56 2005

RE: Macroized Functions

Hi Duane,

I made a patch to allow \def to be used to force documentation of a define,
even if the #define is not found in the source code.  It was for a similar
problem that I made this mod.

I reported it as a bug in Bugzilla, and the patch for 1.4.3 is attached to
that.  See "Bug 310895: Cannot document non-existant defines with \def".
Maybe this could be a help to you?

Regards,

Mike

> -----Original Message-----
> From: doxygen-develop-admin <at> lists.sourceforge.net [mailto:doxygen-develop-
> admin <at> lists.sourceforge.net] On Behalf Of Duane Ellis
> Sent: 13 October 2005 17:50
> To: doxygen-develop <at> lists.sourceforge.net
> Subject: [Doxygen-develop] Macroized Functions
> 
> We are using doxygen to document some C code for a bios.
> 
> Hundreds of functions are defined via macros. For example:
> 
> /** Set the platform RTC Clock to specified time (TZ=GMT)
> * \param p_date - Pointer to the date
> * \return  TRUE success, FALSE error (platform lacks RTC)
> */
> TRAPFUNC(   BOOL,  biosRtcSetGMT,   ( RTC_DATE *p_data ) );
(Continue reading)

Frank Richter | 18 Oct 19:39 2005
Picon

Re: Macroized Functions

On 13.10.2005 18:49, Duane Ellis wrote:
> I've tried:
> 
> #ifdef DOXYGEN
> #define TRAPCALL( X, Y, Z )      X Y Z
> #endif
> 
> but that does not help, doxygen does not expand #defines.
> 
> Doing #ifdef DOXYGEN blocks around hundreds of API function is *NOT* a 
> good idea.

Did you check the PREDEFINED and EXPAND_AS_DEFINED config options?
I think something like 'PREDEFINED = "TRAPFUNC(a,b,c)=a b c"' would do
the trick.

-f.r.

-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
Duane Ellis | 18 Oct 20:07 2005

Re: Re: Macroized Functions

> Did you check the PREDEFINED and EXPAND_AS_DEFINED config options?
> I think something like 'PREDEFINED = "TRAPFUNC(a,b,c)=a b c"' would do
> the trick.

There are so many options --- I did not see this. I just tried it... Sadly 
- it does not do the trick.

Such is life.... we plod on.

-Duane.

-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
Enno Bartels | 21 Oct 11:38 2005
Picon

Wikipedia entry problems

Hi

I just discovered that the German doxygen article about the
version of Doxygen has been deleted without any comment
and it was deleted without the process of "proposing to be deleted"
  http://de.wikipedia.org/wiki/Spezial:Undelete/Doxygen_--_Versionsliste

Also for the doxygen page itself in the german wikipedia
the article is proposed to be deleted.
  http://de.wikipedia.org/wiki/Doxygen

To not lose the version informations that were discribed in that 
article I did write them down in a text file
"version_history.txt" that is attachted to this email.

So it would be nice if this file could be added to the next 
version of doxygen in the sources. 

Thanks for listening

Enno
===========================================
 1.4.x
===========================================
  1.4.5   4 Oct. 2005
  1.4.4  21 Jul. 2005
  1.4.3  16 May  2005
  1.4.2  28 Mar. 2005
(Continue reading)

Martin Fuchs | 21 Oct 12:53 2005
Picon
Picon

Re: Wikipedia entry problems

Hello,

> Also for the doxygen page itself in the german wikipedia
> the article is proposed to be deleted.
>  http://de.wikipedia.org/wiki/Doxygen

I added a comment on the Wiki discussion page with my veto
against the deletion:

http://de.wikipedia.org/wiki/Diskussion:Doxygen

I think if you (or some one else) extends the article, it won't be
deleted. Currently it's a bit short.
However the complete version story is a thing, which IMHO should not
necessary be kept in the Wikipdedia article. The Doxygen web site
is a better place for this list.

Regards,

    Martin

-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
Jens Miltner | 21 Oct 13:05 2005
Picon

Re: Re: Wikipedia entry problems


Am 21.10.2005 um 12:53 schrieb Martin Fuchs:

> Hello,
>
>
>> Also for the doxygen page itself in the german wikipedia
>> the article is proposed to be deleted.
>>  http://de.wikipedia.org/wiki/Doxygen
>>
>
> I added a comment on the Wiki discussion page with my veto
> against the deletion:
>
> http://de.wikipedia.org/wiki/Diskussion:Doxygen

There's a longer discussion going on at a different place:
http://de.wikipedia.org/wiki/Wikipedia:Löschkandidaten/ 
20._Oktober_2005#Doxygen
Should your comment/veto go there [as well]?

</jum>

-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
Michael McTernan | 21 Oct 16:54 2005

Memory underrun in util.cpp:5584

Hi there,

I took the doxygen-1.4.4-20050815.tar.gz CVS tarball and ran it under
valgrind.  I found a byte being accessed before the start of a buffer:

  // search for trailing empty lines
  int b=l-1,bi=-1;
  p=s.data()+b;
  while (b>=0)
  {
    c=*--p;  <------ Can read before s.data
    if (c==' ' || c=='\t' || c=='\r') b--;
    else if (c=='\n') bi=b,b--;
    else break;
  }

I think the problem is that --p occurs before the dereference, and so the
code would be better written as:

  while (b>=0)
  {
    c=*p; 
    p--;
    if (c==' ' || c=='\t' || c=='\r') b--;

This avoids p[-1] being accessed if something like "\n" is in the buffer.

I've not put it into Bugzilla, but let me know if you would prefer it filed
there instead.

(Continue reading)

Michael McTernan | 21 Oct 17:39 2005

Use of uninitialised variable in classdef.cpp:2627

Hi,

Another from valgrind and the doxygen-1.4.4-20050815.tar.gz CVS tarball.

classdef.cpp:50:

// constructs a new class definition
ClassDef::ClassDef(
    const char *defFileName,int defLine,
    const char *nm,CompoundType ct,
    const char *lref,const char *fName,
    bool isSymbol)
 :
Definition(defFileName,defLine,removeRedundantWhiteSpace(nm),0,0,isSymbol)
{
  m_compType=ct;
  QCString compoundName=compoundTypeString(); 

  ...

Unfortunately compoundTypeString() does the following:

if (m_compType==Interface && m_isObjC) return "class";

Unlike m_compType, m_isObjC hasn't yet been setup.

Cheers,

Mike

(Continue reading)