mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-04-27 16:51:06 -07:00
Simplify buildobj processing.
* Makefile.in (buildobj.h): Make it a sequence of strings each followed by comma, rather than a single string. Put it into a .tmp file in case there's an error while generating it. (gl-stamp): Use .tmp for temp files. (mostlyclean): Clean .tmp files. * doc.c (buildobj): Move to just the routine that needs it. It's now an array of strings, so processing is simpler.
This commit is contained in:
parent
37afa042f9
commit
c2418359b3
3 changed files with 29 additions and 28 deletions
|
|
@ -1,3 +1,14 @@
|
|||
2013-07-02 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Simplify buildobj processing.
|
||||
* Makefile.in (buildobj.h): Make it a sequence of strings each
|
||||
followed by comma, rather than a single string. Put it into a
|
||||
.tmp file in case there's an error while generating it.
|
||||
(gl-stamp): Use .tmp for temp files.
|
||||
(mostlyclean): Clean .tmp files.
|
||||
* doc.c (buildobj): Move to just the routine that needs it.
|
||||
It's now an array of strings, so processing is simpler.
|
||||
|
||||
2013-07-01 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Fix bug re noninteractive multithreaded memory allocation (Bug#14569).
|
||||
|
|
|
|||
|
|
@ -477,16 +477,19 @@ $(libsrc)/make-docfile$(EXEEXT):
|
|||
cd $(libsrc); $(MAKE) $(MFLAGS) make-docfile$(EXEEXT)
|
||||
|
||||
buildobj.h: Makefile
|
||||
echo "#define BUILDOBJ \"$(ALLOBJS) " "\"" >$@
|
||||
for i in $(ALLOBJS); do \
|
||||
echo "$$i" | sed 's,.*/,,; s/\.obj$$/\.o/; s/^/"/; s/$$/",/' \
|
||||
|| exit; \
|
||||
done >$@.tmp
|
||||
mv $@.tmp $@
|
||||
|
||||
globals.h: gl-stamp; @true
|
||||
|
||||
GLOBAL_SOURCES = $(base_obj:.o=.c) $(NS_OBJC_OBJ:.o=.m)
|
||||
|
||||
gl-stamp: $(libsrc)/make-docfile$(EXEEXT) $(GLOBAL_SOURCES)
|
||||
@rm -f gl-tmp
|
||||
$(libsrc)/make-docfile -d $(srcdir) -g $(obj) > gl-tmp
|
||||
$(srcdir)/../build-aux/move-if-change gl-tmp globals.h
|
||||
$(libsrc)/make-docfile -d $(srcdir) -g $(obj) > gl.tmp
|
||||
$(srcdir)/../build-aux/move-if-change gl.tmp globals.h
|
||||
echo timestamp > $@
|
||||
|
||||
$(ALLOBJS): globals.h
|
||||
|
|
@ -557,7 +560,7 @@ mostlyclean:
|
|||
rm -f bootstrap-emacs$(EXEEXT) emacs-$(version)$(EXEEXT)
|
||||
rm -f buildobj.h
|
||||
rm -f globals.h gl-stamp
|
||||
rm -f *.res
|
||||
rm -f *.res *.tmp
|
||||
clean: mostlyclean
|
||||
rm -f emacs-*.*.*$(EXEEXT) emacs$(EXEEXT)
|
||||
-rm -rf $(DEPDIR)
|
||||
|
|
|
|||
33
src/doc.c
33
src/doc.c
|
|
@ -33,7 +33,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
|
|||
#include "buffer.h"
|
||||
#include "keyboard.h"
|
||||
#include "keymap.h"
|
||||
#include "buildobj.h"
|
||||
|
||||
Lisp_Object Qfunction_documentation;
|
||||
|
||||
|
|
@ -555,7 +554,6 @@ store_function_docstring (Lisp_Object obj, ptrdiff_t offset)
|
|||
}
|
||||
}
|
||||
|
||||
static const char buildobj[] = BUILDOBJ;
|
||||
|
||||
DEFUN ("Snarf-documentation", Fsnarf_documentation, Ssnarf_documentation,
|
||||
1, 1, 0,
|
||||
|
|
@ -598,27 +596,16 @@ the same file name is found in the `doc-directory'. */)
|
|||
|
||||
/* Vbuild_files is nil when temacs is run, and non-nil after that. */
|
||||
if (NILP (Vbuild_files))
|
||||
{
|
||||
const char *beg, *end;
|
||||
|
||||
for (beg = buildobj; *beg; beg = end)
|
||||
{
|
||||
ptrdiff_t len;
|
||||
|
||||
while (*beg && c_isspace (*beg)) ++beg;
|
||||
|
||||
for (end = beg; *end && ! c_isspace (*end); ++end)
|
||||
if (*end == '/') beg = end + 1; /* Skip directory part. */
|
||||
|
||||
len = end - beg;
|
||||
if (len > 4 && end[-4] == '.' && end[-3] == 'o')
|
||||
len -= 2; /* Just take .o if it ends in .obj */
|
||||
|
||||
if (len > 0)
|
||||
Vbuild_files = Fcons (make_string (beg, len), Vbuild_files);
|
||||
}
|
||||
Vbuild_files = Fpurecopy (Vbuild_files);
|
||||
}
|
||||
{
|
||||
static char const *const buildobj[] =
|
||||
{
|
||||
#include "buildobj.h"
|
||||
};
|
||||
int i = sizeof buildobj / sizeof *buildobj;
|
||||
while (0 <= --i)
|
||||
Vbuild_files = Fcons (build_string (buildobj[i]), Vbuild_files);
|
||||
Vbuild_files = Fpurecopy (Vbuild_files);
|
||||
}
|
||||
|
||||
fd = emacs_open (name, O_RDONLY, 0);
|
||||
if (fd < 0)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue