Re: [CEDET-devel] tags internal representation
Brought to you by:
zappo
From: David P. <dav...@wa...> - 2003-03-22 10:59:34
|
Hi Eric, [...] > I find the extra email inspiring. > > See comments interspersed in the code. On the whole, good stuff! Thanks :-) [...] > I would not have the generic unlink set the :filename. This would be > saved as a full path name into the semanticdb cache file. Not only > is this information not needed in the cache file, but it locks the > cache file to a specific directory, making sym links, NFS mounts, or > just a tar.gz file of that cache inaccurate. > > Semanticdb could strip this out on save, but I would rather not since > I'm using pre-build simple save routines. > > I think semantic-tag-copy should be the only one add the :filename > property after the copy is unlinked. That's a good reason, I didn't thought to. I changed the code so only `semantic-tag-copy' can (optionally) set the :filename property. [...] > The current raw tag format of ( ... START END) needing to be shifted > to ( ... VECTOR ), and thereby needing raw/cooked conversion seems > like something we should just fix. Now that token creation has been > moved into macros, we could have the parsers put the start/end info > into the created tags in the correct way, saving this step. The > origin of the start/end was simply from the good ol' days before > overlays were used in Semantic. I completely agree with that, there is no more need for that artificial distinction between raw and cooked tags. Without that a lot of things will be clearer and simpler. > The above can certainly be used as an interim step as we look into > fixing our parsers. Yes, I think it would be safer ;-) I checked my latest changes in. The change log follows. David 2003-03-22 David Ponce <da...@dp...> * semantic/semantic-tag.el (semantic-tag-file-name, semantic-tag-copy) (semantic--tag-unlink-from-buffer) (semantic--tag-link-to-buffer) (semantic--tag-unlink-list-from-buffer) (semantic--tag-link-list-to-buffer) (semantic--tag-unlink-cache-from-buffer) (semantic--tag-link-cache-to-buffer) (semantic--tag-expanded-p, semantic--tag-expand): New functions. (semantic-tag-expand-function): New variable. |