[Vim-latex-cvs] SF.net SVN: vim-latex: [1012] trunk/vimfiles/ftplugin/latex-suite
Brought to you by:
srinathava,
tmaas
From: <sri...@us...> - 2006-04-28 16:48:19
|
Revision: 1012 Author: srinathava Date: 2006-04-28 09:48:12 -0700 (Fri, 28 Apr 2006) ViewCVS: http://svn.sourceforge.net/vim-latex/?rev=1012&view=rev Log Message: ----------- Bug: When a file is included as \input{file.tex} then there is an error in \ref completion (Matthias Rosenkranz) Why: outline.py always appends .tex to the filename so that we try to include file.tex.tex which does not exist. Fix: Try opening file and then file.tex and use the first one which is OK. This avoids problems with having to guess. (modified version of patch submitted by Franz Pletz) Modified Paths: -------------- trunk/vimfiles/ftplugin/latex-suite/outline.py trunk/vimfiles/ftplugin/latex-suite/version.vim Modified: trunk/vimfiles/ftplugin/latex-suite/outline.py =================================================================== --- trunk/vimfiles/ftplugin/latex-suite/outline.py 2006-04-28 16:41:47 UTC (rev 1011) +++ trunk/vimfiles/ftplugin/latex-suite/outline.py 2006-04-28 16:48:12 UTC (rev 1012) @@ -12,19 +12,27 @@ import StringIO # getFileContents {{{ -def getFileContents(argin, ext=''): - if type(argin) is str: - fname = argin + ext - else: - fname = argin.group(3) + ext +def getFileContents(fname): + if type(fname) is not str: + fname = fname.group(3) - # This longish thing is to make sure that all files are converted into - # \n seperated lines. - contents = '\n'.join(open(fname).read().splitlines()) + # If neither the file or file.tex exists, then we just give up. + if not os.path.isfile(fname): + if os.path.isfile(fname + '.tex'): + fname += '.tex' + else: + return '' + try: + # This longish thing is to make sure that all files are converted into + # \n seperated lines. + contents = '\n'.join(open(fname).read().splitlines()) + except IOError: + return '' + # TODO what are all the ways in which a tex file can include another? pat = re.compile(r'^\\(@?)(include|input){(.*?)}', re.M) - contents = re.sub(pat, lambda input: getFileContents(input, ext), contents) + contents = re.sub(pat, getFileContents, contents) return ('%%==== FILENAME: %s' % fname) + '\n' + contents @@ -142,7 +150,7 @@ # section_text] rettext = getSectionLabels(sections[0], sectypes[1:], section_prefix, label_prefix) - + for i in range(1,len(sections),2): sec_num = (i+1)/2 section_name = re.search(r'\\%s{(.*?)}' % sectypes[0], sections[i]).group(1) @@ -166,8 +174,7 @@ if head: os.chdir(head) - [root, ext] = os.path.splitext(tail) - contents = getFileContents(root, ext) + contents = getFileContents(fname) nonempty = stripComments(contents) lineinfo = addFileNameAndNumber(nonempty) Modified: trunk/vimfiles/ftplugin/latex-suite/version.vim =================================================================== --- trunk/vimfiles/ftplugin/latex-suite/version.vim 2006-04-28 16:41:47 UTC (rev 1011) +++ trunk/vimfiles/ftplugin/latex-suite/version.vim 2006-04-28 16:48:12 UTC (rev 1012) @@ -24,7 +24,7 @@ " "stabilize" that version by releasing a few pre-releases and then " keep that as a stable point. function! Tex_Version() - return "Latex-Suite: version 1.8.18" + return "Latex-Suite: version 1.8.19" endfunction com! -nargs=0 TVersion echo Tex_Version() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |