Mercurial > emacs
view lisp/Makefile.in @ 32988:c3435dc00ed7
* lisp.h (KEYMAPP): New macro.
(get_keymap): Remove.
(get_keymap_1): Rename get_keymap.
* keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
* xterm.c (note_mode_line_highlight): Use KEYMAPP.
* xmenu.c (single_submenu): Use KEYMAPP.
(Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
Use KEYMAPP rather than Fkeymapp.
* w32term.c (note_mode_line_highlight): Use KEYMAPP.
* w32menu.c (True, False): Remove (use TRUE and FALSE instead).
(Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
Use KEYMAPP rather than Fkeymapp.
(single_submenu): Use KEYMAPP.
(w32_menu_show, w32_dialog_show): Use TRUE.
* minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
* keymap.c (KEYMAPP): Remove (moved to lisp.h).
(Fkeymapp): Use KEYMAPP.
(get_keymap): Rename from get_keymap_1. Remove old def.
Return t when autoload=0 and error=0 and the keymap needs autoloading.
(Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
(Fminor_mode_key_binding): Don't raise an error if the binding
is not a keymap.
(Fuse_global_map, Fuse_local_map): Allow autoloading.
(Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
* keyboard.c (read_char): get_keymap_1 -> get_keymap.
Allow Vspecial_event_map to be autoloaded.
(menu_bar_items): Fetch the keymap rather than using keymapp.
(menu_bar_one_keymap): No need to follow func-indirect any more.
(parse_menu_item): get_keymap_1 -> get_keymap.
(tool_bar_items): Fetch the keymap rather than using keymapp.
(read_key_sequence): Use KEYMAPP.
* intervals.c (get_local_map): Use get_keymap rather than following
function-indirections explicitly.
* doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Fri, 27 Oct 2000 22:20:19 +0000 |
parents | f677903fb663 |
children | 075e5f998739 |
line wrap: on
line source
# # Maintenance productions for the Lisp directory # SHELL = /bin/sh lisp=@srcdir@ VPATH=@srcdir@ srcdir=@srcdir@/.. # You can specify a different executable on the make command line, # e.g. "make EMACS=../src/emacs ...". EMACS = ../src/emacs # Command line flags for Emacs. This must include --multibyte, # otherwise some files will not compile. EMACSOPT = -batch --no-site-file --multibyte SOURCES = *.el COPYING Makefile lisptagsfiles1 = $(lisp)/[a-zA-Z]*.el lisptagsfiles2 = $(lisp)/[a-zA-Z]*/[a-zA-Z]*.el ETAGS = ../lib-src/etags # Files which should not be compiled. If you change the name `DONTCOMPILE' # to something different, you'll have to change make-dist as well. # # - emacs-lisp/cl-specs.el: only contains `def-edebug-spec's so there's # no point compiling it, although it doesn't hurt. DONTCOMPILE = \ $(lisp)/bindings.el \ $(lisp)/cus-load.el \ $(lisp)/cus-start.el \ $(lisp)/emacs-lisp/cl-specs.el \ $(lisp)/eshell/esh-maint.el \ $(lisp)/eshell/esh-groups.el \ $(lisp)/finder-inf.el \ $(lisp)/forms-d2.el \ $(lisp)/forms-pass.el \ $(lisp)/generic-x.el \ $(lisp)/international/latin-1.el \ $(lisp)/international/latin-2.el \ $(lisp)/international/latin-3.el \ $(lisp)/international/latin-4.el \ $(lisp)/international/latin-5.el \ $(lisp)/international/latin-8.el \ $(lisp)/international/latin-9.el \ $(lisp)/international/mule-conf.el \ $(lisp)/loaddefs.el \ $(lisp)/loadup.el \ $(lisp)/mail/blessmail.el \ $(lisp)/mail/sc.el \ $(lisp)/patcomp.el \ $(lisp)/paths.el \ $(lisp)/play/bruce.el \ $(lisp)/subdirs.el \ $(lisp)/term/internal.el \ $(lisp)/version.el # Files to compile before others during a bootstrap. This is done # to speed up the bootstrap process. COMPILE_FIRST = \ $(lisp)/emacs-lisp/byte-opt.el \ $(lisp)/emacs-lisp/bytecomp.el \ $(lisp)/subr.el # The actual Emacs command run in the targets below. emacs = $(EMACS) $(EMACSOPT) # Common command to find subdirectories setwins=subdirs=`find $$wd -type d -print`; \ for file in $$subdirs; do \ case $$file in */Old | */RCS | */CVS | */CVS/* | */=* ) ;; \ *) wins="$$wins $$file" ;; \ esac; \ done doit: cus-load.el: touch $@ custom-deps: cus-load.el doit wd=$(lisp); $(setwins); \ echo Directories: $$wins; \ $(emacs) -l cus-dep -f custom-make-dependencies $$wins finder-inf.el: echo "(provide 'finder-inf)" >> $@ finder-data: finder-inf.el doit wd=$(lisp); $(setwins); \ echo Directories: $$wins; \ $(emacs) -l finder -f finder-compile-keywords-make-dist $$wins loaddefs.el: echo ";;; loaddefs.el --- automatically extracted autoloads" >> $@ echo ";;" >> $@; echo ";;; Code:" >> $@ echo "" >> $@ echo ";;; Local Variables:" >> $@ echo ";;; version-control: never" >> $@ echo ";;; no-byte-compile: t" >> $@ echo ";;; no-update-autoloads: t" >> $@ echo ";;; End:" >> $@ echo ";;; loaddefs.el ends here" >> $@ autoloads: loaddefs.el doit wd=$(lisp); $(setwins); \ echo Directories: $$wins; \ $(emacs) -l autoload --eval '(setq generated-autoload-file "$(lisp)/loaddefs.el")' -f batch-update-autoloads $$wins subdirs.el: $(MAKE) $(MFLAGS) update-subdirs update-subdirs: doit wd=$(lisp); $(setwins); \ for file in $$wins; do \ $(srcdir)/update-subdirs $$file; \ done; updates: update-subdirs autoloads finder-data custom-deps # Update the AUTHORS file. update-authors: EMACSLOADPATH=$(lisp) $(emacs) -f batch-update-authors $(srcdir)/AUTHORS $(srcdir) TAGS: $(lisptagsfiles1) $(lisptagsfiles2) ${ETAGS} $(lisptagsfiles1) $(lisptagsfiles2) TAGS-LISP: $(lisptagsfiles1) $(lisptagsfiles2) ${ETAGS} -o TAGS-LISP $(lisptagsfiles1) $(lisptagsfiles2) .el.elc: subdirs.el -EMACSLOADPATH=$(lisp) $(emacs) -f batch-byte-compile $< $(DONTCOMPILE:.el=.elc): -rm -f $@ # Compile all Lisp files, except those from DONTCOMPILE. This # compiles files unconditionally. All .elc files are made writable # before compilation in case we checked out read-only (CVS option -r). # Files MUST be compiled one by one. If we compile several files in a # row we can't make sure that the compilation environment is clean. # We also set the load-path of the Emacs used for compilation to the # current directory and its subdirectories, to make sure require's and # load's in the files being compiled find the right files. compile-files: subdirs.el doit find $(lisp) -name "*.elc" -print | xargs chmod +w; \ wd=$(lisp); $(setwins); \ elpat=`echo $$wins | tr ' ' '\012\012' | \ sed -e 's|\(.\)$$|\1/|' -e 's|^\./||' -e 's|$$|*.el|'`; \ els=`echo $$elpat $(DONTCOMPILE) $(COMPILE_FIRST) | \ tr ' ' '\012\012' | sort | uniq -u`; \ for el in $(COMPILE_FIRST) $$els; do \ echo Compiling $$el; \ EMACSLOADPATH=$(lisp) $(emacs) -f batch-byte-compile $$el; \ done # Backup compiled Lisp files in elc.tar.gz. If that file already # exists, make a backup of it. backup-compiled-files: -mv $(lisp)/elc.tar.gz $(lisp)/elc.tar.gz~ -tar czf $(lisp)/elc.tar.gz $(lisp)/*.elc $(lisp)/*/*.elc # Compile Lisp files, but save old compiled files first. compile: backup-compiled-files compile-files # Recompile all Lisp files which are newer than their .elc files. # Note that this doesn't create .elc files. It only recompiles if an # .elc is present. recompile: doit $(emacs) -f batch-byte-recompile-directory $(lisp) # Prepare a bootstrap in the lisp subdirectory. Build loaddefs.el, # because it's not sure it's up-to-date, and if it's not, that might # lead to errors during the bootstrap because something fails to # autoload as expected. Remove compiled Lisp files so that # bootstrap-emacs will be built from sources only. bootstrap-clean: if test -f $(EMACS); then $(MAKE) $(MFLAGS) autoloads; fi -rm -f $(lisp)/*.elc $(lisp)/*/*.elc # Generate/update files for the bootstrap process. bootstrap: autoloads compile-files custom-deps distclean: -rm -f $(lisp)/Makefile # Makefile ends here.