[CEDET-devel] ede-makeinfo fix
Brought to you by:
zappo
From: David P. <dav...@wa...> - 2004-03-30 11:30:46
|
Eric, Here is a fix to ede-proj-info.el to correctly find the info target name from the texinfo source file. The following patch also includes a small fix for semantic/doc/Project.ede and the changes from the rebuilt Makefile. If you haven't objection I will commit it to the trunk. David 2004-03-30 David Ponce <da...@dp...> * cedet/ede/ede-proj-info.el (ede-makeinfo-source): Fix :garbagepattern. (ede-makeinfo-find-info-filename): New function. (ede-proj-makefile-target-name): Use it. * cedet/semantic/doc/Makefile Rebuild. * cedet/semantic/doc/Project.ede ("Documentation"): Remove duplicate source. Index: ede/ede-proj-info.el =================================================================== RCS file: /cvsroot/cedet/cedet/ede/ede-proj-info.el,v retrieving revision 1.13 diff -c -r1.13 ede-proj-info.el *** ede/ede-proj-info.el 8 Jan 2004 20:32:50 -0000 1.13 --- ede/ede-proj-info.el 30 Mar 2004 11:16:56 -0000 *************** *** 46,52 **** (ede-sourcecode "ede-makeinfo-source" :name "Texinfo" :sourcepattern "\\.texi?$" ! :garbagepattern '("*.info" "*.html")) "Texinfo source code definition.") (defvar ede-makeinfo-compiler --- 46,52 ---- (ede-sourcecode "ede-makeinfo-source" :name "Texinfo" :sourcepattern "\\.texi?$" ! :garbagepattern '("*.info*" "*.html")) "Texinfo source code definition.") (defvar ede-makeinfo-compiler *************** *** 104,116 **** (if moresource (error "Texinfo files should not have moresource"))))) (defmethod ede-proj-makefile-target-name ((this ede-proj-target-makefile-info)) "Return the name of the main target for THIS target." ;; The target should be the main-menu file name translated to .info. ! (let ((mm (if (not (string= (oref this mainmenu) "")) ! (oref this mainmenu) ! (car (oref this source))))) ! (concat (file-name-sans-extension mm) ".info"))) (defmethod ede-proj-makefile-insert-dist-dependencies ((this ede-proj-target-makefile-info)) "Insert any symbols that the DIST rule should depend on. --- 104,131 ---- (if moresource (error "Texinfo files should not have moresource"))))) + (defun ede-makeinfo-find-info-filename (source) + "Find the info filename produced by SOURCE texinfo file." + (let ((opened (get-file-buffer source)) + (buffer (find-file-noselect source nil t)) + info) + (with-current-buffer buffer + (save-excursion + (goto-char (point-min)) + (and (re-search-forward "^@setfilename\\s-+\\([^.]+\\)" nil t) + (setq info (match-string 1))))) + (unless (eq buffer opened) + (kill-buffer buffer)) + info)) + (defmethod ede-proj-makefile-target-name ((this ede-proj-target-makefile-info)) "Return the name of the main target for THIS target." ;; The target should be the main-menu file name translated to .info. ! (let* ((source (if (not (string= (oref this mainmenu) "")) ! (oref this mainmenu) ! (car (oref this source)))) ! (info (ede-makeinfo-find-info-filename source))) ! (concat (or info (file-name-sans-extension source)) ".info"))) (defmethod ede-proj-makefile-insert-dist-dependencies ((this ede-proj-target-makefile-info)) "Insert any symbols that the DIST rule should depend on. Index: semantic/doc/Makefile =================================================================== RCS file: /cvsroot/cedet/cedet/semantic/doc/Makefile,v retrieving revision 1.10 diff -c -r1.10 Makefile *** semantic/doc/Makefile 30 Mar 2004 08:59:26 -0000 1.10 --- semantic/doc/Makefile 30 Mar 2004 11:16:56 -0000 *************** *** 12,18 **** images_MISC=grammar-fw-ov.png semantic-grammar_TEXINFOS=grammar-fw.texi MAKEINFO=makeinfo ! Documentation_TEXINFOS=semantic.texi semantic.texi glossary.texi overview.texi installation.texi fdl.texi internals.texi semanticheader.texi semantic-user_info_TEXINFOS=user-guide.texi semantic-appdev_info_TEXINFOS=app-dev-guide.texi tags.texi semantic-langdev_info_TEXINFOS=lang-support-guide.texi --- 12,18 ---- images_MISC=grammar-fw-ov.png semantic-grammar_TEXINFOS=grammar-fw.texi MAKEINFO=makeinfo ! Documentation_TEXINFOS=semantic.texi glossary.texi overview.texi installation.texi fdl.texi internals.texi semanticheader.texi semantic-user_info_TEXINFOS=user-guide.texi semantic-appdev_info_TEXINFOS=app-dev-guide.texi tags.texi semantic-langdev_info_TEXINFOS=lang-support-guide.texi *************** *** 23,29 **** ! all: images grammar-fw.info semantic.info user-guide.info app-dev-guide.info lang-support-guide.info bovine.info wisent.info images: @ --- 23,29 ---- ! all: images grammar-fw.info semantic.info semantic-user.info semantic-appdev.info semantic-langdev.info bovine.info wisent.info images: @ *************** *** 34,46 **** semantic.info: $(Documentation_TEXINFOS) $(MAKEINFO) $< ! user-guide.info: $(semantic-user_info_TEXINFOS) $(MAKEINFO) $< ! app-dev-guide.info: $(semantic-appdev_info_TEXINFOS) $(MAKEINFO) $< ! lang-support-guide.info: $(semantic-langdev_info_TEXINFOS) $(MAKEINFO) $< bovine.info: $(bovine_info_TEXINFOS) --- 34,46 ---- semantic.info: $(Documentation_TEXINFOS) $(MAKEINFO) $< ! semantic-user.info: $(semantic-user_info_TEXINFOS) $(MAKEINFO) $< ! semantic-appdev.info: $(semantic-appdev_info_TEXINFOS) $(MAKEINFO) $< ! semantic-langdev.info: $(semantic-langdev_info_TEXINFOS) $(MAKEINFO) $< bovine.info: $(bovine_info_TEXINFOS) *************** *** 53,65 **** clean: ! rm -f *.html *.info .PHONY: dist ! dist: grammar-fw.info semantic.info user-guide.info app-dev-guide.info lang-support-guide.info bovine.info wisent.info mkdir $(DISTDIR) ! cp $(images_MISC) $(semantic-grammar_TEXINFOS) grammar-fw.info* $(Documentation_TEXINFOS) semantic.info* $(semantic-user_info_TEXINFOS) user-guide.info* $(semantic-appdev_info_TEXINFOS) app-dev-guide.info* $(semantic-langdev_info_TEXINFOS) lang-support-guide.info* $(bovine_info_TEXINFOS) bovine.info* $(wisent_info_TEXINFOS) wisent.info* $(ede_FILES) $(DISTDIR) Makefile: Project.ede @echo Makefile is out of date! It needs to be regenerated by EDE. --- 53,65 ---- clean: ! rm -f *.html *.info* .PHONY: dist ! dist: grammar-fw.info semantic.info semantic-user.info semantic-appdev.info semantic-langdev.info bovine.info wisent.info mkdir $(DISTDIR) ! cp $(images_MISC) $(semantic-grammar_TEXINFOS) grammar-fw.info* $(Documentation_TEXINFOS) semantic.info* $(semantic-user_info_TEXINFOS) semantic-user.info* $(semantic-appdev_info_TEXINFOS) semantic-appdev.info* $(semantic-langdev_info_TEXINFOS) semantic-langdev.info* $(bovine_info_TEXINFOS) bovine.info* $(wisent_info_TEXINFOS) wisent.info* $(ede_FILES) $(DISTDIR) Makefile: Project.ede @echo Makefile is out of date! It needs to be regenerated by EDE. Index: semantic/doc/Project.ede =================================================================== RCS file: /cvsroot/cedet/cedet/semantic/doc/Project.ede,v retrieving revision 1.7 diff -c -r1.7 Project.ede *** semantic/doc/Project.ede 30 Mar 2004 08:59:07 -0000 1.7 --- semantic/doc/Project.ede 30 Mar 2004 11:16:56 -0000 *************** *** 17,23 **** (ede-proj-target-makefile-info "Documentation" :name "Documentation" :path "" ! :source '("semantic.texi" "semantic.texi" "glossary.texi" "overview.texi" "installation.texi" "fdl.texi" "internals.texi" "semanticheader.texi") :mainmenu "semantic.texi" ) (ede-proj-target-makefile-info "semantic-user.info" --- 17,23 ---- (ede-proj-target-makefile-info "Documentation" :name "Documentation" :path "" ! :source '("semantic.texi" "glossary.texi" "overview.texi" "installation.texi" "fdl.texi" "internals.texi" "semanticheader.texi") :mainmenu "semantic.texi" ) (ede-proj-target-makefile-info "semantic-user.info" |