1. 26 Feb, 2011 2 commits
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/cconv.el (cconv-closure-convert-rec): Fix last change for · 39605a34
      Stefan Monnier authored
      λ-lift candidates that end up not λ-lifted.
    • Stefan Monnier's avatar
      Compute freevars in cconv-analyse. · a9de04fa
      Stefan Monnier authored
      * lisp/emacs-lisp/cconv.el: Compute freevars in cconv-analyse.
      (cconv-mutated, cconv-captured): Remove.
      (cconv-captured+mutated, cconv-lambda-candidates): Don't give them
      a global value.
      (cconv-freevars-alist): New var.
      (cconv-freevars): Remove.
      (cconv--lookup-let): Remove.
      (cconv-closure-convert-function): Extract from cconv-closure-convert-rec.
      (cconv-closure-convert-rec): Adjust to above changes.
      (fboundp): New function.
      (cconv-analyse-function, form): Rewrite.
      * lisp/emacs-lisp/bytecomp.el (byte-compile-initial-macro-environment):
      Handle declare-function here.
      (byte-compile-obsolete): Remove.
      (byte-compile-arglist-warn): Check late defsubst here.
      (byte-compile-file-form): Simplify.
      (byte-compile-file-form-defsubst): Remove.
      (byte-compile-macroexpand-declare-function): Rename from
      byte-compile-declare-function, turn it into a macro-expander.
      (byte-compile-normal-call): Check obsolescence.
      (byte-compile-quote-form): Remove.
      (byte-compile-defmacro): Revert to trunk's definition which seems to
      work just as well and handles `declare'.
      * lisp/emacs-lisp/byte-run.el (make-obsolete): Don't modify byte-compile.
      * lisp/Makefile.in (BIG_STACK_DEPTH): Increase to 1200.
      (compile-onefile): Pass $(BIG_STACK_OPTS) before "-l bytecomp".
      * lisp/emacs-lisp/macroexp.el: Use lexbind.
      (macroexpand-all-1): Check macro obsolescence.
      * lisp/vc/diff-mode.el: Use lexbind.
      * lisp/follow.el (follow-calc-win-end): Simplify.
  2. 25 Feb, 2011 1 commit
    • Stefan Monnier's avatar
      Get rid of funvec. · 876c194c
      Stefan Monnier authored
      * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode): Handle new form of
      (byte-compile-close-variables, displaying-byte-compile-warnings):
      Add edebug spec.
      (byte-compile-toplevel-file-form): New fun, split out of
      (byte-compile-from-buffer): Use it to avoid applying cconv
      multiple times.
      (byte-compile): Only strip `function' if it's present.
      (byte-compile-lambda): Add `reserved-csts' argument.
      Use new lexenv arg of byte-compile-top-level.
      (byte-compile-reserved-constants): New var.
      (byte-compile-constants-vector): Obey it.
      (byte-compile-constants-vector): Handle new `byte-constant' form.
      (byte-compile-top-level): Add args `lexenv' and `reserved-csts'.
      (byte-compile-form): Don't check callargs here.
      (byte-compile-normal-call): Do it here instead.
      (byte-compile-resolve-unknown-constant): Remove, unused.
      (byte-compile-make-closure): Use `make-byte-code' rather than `curry',
      putting the environment into the "constant" pool.
      (byte-compile-get-closed-var): Use special byte-constant.
      * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Handle new
      intermediate special form `internal-make-vector'.
      (byte-optimize-lapcode): Handle new form of `byte-constant'.
      * lisp/help-fns.el (describe-function-1): Don't handle funvecs.
      * lisp/emacs-lisp/macroexp.el (macroexpand-all-1): Only convert quote to
      function if the content is a lambda expression, not if it's a closure.
      * emacs-lisp/eieio-come.el: Remove.
      * lisp/emacs-lisp/eieio.el: Don't require eieio-comp.
      (defmethod): Do a bit more work to find the body and wrap it into
      a function before passing it to eieio-defmethod.
      (eieio-defmethod): New arg `code' for it.
      * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Don't hide things in
      debugger backtrace.
      * lisp/emacs-lisp/cl-extra.el (cl-macroexpand-all): Use backquotes, and be
      more careful when quoting a function value.
      * lisp/emacs-lisp/cconv.el (cconv-freevars): Accept defvar/defconst.
      (cconv-closure-convert-rec): Catch stray `internal-make-closure'.
      * lisp/Makefile.in (COMPILE_FIRST): Compile pcase and cconv early.
      * src/eval.c (Qcurry): Remove.
      (funcall_funvec): Remove.
      (funcall_lambda): Move new byte-code handling to reduce impact.
      Treat all args as lexical in the case of lexbind.
      (Fcurry): Remove.
      * src/data.c (Qfunction_vector): Remove.
      (Ffunvecp): Remove.
      * src/lread.c (read1): Revert to calling make_byte_code here.
      (read_vector): Don't call make_byte_code any more.
      * src/lisp.h (enum pvec_type): Rename back to PVEC_COMPILED.
      (XSETCOMPILED): Rename back from XSETFUNVEC.
      (FUNVEC_SIZE): Remove.
      (COMPILEDP): Rename back from FUNVECP.
      * src/fns.c (Felt): Remove unexplained FUNVEC check.
      * src/doc.c (Fdocumentation): Don't handle funvec.
      * src/alloc.c (make_funvec, Ffunvec): Remove.
      * doc/lispref/vol2.texi (Top):
      * doc/lispref/vol1.texi (Top):
      * doc/lispref/objects.texi (Programming Types, Funvec Type, Type Predicates):
      * doc/lispref/functions.texi (Functions, What Is a Function, FunctionCurrying):
      * doc/lispref/elisp.texi (Top): Remove mentions of funvec and curry.
  3. 21 Feb, 2011 12 commits
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/cconv.el (cconv-closure-convert-rec): Let the byte · cb9336bd
      Stefan Monnier authored
      compiler choose the representation of closures.
      (cconv--env-var): Remove.
      * lisp/emacs-lisp/bytecomp.el (byte-compile--env-var): New var.
      (byte-compile-make-closure, byte-compile-get-closed-var):
      New functions.
      * lisp/cedet/semantic/wisent/comp.el (wisent-byte-compile-grammar):
      Macroexpand before passing to byte-compile-form.
    • Stefan Monnier's avatar
      Merge from trunk · f619ad4c
      Stefan Monnier authored
    • Stefan Monnier's avatar
    • Christoph Scholtes's avatar
      Add stdint.h for MS-Windows. · 9f8370e6
      Christoph Scholtes authored
       nt/inc/stdint.h: New file, to support compilation with tool chains
       that do not have stdint.h (e.g. MSVC).
       lib/makefile.w32-in: ($(BLD)/md5.$(O)): Added dependency on
    • Stefan Monnier's avatar
      Use offsets relative to top rather than bottom for stack refs · 3e21b6a7
      Stefan Monnier authored
      * lisp/emacs-lisp/byte-opt.el (byte-compile-side-effect-and-error-free-ops):
      Remove interactive-p.
      (byte-optimize-lapcode): Update optimizations now that stack-refs are
      relative to the top rather than to the bottom.
      * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode):
      Turn stack-ref-0 into dup.
      (byte-compile-form): Don't indirect-function since it can signal
      (byte-compile-stack-ref, byte-compile-stack-set): Adjust to stack-refs
      being relative to top rather than to bottom in the byte-code.
      (with-output-to-temp-buffer): Remove.
      (byte-compile-with-output-to-temp-buffer): Remove.
      * lisp/emacs-lisp/cconv.el: Use lexical-binding.
      (cconv--lookup-let): Rename from cconv-lookup-let.
      (cconv-closure-convert-rec): Fix handling of captured+mutated
      arguments in defun/defmacro.
      * lisp/emacs-lisp/eieio-comp.el (eieio-byte-compile-file-form-defmethod):
      Rename from byte-compile-file-form-defmethod.
      Don't byte-compile-lambda.
      (eieio-byte-compile-defmethod-param-convert): Rename from
      * lisp/emacs-lisp/eieio.el (eieio-defgeneric-form-primary-only-one):
      Call byte-compile rather than byte-compile-lambda.
      * src/alloc.c (Fgarbage_collect): Don't mark the byte-stack redundantly.
      * src/bytecode.c (exec_byte_code): Change stack_ref and stack_set to use
      offsets relative to top rather than to bottom.
      * lisp/subr.el (with-output-to-temp-buffer): New macro.
      * lisp/simple.el (count-words-region): Don't use interactive-p.
    • Eli Zaretskii's avatar
      Adapt MS-Windows build to import of filemode.c from gnulib. · 25c51af3
      Eli Zaretskii authored
       nt/inc/sys/stat.h (S_ISUID, S_ISGID, S_ISVTX, S_IRGRP, S_IROTH)
       (lstat): Define to stat.
       lib/makefile.w32-in ($(BLD)/filemode.$(O)): Move from
       src/makefile.w32-in and adapt.  Depend on stamp_BLD.
       (GNULIBOBJS): Add $(BLD)/filemode.$(O).
       src/makefile.w32-in ($(BLD)/filemode.$(O)): Move recipe to
       ($(BLD)/dired.$(O)): Depend on $(EMACS_ROOT)/lib/filemode.h.
       (GLOBAL_SOURCES): Remove filemode.c.
       (OBJ1): Remove $(BLD)/filemode.$(O).
       lib-src/makefile.w32-in ($(BLD)/ctags.$(O), $(BLD)/emacsclient.$(O))
       ($(BLD)/etags.$(O), $(BLD)/movemail.$(O), $(BLD)/ntlib.$(O)):
       Depend on $(EMACS_ROOT)/nt/inc/sys/stat.h.
    • Michael Albinus's avatar
      * net/tramp.el (tramp-rfn-eshadow-setup-minibuffer): Do not use · c6309045
      Michael Albinus authored
      `field' property of `rfn-eshadow-overlay'.
    • Ben Key's avatar
    • Paul Eggert's avatar
      Import filemode module from gnulib. · 5c185672
      Paul Eggert authored
    • Lars Ingebrigtsen's avatar
      Merge changes made in Gnus trunk. · 06b840e0
      Lars Ingebrigtsen authored
      gnus.texi (Window Layout): Document layout names.
      nntp.el (nntp-finish-retrieve-group-infos): Add a kludge to use the given method as in the group name if we're using an extended method.
       (nntp-finish-retrieve-group-infos): Wait for the end of the LIST ACTIVE command, if we're using that, instead of waiting for the beginning.
      gnus-start.el (gnus-get-unread-articles): Extend the methods so that we're sure to get unique server names, and we don't output two async commands in the same buffer.  This fixes an NNTP hang for some users.
      netrc.el (netrc-parse): Comment fix.
      gnus-sum.el (gnus-summary-next-article): Add a kludge to reselect the summary buffer before reading going to the next buffer.  This avoids putting the point in the group buffer if you `C-g' the command.
      auth-source.el (auth-source-netrc-parse): Add an in-memory netrc cache (for now) to make ~/.authinfo.gpg files usable.
      nnfolder.el (copyright-update): Define for the compiler.
      auth-source.el (auth-source-search): Fix unbound variable.
    • Chong Yidong's avatar
      Merge some code from hexrgb.el into color.el. · 6d713256
      Chong Yidong authored
      * lisp/color.el (color-name-to-rgb): Rename from color-rgb->normalize.
      Autoload.  Add optional arg FRAME, and pass it to color-values.
      (color-complement): Caller changed.  Doc fix.
      (color-gradient): Rewrite for better clarity and efficiency.
      (color-rgb-to-hex): Rename from color-rgb->hex.
      (color-rgb-to-hsv): Rename from color-rgb->hsv.  Force hue and
      saturation to zero if the value is too small.
      (color-rgb-to-hsl): Rename from color-rgb->hsl.
      (color-srgb-to-xyz): Rename from color-srgb->xyz.  Doc fix.
      (color-xyz-to-srgb): Rename from color-xyz->srgb.  Doc fix.
      (color-xyz-to-lab): Rename from color-xyz->lab.  Doc fix.
      (color-lab-to-xyz): Rename from color-lab->xyz.  Doc fix.
      (color-lab-to-srgb): Rename from color-lab->srgb.  Doc fix.
      (color-cie-de2000): Doc fix.
      * lisp/facemenu.el (color-rgb-to-hsv): Deleted; use the version in
      lisp/color.el instead.
      (list-colors-sort-key, list-colors-print): Use
      * lisp/faces.el (color-values): Use cond for clarity.  Doc fix.
      * lisp/gnus/shr-color.el (shr-color->hexadecimal): Use renamed
      function names color-rgb-to-hex, color-name-to-rgb,
      color-srgb-to-lab, and color-lab-to-srgb.
    • Chong Yidong's avatar
  4. 20 Feb, 2011 16 commits
  5. 19 Feb, 2011 9 commits
    • Dmitry Bolshakov's avatar
      Prevent hideshow from parsing braces inside comments (Bug#8036). · a87af185
      Dmitry Bolshakov authored
      * progmodes/hideshow.el (hs-find-block-beginning)
      (hs-hide-level-recursive): Ignore comments when parsing braces.
    • Chong Yidong's avatar
      Improvements to vc-bzr conffile handling and pull/merge support. · 3ab713fd
      Chong Yidong authored
      * vc/vc-bzr.el (vc-bzr--branch-conf): Function deleted.
      (vc-bzr-branch-conf): New function, similar to vc-bzr--branch-conf
      but returning an alist.  Ignore comments in bzr conffile.
      (vc-bzr-pull, vc-bzr-merge-branch): Use vc-bzr-branch-conf.
      (vc-bzr-error-regex-alist): New var.
      (vc-bzr-merge-branch): Use it to highlight the pull/merge buffer.
      * progmodes/compile.el (compilation--flush-directory-cache):
      Handle the case where cdr of compilation--flush-directory-cache
      points to no buffer, which can occur if we previously switched to
      compilation-mode in a pregenerated buffer.
      * vc/vc-dispatcher.el (vc-do-async-command): Bind
      inhibit-read-only to t.
    • Glenn Morris's avatar
      dired-x no longer requires dired-aux. · cad7445b
      Glenn Morris authored
      * lisp/dired-x.el: Don't require dired-aux.
      (dired-do-create-files, dired-mark-read-regexp)
      (dired-do-create-files-regexp): Autoload from dired-aux.
    • Glenn Morris's avatar
      Merge dired-x's dired-find-buffer-nocreate into dired.el. · bea584fa
      Glenn Morris authored
      * lisp/dired-x.el (dired-find-buffer-nocreate): Merge into dired.el.
      * lisp/dired.el (dired-find-buffer-nocreate): Merge dired-x version.
      * doc/misc/dired-x.texi (Technical Details):
      No longer redefines dired-find-buffer-nocreate.
    • Eli Zaretskii's avatar
      Adapt and fix the MS-DOS port due to gnulib imports. · 615d868e
      Eli Zaretskii authored
       msdos/depfiles.bat: New file.
       msdos/sedlibmk.inp: New file.
       msdos/sedlibcf.inp: New file.
       msdos/sedleim.inp (RUN_EMACS): Rename from RUN-EMACS.
       (BUILT_EMACS): Rename from BUILT-EMACS.
       msdos/sed6.inp (MAKEINFO): Edit to "makeinfo".
       (ENVADD): Adjust to MAKEINFO_OPTS.
       (texinputdir): Don't edit.
       msdos/sed3v2.inp (-DVERSION): Edit out.
       (LOADLIBES): Don't edit to empty.
       msdos/sed2v2.inp: Remove workaround for the "#if ! HAVE_MKTIME ||
       BROKEN_MKTIME" stuff -- it's no longer in src/config.in.
       (HAVE__BOOL): Edit to 1.
       (VERSION, inline, restrict): Edit for DJGPP.
       (my_strftime): Edit to nstrftime.
       msdos/sed1v2.inp (NS_OBJC_OBJ): Edit to empty.
       (@true): Edit to "@rem".
       (move-if-change): Edit to "update".
       (echo): Edit to "djecho".
       (cd $(lib) && ...): Edit to "$(MAKE) -C ...".
       (LIBOBJS): Edit to empty.
       ($(libsrc)/make-docfile): Two new edits, one each for every
       invocation of make-docfile.
       (move-if-change): Fix edit.
       Remove some unused switches from $(ALL_CFLAGS), to make the GCC
       command line shorter.
       msdos/mainmake.v2 (version): Remove, no longer needed (config.in
       defines VERSION).
       (all): Add lib.
       (lib): New target and recipe.
       (lib-src): Depend on lib.
       (src): Depend on lib and lib-src.
       (clean, mostlyclean, distclean, maintainer-clean, extraclean)
       (bootstrap-clean): Recurse into lib.
       (lib, lib-src, src): Specify "all" as an explicit target.
       .bzrignore: Ignore cxxdefs.h and lib/*.in-h files.
       Add lib/deps/.
       config.bat: Configure in `lib'.
       Generate *.Po files in lib/deps.
       src/termcap.c (tputs): Don't declare baud_rate.
       src/s/msdos.h (strtold): Define to _strtold.
    • Eli Zaretskii's avatar
      Fix MS-DOS build in src/: delete gl-tmp. · 83627c03
      Eli Zaretskii authored
       msdos/sed1v2.inp: Delete gl-tmp after updating globals.h
    • Eli Zaretskii's avatar
      Finish fixing the MS-DOS build. Everything builds and works. · f601db19
      Eli Zaretskii authored
       src/termcap.c (tputs): Don't declare baud_rate.
       msdos/sedlibmk.inp (gl_LIBOBJS): Add getloadavg.o.
       msdos/sedleim.inp (RUN_EMACS): Rename from RUN-EMACS.
       (BUILT_EMACS): Rename from BUILT-EMACS.
       msdos/sed6.inp (MAKEINFO): Edit to "makeinfo".
       (ENVADD): Adjust to MAKEINFO_OPTS.
       (texinputdir): Don't edit.
       msdos/sed2v2.inp (my_strftime): Edit to nstrftime.
       msdos/sed1v2.inp (LIBOBJS): Edit to empty.
       ($(libsrc)/make-docfile): Two new edits, one each for every
       invocation of make-docfile.
       (move-if-change): Fix edit.
       Remove some unused switches from $(ALL_CFLAGS), to make the GCC
       command line shorter.
    • Glenn Morris's avatar
    • Chong Yidong's avatar
      Fix typo in auth.texi (Bug#8068). · 27ac6e79
      Chong Yidong authored