guile-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] GNU Guile branch, wip-bpt-elisp, created. release_1-9-11


From: Brian Templeton
Subject: [Guile-commits] GNU Guile branch, wip-bpt-elisp, created. release_1-9-11-282-gc2eb588
Date: Wed, 25 Aug 2010 22:24:50 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Guile".

http://git.savannah.gnu.org/cgit/guile.git/commit/?id=c2eb58825c1176ee9dcf200943eb8cb413115c44

The branch, wip-bpt-elisp has been created
        at  c2eb58825c1176ee9dcf200943eb8cb413115c44 (commit)

- Log -----------------------------------------------------------------
commit c2eb58825c1176ee9dcf200943eb8cb413115c44
Author: Brian Templeton <address@hidden>
Date:   Mon Aug 16 03:20:55 2010 -0400

    lexical function binding for elisp
    
    * module/language/elisp/compile-tree-il.scm (access-variable)
      (reference-variable, set-variable!): Handle globally-bound non-special
      variables.
    
      (bind-lexically?): Create lexical bindings for flet and flet*.
    
    * module/language/elisp/runtime.scm (reference-variable, set-variable!):
      Handle globally-bound non-special variables.
    
      (built-in-func): Set the variable directly instead of storing the
      function in a fluid.
    
    * module/language/elisp/runtime/subrs.scm (funcall): Call apply
      directly.
    
    * test-suite/tests/elisp-compiler.test ("Function Definitions")["flet
      and flet*"]:

commit 761e60535bc6ae4fdce70499b415bfc5bd1d1f91
Author: Brian Templeton <address@hidden>
Date:   Sat Aug 14 19:28:56 2010 -0400

    use unbound fluids instead of `void' sentinel value
    
    * module/language/elisp/compile-tree-il.scm (reference-with-check)
      (compile-without-void-checks, want-void-check?): Remove.
    
      (compile-function, compile-pair): Use `reference-variable' instead of
      `reference-with-check'.
    
      (compile-defvar): Only set `sym' if `sym' is not bound to a bound
      fluid, rather than requiring that its value be `void'.
    
      (process-options!): Remove `#:disable-void-check' option handling.
    
    * module/language/elisp/runtime.scm (void)
      (reference-variable-with-check): Remove.
    
      (ensure-fluid!): Use an undefined fluid as the initial value for
      global variables.
    
    * module/language/elisp/runtime/function-slot.scm (without-void-checks):
      Don't import or re-export.
    
    * module/language/elisp/runtime/macros.scm (prog1, cond, or, dolist):
      Don't use `without-void-checks'.
    
    * module/language/elisp/runtime/subrs.scm (symbol-value)
      (symbol-function, apply): Use `reference-variable' instead of
      `reference-variable-with-check'.
    
      (makunbound, fmakunbound, boundp, fboundp): Unset the variable's fluid
      (or the variable itself, if it isn't bound to a fluid).
    
    * test-suite/tests/elisp-compiler.test ("Variable
      Setting/Referencing")["disabled void check (all)", "disabled void
      check (symbol list)", "without-void-checks"]: Remove.

commit 825bc696eddb615836dbb7727d29eb519f654681
Author: Brian Templeton <address@hidden>
Date:   Sat Aug 14 19:00:20 2010 -0400

    variable-unset!
    
    * libguile/variable.c (scm_variable_unset_x): New function.
    * libguile/variable.h (scm_variable_unset_x): New prototype.

commit 7f9041c80cccce4ce2e210ae8882864527035910
Author: Brian Templeton <address@hidden>
Date:   Sat Aug 14 18:35:17 2010 -0400

    unbound fluids
    
    * libguile/fluids.c (scm_make_undefined_fluid, scm_fluid_unset_x)
      (scm_fluid_bound_p): New functions.
    
      (fluid_ref): New function; like scm_fluid_ref, but will not throw an
      error for unbound fluids.
      (scm_fluid_ref, swap_fluid): Use `fluid_ref'.
    
    * libguile/fluids.h (scm_make_undefined_fluid, scm_fluid_unset_x)
      (scm_fluid_bound_p): New prototypes.
    
    * libguile/vm-i-system.c (fluid_ref): If fluid is unbound, jump to
      `vm_error_unbound_fluid'.
    * libguile/vm-engine.c (VM_NAME)[vm_error_unbound_fluid]: New error
      message.
    
    * test-suite/tests/fluids.test ("unbound fluids")["fluid-ref of unbound
      fluid", "fluid-bound? of bound fluid", "fluid-bound? of unbound
      fluid", "unbound fluids can be set", "bound fluids can be unset"]: New
      tests.

commit 5cfb9034597d7bef5ded56156287066c7cb19f49
Author: Brian Templeton <address@hidden>
Date:   Thu Jul 22 16:33:53 2010 -0400

    function's argument can be a symbol
    
    * module/language/elisp/compile-tree-il.scm (compile-function): the form
      `(function SYMBOL)' evaluates to the functional value of SYMBOL

commit c9cd4ae8c15541a490e052bbaa89fd424802896d
Author: Brian Templeton <address@hidden>
Date:   Thu Jul 22 16:25:29 2010 -0400

    allow `(setcar nil nil)' and `(setcdr nil nil)'
    
    * module/language/elisp/runtime/subrs.scm (setcar, setcdr): Allow
      setting the car or cdr of `nil' to `nil'.

commit 1a7bb9aa941324d5d1342dbde9dbd5c6a15bbb3f
Author: Brian Templeton <address@hidden>
Date:   Thu Jul 22 15:12:50 2010 -0400

    support "#'" syntax for function expressions
    
    * module/language/elisp/lexer.scm (lex):
    * module/language/elisp/parser.scm (get-expression): Support sharpsign
      single-quote syntax as an abbreviation for `function' expressions.

commit 718acc97e6b01760d1adc5362a22909d1441a874
Author: Brian Templeton <address@hidden>
Date:   Wed Jul 14 17:47:37 2010 -0400

    autoload compile-file in (guile-user)
    
    * module/ice-9/boot-9.scm (guile-user): Autoload `compile-file'.

commit 5dc746b79e8a9bd0a915c4886b8c4867ea6687c3
Author: Brian Templeton <address@hidden>
Date:   Tue Jul 13 20:55:45 2010 -0400

    make guile-test work without configuration
    
    * test-suite/guile-test: Use "../meta/guile" as the interpreter instead
      of "../libguile/guile".
      (default-test-suite): New function, replacing the variable of the same
      name. Look for tests in the same directory as the guile-test script.
      Throw an error if not invoked as `guile-test'.
      (test-suite): The old default value of `default-test-suite' could now
      throw an error, and this already gets initialized in `main', so don't
      provide an initial value.

commit 3cb34c5c04185a4986340e6b1ece6e9a45d887f9
Author: Brian Templeton <address@hidden>
Date:   Tue Jul 13 17:15:24 2010 -0400

    add .dir-locals for elisp
    
    * module/language/elisp/.dir-locals.el: New file. Set fill-column to 72.

commit 46ab7225d52d0977d100f195869da874e969aca5
Author: Brian Templeton <address@hidden>
Date:   Sat Jul 10 02:47:16 2010 -0400

    setq can take any number of arguments
    
    * module/language/elisp/compile-tree-il.scm (compile-setq): Return nil
      if called with no arguments, and set the last variable to nil if its
      value is omitted.

commit 3b93c9b88119217bc5bc3fd44f7091249478ec6f
Author: Brian Templeton <address@hidden>
Date:   Fri Jul 9 20:33:32 2010 -0400

    use correct names for quasiquotation operators
    
    Use #{`}#, #{,}# and #{,@}# as the quasiquote, unquote and
    unquote-splicing operators, respectively. Previously they were named
    escaping.
    
    * module/language/elisp/compile-tree-il.scm (unquote?): Change "\," to
      "#{,}#".
      (unquote-splicing): Change "\,@" to "#{,@}#".
      (#{compile-`}#): Rename from #{compile-\`}#.
    * module/language/elisp/runtime/function-slot.scm: Import #{compile-`}#
      instead of #{compile-\`}#, and re-export as #{`}# instead of as
      #{\`}#.
    * module/language/elisp/parser.scm (quotation-symbols):
    * test-suite/tests/elisp-compiler.test ("Eval", "Quotation"):
    * test-suite/tests/elisp-reader.test ("Parser"): Change "\`", "\,", and
      "\,@" to "#{`}#", "#{,}#" and "#{,@}#", respectively.

commit 7d6816f0c7195ccc2ce4318b7f55cf3feda1e871
Author: Brian Templeton <address@hidden>
Date:   Fri Jul 9 19:52:48 2010 -0400

    store special operators in the function slot
    
    If the function slot of a symbol contains a pair with `special-operator'
    in the car and a procedure in the cdr, the procedure is called to
    compile the form to Tree-IL. This is similar to other Emacs Lisp
    implementations, in which special operators are subrs.
    
    * module/language/elisp/compile-tree-il.scm: Restructured to store
      special operator definitions in the function slot. Import `(language
      elisp runtime)' for `defspecial'. Export special operators so that
      `(language elisp runtime function-slot)' can re-export them.
    
      (backquote?): Removed; the backquote symbol is defined as a special
      operator, so it's no longer used in `compile-pair'.
    
      (is-macro?, get-macro): Replaced by `find-operator'.
      (find-operator): New procedure.
    
      (compile-progn, compile-if, compile-defconst, compile-defvar,
      compile-setq, compile-let, compile-lexical-let, compile-flet,
      compile-let*, compile-lexical-let*, compile-flet*,
      compile-without-void-checks, compile-with-always-lexical,
      compile-guile-ref, compile-guile-primitive, compile-while,
      compile-function, compile-defmacro, compile-defun, #{compile-`}#,
      compile-quote): New special operators with definitions taken from the
      pmatch form in `compile-pair'. There is no special operator `lambda';
      it is now a macro, as in other Elisp implementations.
    
      (compile-pair): Instead of directly compiling special forms, check for
      a special operator object in the function slot.
    
    * module/language/elisp/runtime.scm: Export `defspecial'.
      (make-id): New function.
      (built-in-macro): Prefix macros with `macro-'.
      (defspecial): New syntax.
    
    * module/language/elisp/runtime/function-slot.scm: Import and re-export
      special operators. Rename imported special operators and macros to
      remove prefixes. Re-export new macro `lambda'.
    
    * module/language/elisp/runtime/macros.scm (macro-lambda): New Elisp
      macro.

commit 1d7a1b8e0fb5e7493e98390e83034dadd1293990
Author: Brian Templeton <address@hidden>
Date:   Thu Jul 1 22:38:23 2010 -0400

    update elisp reader tests to handle EOF tokens
    
    * test-suite/tests/elisp-reader.test (lex-all, "end-of-input",
      "lexer/1"): Check for an EOF token instead of the symbol `*eoi*'.

commit ff16217c10adf633bbe8fcc775c621ca3e331911
Author: Brian Templeton <address@hidden>
Date:   Wed Jun 30 16:54:45 2010 -0400

    make user-defined macros available at runtime
    
    * module/language/elisp/compile-tree-il.scm (ensuring-globals): New
      procedure.
      (define-macro!): Remove.
      (compile-pair) <defmacro>: Make macro available at runtime, not only
      during compilation.
      (compile-tree-il): Use `ensuring-globals'.

commit faf160ff1a6fdccce8aa6d9007dc4d7903e3ee74
Author: Brian Templeton <address@hidden>
Date:   Wed Jun 30 16:48:19 2010 -0400

    allow fluid macro bindings
    
    * module/language/elisp/compile-tree-il.scm (define-macro!, get-macro):
      Allow fluid macro bindings.

commit e322a02bc1c829ba29be8f3029c2d031f97da6d3
Author: Brian Templeton <address@hidden>
Date:   Tue Jun 29 21:18:05 2010 -0400

    new `load' subr
    
    * module/language/elisp/runtime/subrs.scm: Define new subr `load'.
    * module/language/elisp/runtime/function-slot.scm: Re-export `load'.

commit f12492fa98744a468ca8f2619d9dce4d4a86b837
Author: Brian Templeton <address@hidden>
Date:   Tue Jun 29 21:13:18 2010 -0400

    Ignore #:warnings compiler option
    
    * module/language/elisp/compile-tree-il.scm (process-options!): Ignore
      #:warnings compiler option.

commit c8ed3e7cef6b825c63c9f1b963241b8b1d668c8c
Author: Brian Templeton <address@hidden>
Date:   Thu Jun 24 23:03:08 2010 -0400

    handle EOF correctly in parser and lexer
    
    * module/language/elisp/lexer.scm (lex, get-lexer/1): Return a valid
      token at EOF.
    * module/language/elisp/parser.scm (get-expression): Raise an error if
      EOF is reached.
      (read-elisp): If at EOF, return the EOF object instead of attempting
      to read an expression.

commit 258914f320f8adaeef68a853951c72087ab67d3e
Author: Brian Templeton <address@hidden>
Date:   Thu Jun 24 18:14:41 2010 -0400

    add new elisp files to module/Makefile.am

commit 3e74b2cc637ffdc12a9b407a2eb4f0366db049cc
Author: Brian Templeton <address@hidden>
Date:   Wed Jun 23 19:40:03 2010 -0400

    make `pass-if-equal' literal in `compile-test'
    
    * test-suite/tests/elisp-compiler.test (compile-test): Add
      `pass-if-equal' to the list of literal identifiers

commit c55a2ddc1be02f7948b8c96b30439a411ec0bc4f
Author: Brian Templeton <address@hidden>
Date:   Wed Jun 23 19:31:33 2010 -0400

    store macro definitions in the function slot
    
    Guile Emacs Lisp previously kept macros in a separate macro slot; now
    macros are stored as macro objects in the function slot for
    compatibility with other implementations.
    
    * module/language/elisp/compile-tree-il.scm (macro-slot): Remove.
      (is-macro?): Check that the argument is a symbol. Now-unnecessary
      check removed in `compile-tree-il'.
      (macro?, define-macro!, get-macro): Store macro definitions in the
      function slot, not in a separate macro slot.
    * module/language/elisp/runtime.scm (built-in-macro): Wrap the macro
      function in a macro object (i.e., cons the symbol `macro' onto it).
    * module/language/elisp/runtime/function-slot.scm: Move contents to
      "subrs.scm". Re-export function and macro definitions instead of
      defining functions directly in this module.
    * module/language/elisp/runtime/macro-slot.scm: Move contents to
      "macros.scm" and remove.
    * module/language/elisp/runtime/macros.scm: New file containing macro
      definitions from "macro-slot.scm".
    * module/language/elisp/runtime/subrs.scm: New file containing function
      definitions from "function-slot.scm".

commit 88698140c06038e37b5b2cb9a9d64ca6a5ab93d7
Author: Brian Templeton <address@hidden>
Date:   Thu Jun 17 20:25:42 2010 -0400

    use existing bindings record for defmacro
    
    * module/language/elisp/compile-tree-il.scm (compile-pair): Use existing
      bindings record during macro definition.

commit e609a7339906e3f88421e36d18e20332d0323fa0
Author: Brian Templeton <address@hidden>
Date:   Wed Jun 16 17:18:30 2010 -0400

    use tree-il's support for optional arguments
    
    * module/language/elisp/compile-tree-il.scm (compile-lambda): Use
      Tree-IL's support for optional arguments.
      (process-optionals, process-rest): Remove.

commit ae20bb4eee85c31e59d3cce291bc611431c80c38
Author: Brian Templeton <address@hidden>
Date:   Mon Jun 7 16:38:23 2010 -0400

    reindent
    
    * module/language/elisp/bindings.scm:
    * module/language/elisp/compile-tree-il.scm:
    * module/language/elisp/lexer.scm:
    * module/language/elisp/parser.scm:
    * module/language/elisp/runtime.scm:
    * module/language/elisp/runtime/function-slot.scm:
    * module/language/elisp/runtime/macro-slot.scm:
    * module/language/elisp/spec.scm: Reindent.

commit 27b9476a8da7c1ef04c1ef5df1bc7b51b15717df
Author: Brian Templeton <address@hidden>
Date:   Mon Jun 7 16:38:00 2010 -0400

    reformat comments
    
    * module/language/elisp/bindings.scm:
    * module/language/elisp/compile-tree-il.scm:
    * module/language/elisp/lexer.scm:
    * module/language/elisp/parser.scm:
    * module/language/elisp/runtime.scm:
    * module/language/elisp/runtime/function-slot.scm:
    * module/language/elisp/runtime/macro-slot.scm:
    * module/language/elisp/runtime/value-slot.scm: Reformat comments.

commit 372b11fc7328903e21b672791d2887808765e7d1
Author: Brian Templeton <address@hidden>
Date:   Mon Jun 7 16:37:24 2010 -0400

    whitespace changes
    
    * module/language/elisp/bindings.scm:
    * module/language/elisp/compile-tree-il.scm:
    * module/language/elisp/lexer.scm:
    * module/language/elisp/parser.scm:
    * module/language/elisp/runtime.scm:
    * module/language/elisp/runtime/function-slot.scm:
    * module/language/elisp/runtime/macro-slot.scm: Ensure that all
      top-level forms and comments are separated by exactly one newline.
      Remove blank lines in most procedure bodies. Delete trailing
      whitespace.

-----------------------------------------------------------------------


hooks/post-receive
-- 
GNU Guile



reply via email to

[Prev in Thread] Current Thread [Next in Thread]