Mercurial > emacs
view etc/COOKIES @ 107984:bef5d1738c0b
Make variable forwarding explicit rather the using special values.
Basically, this makes the structure of buffer-local values and object
forwarding explicit in the type of Lisp_Symbols rather than use
special Lisp_Objects for that. This tends to lead to slightly more
verbose code, but is more C-like, simpler, and makes it easier to make
sure we handled all cases, among other things by letting the compiler
help us check it.
* lisp.h (enum Lisp_Misc_Type, union Lisp_Misc):
Removing forwarding objects.
(enum Lisp_Fwd_Type, enum symbol_redirect, union Lisp_Fwd): New types.
(struct Lisp_Symbol): Make the various forms of variable-forwarding
explicit rather than hiding them inside Lisp_Object "values".
(XFWDTYPE): New macro.
(XINTFWD, XBOOLFWD, XOBJFWD, XKBOARD_OBJFWD): Redefine.
(XBUFFER_LOCAL_VALUE): Remove.
(SYMBOL_VAL, SYMBOL_ALIAS, SYMBOL_BLV, SYMBOL_FWD, SET_SYMBOL_VAL)
(SET_SYMBOL_ALIAS, SET_SYMBOL_BLV, SET_SYMBOL_FWD): New macros.
(SYMBOL_VALUE, SET_SYMBOL_VALUE): Remove.
(struct Lisp_Intfwd, struct Lisp_Boolfwd, struct Lisp_Objfwd)
(struct Lisp_Buffer_Objfwd, struct Lisp_Kboard_Objfwd):
Remove the Lisp_Misc_* header.
(struct Lisp_Buffer_Local_Value): Redefine.
(BLV_FOUND, SET_BLV_FOUND, BLV_VALUE, SET_BLV_VALUE): New macros.
(struct Lisp_Misc_Any): Add filler to get the right size.
(struct Lisp_Free): Use struct Lisp_Misc_Any rather than struct
Lisp_Intfwd.
(DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL, DEFVAR_INT)
(DEFVAR_KBOARD): Allocate a forwarding object.
* data.c (do_blv_forwarding, store_blv_forwarding): New macros.
(let_shadows_global_binding_p): New function.
(union Lisp_Val_Fwd): New type.
(make_blv): New function.
(swap_in_symval_forwarding, indirect_variable, do_symval_forwarding)
(store_symval_forwarding, swap_in_global_binding, Fboundp)
(swap_in_symval_forwarding, find_symbol_value, Fset)
(let_shadows_buffer_binding_p, set_internal, default_value)
(Fset_default, Fmake_variable_buffer_local, Fmake_local_variable)
(Fkill_local_variable, Fmake_variable_frame_local)
(Flocal_variable_p, Flocal_variable_if_set_p)
(Fvariable_binding_locus):
* xdisp.c (select_frame_for_redisplay):
* lread.c (Fintern, Funintern, init_obarray, defvar_int)
(defvar_bool, defvar_lisp_nopro, defvar_lisp, defvar_kboard):
* frame.c (store_frame_param):
* eval.c (Fdefvaralias, Fuser_variable_p, specbind, unbind_to):
* bytecode.c (Fbyte_code) <varref, varset>: Adapt to the new symbol
value structure.
* buffer.c (PER_BUFFER_SYMBOL): Move from buffer.h.
(clone_per_buffer_values): Only adjust markers into the current buffer.
(reset_buffer_local_variables): PER_BUFFER_IDX is never -2.
(Fbuffer_local_value, set_buffer_internal_1)
(swap_out_buffer_local_variables):
Adapt to the new symbol value structure.
(DEFVAR_PER_BUFFER): Allocate a Lisp_Buffer_Objfwd object.
(defvar_per_buffer): Take a new arg for the fwd object.
(buffer_lisp_local_variables): Return a proper alist (different fix
for bug#4138).
* alloc.c (Fmake_symbol): Use SET_SYMBOL_VAL.
(Fgarbage_collect): Don't handle buffer_defaults specially.
(mark_object): Handle new symbol value structure rather than the old
special Lisp_Misc_* objects.
(gc_sweep) <symbols>: Free also the buffer-local-value objects.
* term.c (set_tty_color_mode):
* bidi.c (bidi_initialize): Don't access the ->value field directly.
* buffer.h (PER_BUFFER_VAR_OFFSET): Don't bother with
a buffer_local_flags.
* print.c (print_object): Get rid of impossible forwarding objects.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Mon, 19 Apr 2010 21:50:52 -0400 |
parents | 0ebcdaee8a4e |
children |
line wrap: on
line source
[Someone sent this in from California, and we decided to extend our campaign against information hoarding to recipes as well as software. (Recipes are the closest thing, not involving computers, to software.) The story appears to be a myth, according to the Chicago Tribune, which says that Mrs Fields Cookies hoards the information completely. Therefore, this recipe can be thought of as a compatible replacement. We have reports that the cookies it makes are pretty good.] Someone at PG&E called the Mrs. Fields Cookie office and requested the recipe for her cookies. They asked her for her charge card number, and she gave it to them thinking the cost would be $15 to $25. It turned out to be $200! Therefore, this person is giving the recipe to anyone and everyone she knows (and doesn't know) so that someone can get use of her $200. Anyway, just keep passing it on. Cream together: 2 cups butter 2 cups sugar 2 cups brown sugar Add: 4 eggs 2 tsp. vanilla Mix together in separate bowl: 4 cups flour 5 cups oatmeal (put small amounts of oatmeal in blender until it turns to powder. Measure out 5 cups of oatmeal and only "powderize" that, NOT 5 cups "powderized" oatmeal) 1 tsp salt 2 tsp baking powder 2 tsp baking soda Mix: All of the above Add: 24 oz. bag of chocolate chips and 1 finely grated 8 oz Hershey bar (plain) Add: 3 cups chopped nuts (any kind) Bake on greased cookie sheet (make golf ball sized balls) and bake about two inches apart. Bake at 350 degrees for 8 - 10 minutes. DO NOT OVERBAKE. Makes 112. From: ucdavis!lll-lcc!hplabs!parcvax!bane@ucbvax.berkeley.edu (John R. Bane) Subject: Re: free cookie foundation? Hi! I "stole" your very expensive cookie recipe off the net. If you want to send me your SnailMail address, I'll be glad to send you a dollar (I would like to suggest this to the net, but I think there is some netiquette rule against asking for money - or is that only money for oneself?) to help defray the cost (it's not much, but if EVERYone who took the recipe sent you a dollar, it would help). Here also is another cookie recipe which I'm very fond of. Makes 6-8 dozen Bake at 375 degrees for ~10 min. Cream together: 1 cup shortening (I use Weight Watcher's Reduced Calorie Margarine!) 1/4 cup peanut butter (I recommend the non-sugared kind) 1/2 cup sugar 1/2 cup brown sugar 2 eggs 1 teaspoon vanilla Add: 1/2 cup flour 1 teaspoon soda 1/2 teaspoon salt 2 cups rolled oats (I use the 5-min variety) 1-2 cups chocolate chips (I use 2 cups semi-sweet - ummmm!) 1 cup nuts (I use pecan pieces - don't get them crushed, or the extra oil will make greasy cookies) 1 cup shredded or flaked coconut (The nuts were listed as optional and I added the coconut myself, but I really love them there! You could also add things like m&m's, or raisins (I don't care for raisins in cookies, but you might). I've always wanted to try banana chips.) Mix well. Drop by teaspoonfuls on greased cookie sheet (I use pam). Bake at 375 degrees for approx. 10 min. My aunt found this recipe in an Amish book called something like "Eating Well When The Whole World Is Starving," and although I thought a cookie recipe was a bit odd for a book like that, they are about the healthiest a cookie is ever likely to get. They are also very easy to make (no blending, sifting, rolling, etc.) and extremely delicious. I get rave reviews and recipe requests whenever I make them. - rene Chocolate Chip Cookies - Glamorous, crunchy, rich with chocolate bits & nuts. Also known as "Toll House" Cookies ... from Kenneth and Ruth Wakefield's charming New England Toll House on the outskirts of Whitman, Massachusetts. These cookies were first introduced to American homemakers in 1939 through our series of radio talks on "Famous Foods From Famous Eating Places." Mix Thoroughly : 2/3 cup soft shortening ( part butter ) 1/2 cup granulated sugar 1/2 cup brown sugar ( packed ) 1 egg 1 tsp vanilla Sift together and stir in : 1-1/2 cups sifted flour (*) 1/2 tsp soda 1/2 tsp salt Stir in : 1/2 cup cut-up nuts 6 oz package of semi-sweet chocolate pieces ( about 1-1/4 cups ) (*) for a softer, more rounded cookie, use 1-3/4 cups sifted flour. Drop rounded teaspoonfuls about 2" apart on ungreased baking sheet. Bake until delicately browned ... cookies should still be soft. Cool slightly before you remove them from the baking sheet. Temperature: 375 F. ( modern oven ) Time: bake 8 - 10 minutes Amount: 4 - 5 dozen 2" cookies ===== Personal comments : I find it tastes better with a mixture of shortening and butter, as they say. You don't need << all >> of that sugar, and it can be whatever color you want. The nuts are optional. Feel free to play with the recipe. I put oatmeal in it, reducing flour accordingly, and sometimes cinnamon. I also find it useful to grease the cookie sheets. I think I'm going to go bake some now ... -- richard