text:
This soldering iron's quality is worth more than the $15 I paid for it. Well balanced, lightweight and heats up very quickly. Replacing the tip is fast , easy and the tip remains firmly in place. This 40 watts soldering iron is a must have. I highly recommend it.
I used to burn up pots and hardware store irons. This iron is fast. I can do pickup covers and ground the back of pots simply now. Just remember to clean the tips , tin the tips for every connection and unplug between tasks. I will defiantly purchase another when this one bites it.
It's a great soldering iron for any electronics project, guitar or otherwise. I own 5 other various types and was debating why I needed another iron. I finally added it to another purchase & it's the only iron I use. Note: I do prefer the optional Flat tip over the needle tip. I repaired my Hartke amp circuit board & rewired my Les Paul. Great Iron, get the extra flat tip too!
That Solomon SR-965 soldering iron worked out great. I like the fact that it's 40 watts rather that 30 watts. I was able to get my job done quick. Thanks again. Joe Garcia
I have been building my own guitar and speaker cables. I needed a basic, no frills soldering iron. This is exactly what I was after.
I bought the soldering iron and holder about 6 months ago. I've done soldering for years and this unit is by for the best one I have used to date. Id highly recommend getting it with its stand holder
While not expensive, this iron works much better than the cheap one I used for years. Tin the tip and it will last for hours and hours of soldering.
The best yet. This is hands down the single best soldering iron I have found. I am still on the first tip after 2 guitar wiring jobs. Make sure to get solder here!
This iron was such a great buy! It warms up very quickly at just the right temperature for my guitar wiring jobs!
Better quality than the local big box hardware store for only a few pennies more. Solidly constructed and thoughtfully padded in the right places. The cord is just long enough. Reaches temp quickly. I picked up a chisel tip to increase surface area for soldering on on the backs/sides of potentiometers. It was a good move and I suggest it. The pointy tip is fine for general wiring and soldering to lugs, etc. The chisel tip just made fixing braid to the back of pots faster (less time under the heat) and now I have a tip I can modify with a slot to heat up frets. I'll probably buy another of these soldering irons for just that purpose.
To add items to your order, select the check box next to the item you want. You can edit the quantity you wish to purchase here, or in Your Order.
To add items to your saved list, select the check boxes next to the items you want. You can edit the quantity you wish to save here, or in your Saved List.


text:
Your location: Home > Fast Start Finance > Additional Links
Further external links, which might be useful in terms of Fast-start Finance. The secretariat is not responsible for the information provided by third Parties on their external web sites. (Disclaimer) The links are provided for informational purposes only.
U.S. Climate Finance: Meeting the Fast Start Commitment
Adaptation Fund AF
Climate Finance Options CFO
Climate Funds Update CFU
Climate Investment Funds CIF
Clean Technology Fund
European Climate Foundation ECF
Global Environmental Facility GEF
Organisation for Economic Co-operation and Development OECD
Development Co-operation Directorate (DCD-DAC) OECD DAC
OECD Development Database on Aid Activities: CRS online

subset: commoncrawl


text:
Inversion Table
Reverse spinal compression and strengthen your back, safely and easily.
Our newest inversion table has been updated to be more ergonomic to help you reverse the spinal compresses you experience every day, safely and more easily than before. With each use, achieve that incredible feeling, like someone is lifting you up through your vertebrae – a sensation that has created true devotees of Gaiam inversion tables in the past. This table, constructed of heavy steel, helps strengthen your back, elongating your spine and increasing circulation. Padded half-circle handlebars and cushioned ankle harnesses add comfortable, secure support. No more balancing acts. Simply walk your hands up or down to your desired position with extra gripping to allow for easier position changes. Skid-resistant rubber floor protectors also ensure stability. Assembly required. Height adjusts to fit 5'1"-6'2" with clear settings on each side. For individuals weighing up to 250 lb. Protective covers included. Taiwan.
Inversion Table Features:
- Reverses daily spinal compression
- Relieves vertebrae tension
- Strengthens your back
- Elongates the spine
- Increases circulation
- Heavy steel construction
- Padded handlebars and ankle harnesses
- Skid-resistant rubber floor protectors
- Assembly required
- Adjusts easily to most heights
- Includes protective covers
If you are pregnant or have back or eye problems or other serious medical conditions, consult your doctor before using this product.
Adjusts to fit heights of 5'1" to 6'2", with clear settings on each side. For individuals weighing up to 250 lb. 7'H. 58 lb.
Due to the size of this item, a $20 surcharge will be added to the order for standard delivery. Gift wrap not available. Allow 4-6 weeks for delivery. Can be shipped within the contiguous U.S. only. Cannot be shipped to P.O. boxes. Express delivery not available.


text:
2010 October 4
Runway Reviews: Akris, Viktor & Rolf, Costume National
FirstView View Gallery
Albert Kriemler's take on Spring originated from a visit to the Kyoto gardens—"more relaxed refinement, more simplicity and more ease." But make no mistake—she's dressed very seriously, beginning with an abundance of buttery soft calfskin that cropped up in pieces ranging from a doubleface cotton cardigan to a grass-colored short-sleeved bomber. But Kriemler's newest idea involved the use of chiffon tubing, which hung in strands and was stitched down at the hemline. In a white shirt dress with an asymmetrical hemline, another Spring 2011 marquee, it just could become an "it" item.
It began with—and doesn't it often?—a men's shirt, some version of which appeared in most looks Viktor Horsting and Rolf Snoeren presented for Spring 2011. The closest-to-literal version hit the runway by look 4. Body-con on one half and loosely draped on the other, one could interpret it as the Dutch duo's seasonal update on the style they have pioneered so seriously. The play on cuffs and collars were considerably more fun, especially when they appeared as multiples decking out an otherwise straightforward striped silk dress or blouse. A series of satin frocks with lace panels wrapping around the shoulder, waist, and arm were especially successful, but the big idea here came in the last look, a wedding dress cobbled together from at least 10 cuffs, gravity-defying silks, and plenty of hardworking backing. It seemed to poke fun at the very notion of bridal dressing, even when (especially when?) it attempts to be tempered—in this case, by menswear. But whatever Horsting and Snoeren meant to say, it was still pretty beautiful to think about.
Consider it a trend: designers looking to color, almost exclusively, to make a seasonal statement. Ennio Capasa identified four memorable hues—pumpkin, black, royal blue, and neon turquoise—and presented distinct stories focused on minimal silhouettes and for the most part, an absence of shine or embellishment. The only exception? Organza panels, which were mostly tucked away in the back and lent a bit of airiness to all that saturation. Chunky patent leather sandals and long clutches guaranteed no jarring interruptions.
Inspired by all the action happening on the banks of the Tigre river in Buenos Aires, Vanessa Seward focused on sailor style in her latest effort for Azzaro. Navy knit dresses and rompers were decked out with a sailor's rope, while the evening looks were attended to with different shades of gold, from chestnut to lamé. Another series of ruffled dresses, some decked out in a bow belt, evoked the girlishness Shirley Temple and Dorothy Gale. Seward's palette of butter yellow, aqua, chocolate, and pale sky blue were especially appealing, as was a sweet little floral print in red and navy. On the accesory front, metal mesh heels for evening were blessedly walk-able, while two multi-srand pearl and bead pieces (one tahitian, one amber) could be used as necklaces or, for the more Seward-esque fashionette, headbands.


text:
PhotoBug Widget for Mac OS X Dashboard
Hinatuan, Philippines
View amazing photos taken by WeatherBug users. Enjoy scenic views, animals, flowers and more. Photos change daily! You can even submit your own photos that may be featured in PhotoBug and in other WeatherBug products.
Installation Instructions
- To install PhotoBug, click here.
System Requirements
- Internet Connection
- Mac OS X 10.4 or newer
Weather News
Other Top Weather Headlines
Severe Storms Target Texas Today and Monday
While much of the U.S. enjoys a quiet weather pattern, northern Texas will have to keep an eye out for severe thunderstorms…More >
Boston Marathon: Average Mid-April Weather Expected
The weather will be cooperate for the 118th Boston Marathon on…More >
Magnitude 7.2 Earthquake Shakes Mexican Capital
A powerful magnitude-7.2 earthquake shook central and southern Mexico on Friday, sending panicked people into the…More >
WeatherBug Featured Content
Green Living
You too can help save our planet and put money back in your wallet. Learn how you can take the first steps to reduce your environmental impact, including driving green, easy ways you can conserve water, and energy saving tips. To learn more and discover the benefits of going green, visit WeatherBug's green living section. More >


text:
With the Personal Mobility option, you and your employees will enjoy the following features:
- Remote Office displays your business phone line even if you're calling from another location.
- Simultaneous Ring enables calls to a single phone number to ring in multiple locations.
- Personal Call Manager includes Three-Way Calling, Click to Dial, Call Logs, Voice Conferencing and Phone List.
- Voice Portal Calling allows remote access to features like Change your PIN, Personal Status Manager and Call Forwarding.
- Sequential Ring routes calls through a list of phone numbers you define.
Keep your business running during service disruptions with these two key features:
- Destination Not Reachable enables incoming calls to be automatically routed to another trunk group or to a different phone number during a destination-unreachable condition. When service is restored, calls will automatically be routed back to your primary location.
- Call Forwarding Always can be controlled from any location where your administrator can access the web. The feature unconditionally forwards all incoming calls from a trunk group to another phone number, such as an answering service, or to an alternate location. Calls will continue to be forwarded until your administrator deactivates this feature.
Customers with more than one location within the same Cox service area will be able to dynamically share trunk capacity across these locations.
In addition to providing standard trunk services, SIP Trunking can offer an option to burst the voice trunk group. Bursting enables businesses to temporarily expand their local voice channel capacity and bandwidth in a SIP trunk group to accommodate increased communication traffic.
SIP Trunking service is a dependable, fully supported connection with 24/7 monitoring provided by our state-of-the-art Network Operations Center (NOC). Plus, we back our service with our responsive and experienced customer-focused team for the care you deserve.
SIP Trunking Demo
Discover how SIP Trunking delivers savings and flexibility.


text:
From reporting our entire carbon footprint to finding ways to reduce that footprint, Apple takes a comprehensive approach to environmental responsibility. Product by product, facility by facility, we report on our progress every year. So you can see what we're doing — and what we've done — to make a difference.
Since 2009, we've measured and reported our total carbon footprint not only of our facilities but also of our products — including manufacturing, transportation, product use, and recycling. Find out how we measure this footprint and how we're working to reduce it.
Learn more
Apple's data centers are 100 percent powered by energy from renewable sources — solar, wind, hydro, and geothermal. And so are many of our corporate facilities. The ultimate goal is to power all Apple facilities entirely by renewable energy.
Learn more
Apple designs products to be as environmentally responsible and energy efficient as possible. And we create environmental reports for every new product we make. So you can see how each one performs across multiple categories.
Read the reports
Recycling Program
When our products reach the end of their useful life, we make it easy for you to send them to us for reuse or recycling in environmentally responsible ways. Learn more
Our Progress
For more than 20 years, we've been working to minimize the impact our company and our products have on the environment. Learn more


text:
Matte finish black Stainless steel ring with sport mesh pattern perforations show underneath to high polish interior. Scripture laser engraved onto ring reads I Can Do All Things Through Christ Who is My Strength (Phil. 4:13)
Item No: 329314
Gender: Mens
Material: Steel
Worried about sizes?We understand that choosing a size over the internet can be confusing. For this reason, we will happily exchange any item that does not fit properly. Not only do we not charge re-stocking fees, but we'll even cover the cost of shipping the item back to you!
View our Return Policy page
Worried about sizing? We offer free shipping on exchanges. US Orders only


text:
Diabetes HealthSense
Resources for living well
This booklet addresses the special challenges for very large people who are physically active and provides tips and ideas to become more active and healthier—no matter what your size.
Weight-Control Information Network (WIN)
American on the Move is an evidence-based nonprofit dedicated to helping you take small steps and make small lifestyle changes for a healthier way of life. This website will help you improve your health and quality of life through healthful eating and active living. Includes an online community, articles on making healthy choices, and more. En español
America on the Move (AOM)
ChooseMyPlate.gov from the USDA illustrates the five food groups that are the building blocks for a healthy diet and provides tools for diet/calorie tracking and information on weight management, physical activity, and healthy eating. Some materials available in Spanish.
U.S. Department of Agriculture (USDA)
This quit smoking program helps you re-learn your life without cigarettes. The EX Plan helps you see quitting not as one big war, but as a number of little battles you can actually win. Includes tools to chart your progress and set your quit smoking date.
This application for the iPhone and iPad provides users with instant access to diabetes nutrition facts for making healthy eating choices.
Go Meals
Lose It! is a smart phone app that helps you set goals and achieve them through tracking your daily calories, habits, and exercise.
FitNow, Inc.
These three worksheets for young women can help you figure out which types of exercise you'll enjoy most and how to get started, stay motivated, and free up time for fitness.
Center for Young Women's Health at Children's Hospital Boston
This online tracking tool lets you track what you eat to manage your diabetes and prevent the onset of complications. Explore nearly 5,000 foods and find recipes and healthy alternatives to improve your meals. En español
American Diabetes Association (ADA)
This website offers teens free nutrition, health, and fitness tools, along with support and resources that help teens achieve their health goals.
This website helps you set, track, and achieve goals to live a healthier lifestyle.
Filter Results
- Help Me Select one:
I Am A
- Person at risk for diabetes Remove
- Teen and young adult Remove
Type of Resource
- Tracking tools Remove
- Language Select one:


text:
Welcome to Southstreet.com
The official website for the South Street Headhouse District
- Eat - The District is made up of over 100 restaurants; from diners and delis to romantic settings and sidewalk cafes – you won't leave hungry after visiting the South Street Headhouse District
- Drink – From margaritas to mojitos; bourbon to beer — there is no better place to quench your thirst than in the District! Quiet restaurant bars to late-night parties we have it all!
- Shop – Drape yourself in vintage collectibles or unique designs from a wide selection of independent boutiques! With Philly's historic Fabric Row smack-in-the-middle, the District is truly the birthplace of Philly fashion! You'll never know what one-of-a-kind you'll find!
var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-37436705-1']); _gaq.push(['_trackPageview']);
(function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })();


text:
The HP PhotoSmart C7200 is an all-in-one printer with the ability to scan, copy, fax, and print making it ideal for the home office or small business. This extremely fast printer will be able to produce up to 34 pages per minute for black and white documents and 33 pages per minute for color projects. It can also create high quality photographs in several customizable sizes with resolutions up to 4800 x 1200 color dpi. The printer contains a built in 2.4 inch color LCD Display to help navigate and select options as well as edit and enhance projects. And with individual HP ink cartridges, you take control of ink usage, only replacing the color that runs out. This printer also has wireless capabilities allowing multiple users to connect share and print from anywhere in the home or office.
The HP PhotoSmart C7200 ink cartridges eject HP Thermal Inkjets making projects resistant to water and smudging. In addition, the printer recognizes and prints directly onto envelopes, cards, and a variety of photo / presentation paper. And with Direct Photo Printing users can print direct from their cameras media card, CompactFlash Type 1 and II, Memory Stick, Memory Stick Duo, Memory Stick Pro, Secure Digital, MultiMediaCard, XD-Picture Card, or USB Flash Drive. The printer also has a 50 sheet Automatic Document Feeder for unassisted scanning, copying, and faxing as well as a convenient 20 sheet photo tray to help keep productivity high.
To help lower operating costs, cheap ink cartridges are available in Remanufactured form. The best value being offered is the 8 Pack Combo of Remanufactured HP 02 Series ink cartridges containing 3 black cartridges, 1 cyan ink cartridge, 1 magenta ink cartridge, 1 yellow ink cartridge, 1 light cyan ink cartridge, and 1 light magenta ink cartridge. For individual purchase you can get the Remanufactured HP 02 black ink cartridge C8721WN, the Remanufactured HP 02 cyan ink cartridge C8771WN, the Remanufactured HP 02 magenta ink cartridge C8772WN, the Remanufactured HP 02 yellow ink cartridge C8773WN, the Remanufactured HP 02 light cyan ink cartridge C8774WN, and the Remanufactured HP 02 light magenta ink cartridge C8775WN.


text:
Holiday Red Poinsettia Napkin and Place Card Holders
Material List
- Create Your Style with Swarovski Elements™ Hot Fix Crystals, 4mm – Caribbean Mix and Light Colorado Topaz
- Silk Flower – Red Poinsettia (6)
- Felt – Red, Burgundy and Green
- Ribbon, ¾" – Gold (3 Yds.)
- Embroidery Thread and Needle
- Cardstock
- E-6000® Jewelry Glue
- Hot Fix Crystal Tool
Project Instructions
Cut a felt poinsettia out of both the red and the burgundy felt. Cut out leaves from the green felt.
Add a straight stitch using six ply embroidery thread on all petals.
Glue the layers of the flower together. Glue your leaves under the felt flower. (Make sure they show on the front side.)
Add the crystals to the flower centers using the Hot Fix tool.
Glue the felt flower to the center of the silk poinsettia.
Cut a 6" piece of ribbon. Glue to the bottom of the flower.
Cut a 5" piece of ribbon and make a loop (for the napkin) and glue the ends together. Glue the seam of this ring to the back of the flower to finish.
For the place card, simply glue a piece of metallic ribbon around the card and layer the poinsettia on top of the ribbon. Add the three crystal accents to the top corner using the Hot Fix tool.


text:
Chevy Prices & Chevy Values: Chevrolet was started by a Swiss race car driver and is now a division of General Motors. Chevy's vehicle line-up is distinctly diverse: there's the 2013 electric Chevy Volt, the Silverado 1500 Hybrid truck, the urban Chevy Sonic, and always the large-scale "truckwagon" Chevy Suburban. Is it time to build your own Chevy?
2013 Chevrolet Camaro
Available in a ZL1 trim equipped with 580 hp, the 2013 Chevrolet Camaro is a RWD pony car available in coupe and convertible trim levels.
2013 Chevrolet Corvette
The 2013 Chevrolet Corvette is a sports car available in coupe, soft-top convertible, targa, and supercar trim levels.
|Your ZIP Code is used to provide you with information specific to your location.


text:
Great classroom tables will help improve student work and classroom organization. Which school tables should you get? You should choose classroom tables based on size, shape and color. Hertz Furniture's top-notch selection of activity tables will transform your study space into an inviting learning environment where students are happy and comfortable.
What activities can be done at classroom tables?
School tables can be used for a number of important classroom activities. When you are working on an arts and crafts project, the easiest way to make sure that every student gets the right materials and has an appropriate work space is to seat them around activity tables. This arrangement provides personal work areas that are organized, while at the same time seating students close to one another, which encourages collaboration and interaction.
Academic activities are easy to facilitate and supervise when children are seated at a school table. This arrangement makes it simple for teachers to walk around and observe each student's work. With a few separate activity tables, you can seat students according to different ability levels or subjects so each individual can work on subject matter that is appropriate. This enables educators in a collaborative teaching arrangement to work with various small groups separately. Alternatively, this setup can be used to encourage students to work together and learn how to take advantage of each other's strengths.
What shape activity table should I get?
Certain activity table shapes are particularly helpful to teachers who like to work with intimate groups of students. A kidney or horseshoe activity table provides a perfect space for the teacher to sit and interact with a small number of students. With the teacher seated on one side and all students facing in that direction, it is convenient to supervise individual work or communicate with the whole group. This arrangement is ideal for math groups or reading groups. It can also help when a few students are in need of extra assistance with meeting Common Core State Standards or other learning requirements.
The classic square and round school tables have their advantages as well. A square table gives each child a clear personal space, which minimizes kicking and squishing. Round tables encourage students to work together because all students that are seated around them can see each other. While each of these shapes has its advantages, the right one will ultimately depend on your classroom layout.
In addition to having classic and convenient table shapes, we also offer a number of fun classroom tables with creative configurations. Trapezoid-, flower-, clover- and plus-shaped school tables create engaging work spaces. Whichever shape or shapes you choose, school tables also provide a great place for snack time, and even mealtimes.
What is a good color for an activity table?
Any color that will entice your students and make a classroom more inviting is a great choice. You can add some enriching color to your preschool or daycare with Educational Edge activity tables. Brightly-colored accents introduce a little touch of vibrant hues that will create a more friendly and inviting space. Educational Edge activity tables have colored edge banding and some include colored legs and ball glides as well.
How do I know what size school tables to get?
Make sure to note the heights of the school tables you are considering for your classroom. Adjustable-height tables offer the ultimate in flexibility because they can be adapted to suit students of various ages and sizes. If you work in an early-childhood center or daycare, toddler tables are essential. When little ones have appropriately-sized preschool tables, it is easier for them to learn proper posture and develop motor skills.
In addition to the classic school table model, we also have specialized classroom tables. If you want to add some desktop computers to your study space, we have a wonderful selection of computer tables that will serve your students well. For the preschool or daycare learning space we also have sand and water tables which facilitate fun skill-building activities.
Don't underestimate the potential impact of appropriate classroom furniture on the learning and overall educational experience of your students. Hertz Furniture has the activity tables you need to provide the ideal space for your students, no matter what your classroom setup is. Our classroom tables come from top school furniture manufacturers including Academia, Mahar Manufacturing, ECR4Kids, Allied Plastics and Wood Designs.
- Refined By
- $0 - $149.99
- $150 - $199.99
- $200 - $249.99
- $250 - $299.99
- $300 - $399.99
- Laminate
- Metal
- Plastic
Colors Available
- Black
- Blue
- Gray
- Green
- Purple
- Red
- Woodgrain
- Yellow
Tabletop Core Material
- Fiberboard
- Particleboard
Tabletop Surface Material
- Laminate
Tabletop Weight Capacity
- 300 lbs.
- 350 lbs.
- 400 lbs.
Green Certification
- MAS Certified LEED
Certified Green
- See All Green Products
Educational Edge Square Activity Table (48x48)
View Details »
Edu Edge Activity Table - Rectangular (60x30)
View Details »
Edu Edge Activity Table - Rectangular (36x24)
View Details »
Educational Edge Kidney Activity Table (72x48)
View Details »
Educational Edge Round Activity Table (48")
View Details »
Edu Edge Activity Table - Rectangular (48x30)
View Details »
Educational Edge Flower Activity Table (60")
View Details »
Edu Edge Activity Table - Rectangular (72x24)
View Details »
Educational Edge Clover Activity Table (48")
View Details »
Educational Edge Trapezoid Activity Table (30x60)
View Details »
Educational Edge Round Activity Table (42")
View Details »
Educational Edge Round Activity Table (36")
View Details »
Educational Edge Horseshoe Table (66x60)
View Details »
Edu Edge Activity Table - Rectangular (48x24)
View Details »
Edu Edge Activity Table - Rectangular (60x36)
View Details »
Educational Edge Trapezoid Activity Table (24x24)
View Details »
Edu Edge Activity Table - Rectangular (72x30)
View Details »
Edu Edge Activity Table - Rectangular (72x36)
View Details »
Edu Edge Activity Table - Rectangular (60x24)
View Details »
Group-Study Round Table
View Details »
All of Academia's models are designed for long-term use in the educational environment. In fact, with 25-year and Limited Lifetime Warranties you are guaranteed to enjoy the benefits of this versatile and colorful school furniture for many years to come. The huge selection of styles and materials is sure to fit any budget or preference.
Classroom work spaces can be supplied by activity tables or school desks. Activity tables are appropriate for children from preschool through elementary school. Academia school tables come in a number of sizes, styles and shapes. No matter what shape you choose, Educational Edge tables offer a great way to add a splash of color to a learning space. They will make any classroom more lively and inviting.
School desks aren't what they used to be. Although the classic four legged design with a book-box underneath the work surface is still available, Academia brings you a number of viable alternatives that are suited to the modern classroom. Their exclusive WoodStone desktops have the durability of hard plastic, yet they cost and weigh significantly less. For maximum strength and versatility, models are available with adjustable-height and U-braces for reinforcement.
Student chair desks should be considered when purchasing classroom furniture. They come in the same durable materials as school desks, but with the added convenience of attached seating. When a classroom is full of combo desks, teachers can be sure that students won't lean back in their chairs, and there are always enough chairs to match desks. Combo desks also guarantee that chair and desk heights match up.
For those who opt not to furnish a classroom with chair desks, school seating must be purchased so students have a place to sit in class. Academia offers some tough classic poly shell and hard plastic models as well as attractive new designs from the Inspiration Series. These sleek school chairs come in vibrant colors and feature 17 reinforcement ridges for a durable, flexible and supportive design.
Even your youngest learners deserve to learn in an environment with appropriately-sized school furniture. Academia activity tables and school chairs come in any height that you need, so you can have first-rate preschool furniture as well. When young learners have school chairs and activity tables that are just the right size, it is easier for them to develop proper posture and skills.
While the classroom is where students spend the bulk of their time at school, there are a number of other rooms that also require appropriate furniture. Whether they are learning how to utilize technology for educational purposes or harness their musical talents, your pupils need furniture that supports their endeavors. With the right pieces, you can channel the hard work of children and young adults toward future successes.
Computers are becoming increasingly important in the educational environment. Some functional computer tables can help support technology in the classroom, or furnish a contemporary computer lab. In order to ensure that your setup promotes ergonomic positioning, some appropriate computer chairs are necessary as well. With the right computer furniture, students can learn how to type correctly and hone their online research skills.
When furnishing a music room or band room, regular tables and chairs just won't cut it. Music furniture is specially designed to help student musicians play in a healthy position so they will learn how to hold their instruments and breathe correctly from the beginning. Academia's musician chairs support students as they play, whether in practices or performances.
Another room that requires special furniture is the science lab. Having appropriate lab furniture ensures the safety of students and teaches proper experimentation techniques. Academia offers a number of excellent lab stools that enable students to sit comfortably as they take notes or experiment at counter-height surfaces.
Creating an environment that is conducive to education and growth begins with appropriate layouts for learning. In order to make sure that students are properly supported with the physical tools that are needed for success, you want to give them the best school furniture out there. Academia school furniture provides the models you need to put students on the path to success as they gain critical knowledge that will be carried far into the future.


text:
For Women Who Want The Ballerific Life!
Search Blog Posts
Added by Siren on May 19, 2008 at 8:20pm —
1 Comment
Welcome toBaller Alert.com
Sign Upor Sign In
Or sign in with:
April 24, 2014 at 10pm to April 25, 2014 at 5am – STORY
April 27, 2014 at 10pm to April 28, 2014 at 4am – LIV
May 1, 2014 at 10pm to May 2, 2014 at 5am – STORY
May 2, 2014 at 11pm to May 3, 2014 at 4am – The Boulevard Theater
May 3, 2014 at 11pm to May 4, 2014 at 4am – Prive @ TW Theatre
May 4, 2014 at 11pm to May 5, 2014 at 5am – LIV
May 11, 2014 at 10pm to May 12, 2014 at 5am – LIV
May 18, 2014 at 11pm to May 19, 2014 at 5am – LIV
May 25, 2014 at 11pm to May 26, 2014 at 5am – LIV
Started by Robin Smith in Talk Ish. Last reply by Miss P 4 hours ago.
7 Replies
Hey ladies,So, I am about to graduate college and have just come into a decent amount of money (graduation gift). I have always been pursuing a career in entertainment but recently I have also…Continue
Started by LoveMe in Talk Ish. Last reply by MS. UCAN NEVA GET ENUFF!! 4 hours ago.
4 Replies
So I've been a lurker on this site for a while. Never post but really enjoy reading all the insights you all provide. Anyway I was approached by an athlete about 3 weeks ago. On my way out the club…Continue
Started by Skylas the limit in Talk Ish. Last reply by V 13 hours ago.
15 Replies
Eleven8 just did a article about this but here's a summery of her interview with sister2siter magTorrei Hart, ex-wife of Kevin Hart, held nothing back in a recent interview with Sister 2 Sister…Continue
Started by SMSLove in Talk Ish. Last reply by SMSLove 13 hours ago.
7 Replies
Who has the best sex tape? Who would you like to see in one? Tommy and Pam still hold the title for me. I would love to see a Rihanna or Amber Rose sex tape....Continue
Tags: sextape
© 2014 Created by Baller Alert.
Badges |
Report an Issue |
Terms of Service
Please check your browser settings or contact your system administrator.


text:
Parent Directory | Revision Log
|Links to HEAD:
|(view) (annotate)
|Sticky Tag:
* swank-backend.lisp (type-specifier-p): New. Implement it for ACL, ECL, CCL, Clisp, SBCL, LW. * contrib/swank-util.lisp (symbol-classification-string): Use type-specifier-p.
* swank-backend.lisp: Add a couple of ignore declarations.
* swank-ecl.lisp (describe-symbol-for-emacs): Include bound symbols even those without documentation. * slime.el (slime-print-apropos): Do some input validation to detect bugs on the Lisp side. * swank-backend.lisp (describe-symbol-for-emacs): Allow NIL where :NOT-DOCUMENTED was needed.
* swank-backend.lisp (deinit-log-output): Move from swank-sbcl, use it on CCL in ccl:*save-exit-functions* as well.
* swank-backend.lisp (call-with-io-timeout): Not used. Deleted. * swank-sbcl.lisp (call-with-io-timeout): Deleted.
* swank-backend.lisp (with-struct): Undo damage. * swank-sbcl.lisp (with-definition-source): New macro.
* swank-sbcl.lisp (definition-source-for-emacs): Prefer :file over :buffer, because the buffer can be killed in the mean time and the silly "No buffer named x.lisp" would be displayed.
Even more long line breaking.
Add a "sentinel thread" to protect access to global lists. * swank.lisp (start-sentinel, sentinel, send-to-sentinel) (sentinel-serve, sentinel-stop-server, sentinel-maybe-exit): New. (make-connection, close-connection, setup-server, stop-server): Use the sentinel. (close-connection%): Factored out. * swank-backend.lisp (register-thread, find-registered): New. * swank-allegro.lisp: Implement it. * swank-ccl.lisp: * swank-lispworks.lisp: * swank-sbcl.lisp:
* swank.lisp (auto-flush-loop): Don't use call-with-io-timeout. Removing it had no effect on the number of failed tests. If you want it back, first create a test case to demonstrate the problem. * swank-backend.lisp: Mention that locks should only be used in swank-gray.lisp.
* swank-sbcl.lisp (wait-for-input): Call poll(2). * swank-backend.lisp (wait-for-streams, wait-for-one-stream): Deleted. Wouldn't work on binary streams.
* swank.lisp (create-server): Add a :backlog argument. (setup-server): Pass it along. * swank-backend.lisp (create-socket): Backlog argument. * swank-abcl.lisp: Implement it. * swank-allegro.lisp: * swank-ccl.lisp: * swank-clisp.lisp: * swank-cmucl.lisp: * swank-corman.lisp: * swank-ecl.lisp: * swank-lispworks.lisp: * swank-sbcl.lisp: * swank-scl.lisp:
* slime.el (sldb-eval-in-frame): Try to figure the package out. Ask Lisp if the function for frame was defined in a particular package and use it to read the form. (sldb-read-form-for-frame): New helper. * swank-backend (frame-package): New. * swank-cmucl (frame-package): Implement it. * swank.lisp (frame-package-name, eval-in-frame-aux): New. (eval-string-in-frame, pprint-eval-string-in-frame): Use package argument.
Forgot this file in last commit.
New wire format. Switch from character streams to binary streams. Counting characters was error prone because some Lisps use utf-16 internally and so READ-SEQUENCE can't be used easily. The new format looks so: | byte0 | 3 bytes length | | ... payload ... | The playload is an s-exp encoded as UTF-8 string. byte0 is currently always 0; other values are reserved for future use. * swank-rpc.lisp (write-message): Use new format. (write-header, parse-header, asciify, encoding-error): New. * swank.lisp (accept-connections): Create a binary stream. (input-available-p): Can't read-char-no-hang on binary streams. * slime.el (slime-net-connect): Use binary as coding system. (slime-net-send, slime-net-read, slime-net-decode-length) (slime-net-encode-length, slime-net-have-input-p): Use new format. (slime-unibyte-string, slime-handle-net-read-error): New. (featurep): Require 'un-define for XEmacs. ([test] break): Longer timeouts. * swank-sbcl.lisp (input-ready-p): Use sb-sys:wait-until-fd-usable.
* swank-abcl.lisp (accept-connection): Make it so. * swank-clisp.lisp (accept-connection): Make it so. * swank-cmucl.lisp (accept-connection): Make it so. * swank-lispworks.lisp (accept-connection): Make it so. * swank-sbcl.lisp (accept-connection): Make it so. * swank-scl.lisp (accept-connection): Make it so.
* swank-backend.lisp (accept-connection): Improve docstring. In particular say that we want a binary stream if the EXTERNAL-FORMAT argument is nil.
* swank-backend.lisp (utf8-to-string, string-to-utf8): New.
sbcl: workaround for auto-flush thread deadlocks Occasionally auto-flush thread could deadlock with a thread doing compilation: T1: grabs world-lock T2: decides to flush, grabs stream lock T1: needs to do output (compiler note, etc), waits on the stream lock T2: needs the world-lock for a while (PCL dispatch machinery setup, etc) KABOOM. This is an SBCL issue, no mistake about it -- but sorting out the world-lock handling is going to take a while, and sticking a deadline around the FINISH-OUTPUT call avoids the issue.
* swank-backend.lisp (label-value-line): Remove display-nil-value. And the other stuff too. (label-value-line*): Idem.
Smarten up the label-value-line macros. - support a :label emacs font property - added key args: padding-length, display-nil-value, hide-when-nil, splice-as-ispec, value-text - label-value-line* will evaluate and splice the result of the form after a @ character
Add CODEPOINT-LENGTH function to return the number of codepoints in a string. Needed to make sure that Emacs and Lisp agree on the length of a string. Emacs wants codepoints and some lisps give code units.
add richer location information to the position arg in compile-string-for-emacs R's source location recording infrastructure works with line/column offsets rather than with character offsets, so to get the right srcrefs associated with some string source we need to communicate line and column information from the source buffer. Unfortunately, only the emacs side can do that -- in principle, the R side has no direct access to the source file at all. This means a protocol change, converting the position argument in swank:compile-string-for-emacs to a list of <position>s in the slime source location grammar. At present, pass in both :position and :line kinds, and have swank:compile-string-for-emacs extract just the :position for passing on to swank-compile-string.
* swank-backend.lisp (valid-function-name-p): New interface. (compiler-macroexpand-1): Use it to guard against type errors from COMPILER-MACRO-FUNCTION. * swank-arglist.lisp (function-exists-p): Renamed from FUNCTION-EXISTS-P. Uses new SWANK-BACKEND:VALID-FUNCTION-NAME-P underneath. (valid-operator-name-p): Unused, hence deleted. (boundp-and-interesting): Renamed from INTERESTING-VARIABLE-P.
Snapshot restore support for SBCL. * swank-backend.lisp (background-save-image): New. * swank-sbcl.lisp (command-line-args, dup, sys-execv, exec-image) (make-fd-stream, background-save-image): New. Add support to save snapshots in backround. * swank-snapshot.lisp (background-save-snapshot): New. (resurrect): Initialize repl streams. * slime-snapshot.el (slime-snapshot): With prefix-arg perform saving in background. Also ask before overwriting existing files.
* swank-backend.lisp (with-symbol): Test for package before doing find-symbol. * swank-sbcl.lisp(Multiprocessing): use with-symbol. (emacs-inspect t): Remove newlines from text returned by sb-impl::inspected-parts, otherwise there will be ".." inserted by the printer due to (*print-lines* 1).
* slime.el (slime-lisp-implementation-program): New connection variable. (slime-set-connection-info): Adapted to set it. (slime-attach-gdb): Use it to invoke gdb so gdb is able to find debugging symbols on non-Linux platforms. * swank.lisp (connection-info): Include lisp-implementation-program. * swank-backend.lisp (lisp-implementation-program): New interface. Default implementation based on command-line-args. * swank-ecl.lisp (command-line-args): Implement.
Add an ATTACH-GDB restart to SLDB. * swank.lisp (call-with-gdb-restart): New. Sends the new :gdb-attach event to Emacs. (with-gdb-restart): Sugar. (with-top-level-restart): Also expand to with-gdb-restart. (dispatch-event): Add :gdb-attach event. * swank-backend.lisp (gdb-initial-commands): New interface function so backends can customize how gdb needs to be configured for their implementation. * swank-ecl.lisp (gdb-initial-commands): Implement. * slime.el (slime-dispatch-event): Add clause for :gdb-attach. (slime-attach-gdb): New.
* slime.el (slime-compile-and-load-file): Accept C-u arguments for compilation policy the same way as slime-compile-defun. * swank.lisp (compile-file-for-emacs): Take an additional policy argument. * swank-backend.lisp (swank-compile-file): Ditto. * swank-sbcl.lisp (compiler-policy, (setf compiler-policy)): rename from get/set-compiler-policy. (with-compiler-policy): New macro. (swank-compile-file): Use with-compiler-policy. (swank-compile-string): Ditto.
* swank-backend.lisp (when-let): New macro. For backends and swank.lisp. * swank-ecl.lisp: Use it. Also use new location support of ECL git HEAD.
* swank-backend.lisp (converting-errors-to-error-location): Moved here from swank-sbcl.lisp so other backends can make use of it, too. * swank-sbcl.lisp: The above macro was called slightly differently, so update uses accordingly.
Make it possible for SWANK backends to specify locations based on a TAGS file. * slime.el (slime-postprocess-xref, slime-postprocess-xrefs): New functions. They convert TAGS based locations from SWANK into file+position based locations because the rest of Slime expects and works with those. (slime-find-definitions): Call slime-postprocess-xrefs. (slime-xref): Ditto. (slime-etags-to-locations): The function which does the actual conversion. Extracted from `slime-etags-definitions'. (slime-etags-definitions): Use it. * swank-backend (defimplementation): Add implicit BLOCK. (:etags-file, :tag): Mentioned for possible values in :LOCATION.
Add a command to eval stuff in the inspector. * slime.el (slime-inspector-eval): New command. (slime-inspector-mode-map): Bind it to 'e'. * swank.lisp (inspector-eval): New function. * swank-backend.lisp (eval-context): New function. * swank-cmucl.lisp (eval-context): Implement it.
* swank-backend (declaration-arglist): Normalize declaration specifiers to contain `variables' rather than `vars'. * swank-arglists.lisp (arglist-dispatch ['declare]): Normalize `vars' to `variables'. (arglist-for-type-declaration): Ditto. * slime-autodoc (autodoc.1 [test]): Reorganize test, add comments, add cases to test declarations.
Provide default implementation for all-threads. * swank-backend.lisp (all-threads): Just return (). Patch from Terje Norderhaug.
* contrib/slime-repl.el (sldb-insert-frame-call-to-repl): New function for inserting a call to a frame into the REPL. Bound to C-y in SLDB. * swank-backend.lisp (frame-call): New function. Returns a string representing a call to the entry point of a frame. * swank-ccl.lisp (frame-call): Implementation of the above. * swank-sbcl.lisp (frame-call): Ditto.
Commands to save&restore image files without disconnecting. * slime-snapshot.el: New file. * swank-snapshot.lisp: New file. Some new backend functions used for loading image files. * swank-backend.lisp (socket-fd, make-fd-stream, dup, exec-image) (command-line-args): New functions. * swank-cmucl.lisp: Impemented. * swank-cmucl.lisp (reset-sigio-handlers): New function. (save-image): Fix quoting bug. * swank.lisp (clear-event-history): New functoin. (interactive-eval, eval-region): Don't use FRESH-LINE.
* contrib/swank-asdf.lisp (asdf:operation-done-p): ASDF included with some implementations doesn't have AROUND method combination, so guard against its usage. This will prevent swank:reload-system from working, but it will let load swank-asdf. Reported by Mark Evenson. * swank-backend.lisp (defpackage): export with-symbol and replace its fully qualified usage everywhere.
* swank-backend.lisp (*debug-swank-backend*): New variable. If true, backends should not catch internal errors (e.g. during definition finding), and should not perform backtrace magic. (make-error-location): New helper. (find-definitions [interface]): Default to error location. * swank-sbcl.lisp (converting-errors-to-location): New helper macro. Regards new *DEBUG-SWANK-BACKEND*. (find-definitions [implementation]): Use it. (find-source-location [implementation]): Ditto. (functiond-spec): Ditto. (frame-source-location [implementation]): Ditto. (*debug-definition-finding*): Removed. (make-source-location-specification): Removed. (safe-function-source-location): Removed. (safe-source-location-for-emacs): Removed. Not needed anymore. (call-with-debugging-environment): Do not perform stack hinting depending on *DEBUG-SWANK-BACKEND*.
* swank-sbcl.lisp (who-specializes): Implement. Requires SBCL 1.0.32.
* swank.lisp (without-interrupts): Removed. No longer used. * swank-backend.lisp (call-without-interrupts): Removed. Update backends accoringly.
* swank.lisp (list-threads): Remove thread-description. Wasn't used anymore. * swank-backend.lisp (thread-description, set-thread-description): Deleted. * swank-abcl.lisp: Update accordingly. * slime.el (slime-update-threads-buffer, slime-thread-insert): Update accordingly.
* swank-ccl.lisp (kill-thread): Don't signal conditions. * swank-backend.lisp (kill-thread): Update docstring.
Generalize M-? (or M-_ respectively.) It will now list: - call sites for functions, - macroexpand sites for macros, - binding, setting, referencing sites for variables, - specializing methods for classes. * slime.el (slime-xref): Deal with :not-implemented. (slime-xrefs): New. Makes RPC request to XREFS. (slime-edit-callers): Renamed to `slime-edit-uses'. (slime-edit-uses): Use slime-xrefs. * swank-backend.lisp (who-*): Add default implementation which returns :not-implemented. * swank.lisp (xref-doit): Extracted from XREF. (xref): Pass over :not-implemented to Emacs side. (xrefs): New slime fun. To return results of multiple XREF requests at once.
Separate context info from compiler message text. * swank-backend.lisp (compiler-condition): Add a new slot :source-context. Remove :short-message. * swank-cmucl.lisp, swank-sbcl.lisp, swank-scl.lisp, swank-openmcl.lisp, swank-ccl.lisp: Update callers. * swank.lisp (make-compiler-note): Use source-context slot. * slime.el (slime-note.source-context): New. (slime-insert-compilation-log): Use it. (slime-note.short-message): Deleted.
* swank-backend.lisp (severity [type]): Allow :redefinition. * swank-sbcl.lisp (signal-compiler-condition): Tag redefinitions. * slime.el (slime-maybe-show-compilation-log): Do not show compilation log if each note describes just a redefinition. (slime-insert-compilation-log): Insert notes indented by 2 spaces. Insert some more newlines so the buffer appears more structured. (slime-show-note-counts): Add :redefinition to ecase. (slime-redefinition-note-p): New. (slime-severity-label): Was unused. Adapted to be usable.
(definterface): Fix typo in error message.
Generalize list-threads for implementation-dependent attributes. * swank-backend.lisp (thread-attributes): New function. * swank-openmcl (thread-attributes): Implement it. * swank.lisp (list-threads): Return a table with the attribute names as the first row and the new attributes in the last columns. * slime.el (slime-update-threads-buffer): For now, ignore the extra attributes.
* swank-backend.lisp (frame-source-location): Renamed from frame-source-location-for-emacs. Update callers accordingly.
* swank-backend.lisp ([default] declaration-arglist): Add arglist of DECLARATION declaration. * swank-openmcl.lisp ([eql 'optimize] declaration-arglist): Implement it for CCL. (describe-symbol-for-emacs): Add :CLASS and :TYPE. (describe-definition): Add :TYPE. * swank-sbcl.lisp (describe-symbol-for-emacs): Add :CLASS. Adapted from patch by Stas Boukarev.
* swank-backend.lisp (warn-unimplemented-interfaces): Bind *PRINT-PRETTY* to T. Otherwise no sugar formatting on CCL.
`M-x slime-format-string-expand' displays the expansion of a format string. * slime.el (slime-string-at-point) New. (slime-string-at-point-or-error): New. (slime-format-string-expand): New; use them. * swank-backend.lisp (format-string-expand): New interface. * swank.lisp (swank-format-string-expand): New; use it.
Don't signal conditions in the interrupt handler to avoid problems with naive code like (handler-case foo (condition bar)) * swank-backend.lisp (*interrupt-queued-handler*): Use a dynamic variable instead. (slime-interrupt-queued): Deleted. * swank-cmucl.lisp, swank.lisp: Ditto.
* swank-backend.lisp (with-symbol): New function, to be used with #+. * swank-sbcl.lisp: Use WITH-SYMBOL and get rid of SBCL-WITH-SYMBOL. * swank-openmcl.lisp (macroexpand-all): Implement it. Patch by Stas Boukarev.
* swank-backend.lisp (warn-unimplemented-interfaces): Print the names with pprint-fill.
* swank-backend.lisp (swank-compile-file): Take output-file as additional argument. Update backends accordingly. * swank.lisp (*fasl-directory*): New variable. (fasl-pathname): New function. (compile-file-for-emacs): Use it.
* swank-backend.lisp (set-default-initial-binding): New function. * swank.lisp (setup-stream-indirection): Use it
* swank-backend.lisp (swank-compile-string): Pass the buffer-file-name to Lisp, not only the directory. Update callers accordingly
* slime.el ([test] find-definition.2): Also fails for Lispworks. ([test] interrupt-at-toplevel, [test] interrupt-in-debugger): Those don't work well if there's no REPL thread. * swank-backend.lisp (wait-for-input, wait-for-one-stream): Don't use PEEK-CHAR because we can't interrupt that cleanly. * swank.lisp (simple-serve-requests): Run the REPL inside WITH-CONNECTION. * swank-lispworks.lisp (emacs-connected): Don't install the signal handler here ... (install-sigint-handler): ... use this instead
As of now, `C-u C-c C-c' compiled a function with maximum debug settings (SBCL only.) Now, `M-- C-c C-c' will compile a function with maximum _speed_ settings (still SBCL only) --- useful to elicit compiler notes. * slime.el (slime-compilation-debug-level): Renamed to `slime-compilation-policy'. (slime-normalize-optimization-level): Renamed to `slime-compute-policy'. * swank.lisp (compile-string-for-emacs): Takes a policy now. (compile-multiple-strings-for-emacs): Ditto. * swank-backend.lisp (swank-compile-string): Change :DEBUG key arg to :POLICY. * swank-scl.lisp, swank-openmcl.lisp, swank-lispworks.lisp * swank-ecl.lisp, swank-corman.lisp, swank-cmucl.lisp, * swank-clisp.lisp, swank-allegro.lisp, swank-sbcl.lisp: Changed accordingly.
Create a repl also for *communication-style* = nil. Use a custom stream which processes SLIME requests while waiting for input. * slime.el (slime-set-connection-info): Don't create a repl buffer. (slime-start-lisp): Bind process-connection-type to nil to avoid problems witht CLISPs readline code. * swank.lisp (read-non-blocking, make-repl-input-stream) (simple-repl): New functions. (simple-serve-requests): Use it. * swank-backend.lisp (wait-for-one-stream, wait-for-streams): New functions. (wait-for-input): Use it to support wainting on multiple streams. * swank-cmucl.lisp (to-fd-stream): New function. (wait-for-input): Use it.
* swank-backend.lisp (slime-interrupt-queued): New condition. * swank.lisp (invoke-or-queue-interrupt): Raise it here. * swank-cmucl.lisp (wait-for-input): Make fd readable in condition handler so that we can call serve-events without timeout.
More ignore decls.
(frame-restartable-p): Add ignore decl.
(frame-catch-tags): Add ignore decl.
* swank.lisp (frame-locals-and-catch-tags): New function. Fetch locals and catch tags with a single RPC. * slime.el (sldb-frame-details): Use it. * swank-backend.lisp (frame-catch-tags): Provide a default implementation. Delete the dummy defs in various backends.
* swank-backend.lisp (compute-sane-restarts): Deleted. Use plain compute restarts instead.
* swank-backend.lisp (frame-restartable-p): New function. (swank-frame): Deleted. Update implemenetations accordingly. (print-frame): Renamed back from print-swank-frame. * swank.lisp (backtrace): Don't clutter the backtrace with '(:restartable :unknown). For practical purposes :unknown is the same as nil. * slime.el (sldb-compute-frame-face): Only accept nil or t for the :restartable prop.
* swank-backend.lisp (swank-compile-file): Return the same values as COMPILE-FILE. Update backends accordingly.
Some cleanups for compilation commands. * slime.el ([defstruct] slime-compilation-result): Rename result slot as successp. (slime-make-compilation-finished-continuation): Deleted. slime-eval-async preserves the current buffer and preserving the window-configuration was always a questionable feature. (slime-compilation-finished): Simplified. (slime-show-note-counts): Also show the success/failure flag. (slime-recompile-locations): Take a continuation as argument rather than messing around with compilation-finished-hooks. (slime-aggregate-compilation-results): New function. (slime-xref-recompilation-cont): Renamed from slime-make-xref-recompilation-cont. (slime-compiler-results): Deleted. (slime-goto-first-note-after-compilation): Replaced with hook function slime-goto-first-note. (slime-compilation-just-finished): Deleted. (slime-to-lisp-filename-function): Use convert-standard-filename. * swank.lisp ([defstruct] compilation-result): Renamed from swank-compilation-result. (measure-time-interval): Return seconds as float. (collect-notes): Renamed from swank-compiler. Return a single compilation-result. (compile-multiple-strings-for-emacs): Return a list of compilation-results instead of a single result with merged notes. * swank-backend.lisp (filename-to-pathname): Renamed from parse-emacs-filename. Updated callers. (pathname-to-filename): New function. Use it where appropriate. * swank-scl.lisp (pathname-to-filename): Implement it in the backend to get rid of the #+scl in swank.lisp. * swank-cmucl.lisp (swank-compile-file, swank-compile-string): Return t on success.
* swank.lisp (sldb-loop): Send a :sldb-return event to ourselfes to inform the debug session at the lower level. (wait-for-event): Drop the report-interrupt argument. No longer needed. (event-match-p): Add an OR pattern operator. Used to wait for different events simultaneously. (read-packet): Use peek-char to detect EOF. read-sequence wouldn't work. * slime.el (slime-test-interrupt-in-debugger): Call sldb-quit and sldb-continue in the right buffer. * swank-backend.lisp (wait-for-input): * swank-cmucl.lisp (wait-for-input): * swank-clisp.lisp (wait-for-input): Use the idiom "(when (check-slime-interrupts) (return :interrupt))".
More interrupt related frobbing.
Introduce a WAIT-FOR-INPUT backend function. CMUCL's blocking input functions READ-CHAR etc. are hard to use with interrupts. In the backend we have a more realistic chance to get interrupts working. * swank-backend.lisp (wait-for-input): New function. * swank-cmucl.lisp, swank-clisp.lisp (wait-for-input): Implement it. * swank.lisp (wait-for-event/event-loop): Use WAIT-FOR-INPUT and rescan the event-queue if WAIT-FOR-INPUT was interrupted. (reader-event): Deleted. Merged into wait-for-event/event-loop resp. dispatch-loop. (decode-message): Drop the timeout argument. (*events-enqueued*): A counter to quickly detect new events after a wait. (call-with-connection): If the argument is already the current connection, don't rebind anything. (without-slime-interrupts, with-slime-interrupts): Don't rebind *pending-slime-interrupts*. Just to be save. * slime.el (sldb-maybe-kill-buffer): New function, to handle the case when the debugger was interrupted in WAIT-FOR-INPUT and we want to return to the previous debug level.
New faces: `sldb-restartable-frame-line-face', `sldb-non-restartable-frame-line-face'. The former is the face for frames that are surely restartable, the latter for frames that are surely not restartable. If restartability of a frame cannot be reliably determined, the face `sldb-frame-line-face' is used. At the moment, determination of frame restartability is supported by the SBCL backend only. * slime.el (sldb-frame.string): New. (sldb-frame.number): New. (sldb-frame.plist): New. (sldb-prune-initial-frames): Use them. (sldb-insert-frames): Ditto. (sldb-compute-frame-face): New. (sldb-insert-frame): Use `sldb-compute-frame-face' to insert frames with one of the faces described above. * swank.lisp (defslimefun backtrace): Changed return value; each frame is now accompanied with a PLIST which at the moment can contain :RESTARTABLE NIL/T/:UNKNOWN depending on whether the frame is restartable, or not. * swank-backend.lisp (defstruct swank-frame): New structure. (compute-backtrace): Is now supposed to return a list of SWANK-FRAMEs. (print-frame): Renamed to PRINT-SWANK-FRAME. * swank-sbcl.lisp, swank-cmucl.lisp, swank-lispworks.lisp, * swank-allegro.lisp, swank-scl.lisp, swank-openmcl.lisp, * swank-abcl.lisp, swank-clisp.lisp: Adapted to swank-backend changes.
* swank-backend.lisp (*gray-stream-symbols*): Comment out STREAM-FILE-POSITION.
* swank-backend.lisp (make-input-stream): Remove make-fn-streams. Update callers accordingly.
* swank-backend.lisp (*gray-stream-symbols*): added symbols stream-peek-char, stream-read-line, stream-file-position
Implement streams with a length limit. Use them to truncate printer output in backtraces. * swank-backend.lisp (make-output-stream, make-input-stream): Split make-fn-streams up into two functions. * swank.lisp (call/truncated-output-to-string): New function. (backtrace, istate>elisp, to-line): Use it. (frame-locals-for-emacs): Use to-line.
Compiling a file `let*.lisp' on SBCL via C-c C-k resulted in an error, because it parsed the asterisk to a wild pathname. Fix that. * swank-backend.lisp (definterface parse-emacs-filename): New. PARSE-NAMESTRING by default. * swank-sbcl.lisp (defimplementation parse-emacs-filename): Use SB-EXT:PARSE-NATIVE-NAMESTRING. * swank.lisp (compile-file-for-emacs): Use PARSE-EMACS-FILENAME. (compile-file-if-needed): Ditto. (load-file): Ditto. (swank-require): Ditto.
Add a dump-image function to the loader. * swank-loader.lisp (dump-image): New. * swank-backend.lisp (save-image): New interface. * swank-cmucl.lisp, swank-clisp.lisp, swank-sbcl.lisp (save-image): Implemented.
Improve interrupt safety for single-threaded lisps. * slime.el (slime-interrupt): Send a :emacs-interrupt message together with SIGINT. SIGINT now means "check for new events" instead of "invoke the debugger". * swank-backend.lisp (install-sigint-handler) (call-with-user-break-handler): New functions. * swank.lisp (simple-serve-requests,install-fd-handler): Use it. (read-packet, read-char): New function. Check for interrupts. (wait-for-event/event-loop): Check for interrupts.
* swank.lisp (wait-for-event): Add timeout argument. This is used for :fd-handler and :sigio style where we only process events as long we don't block. (wait-for-event/event-loop, read-event) (decode-message, receive-if): Ditto. (process-events): Renamed from read-from-emacs. (handle-requests): Renamed from handle-request. Take timeout argument. Update callers. (process-available-input): Deleted.
Unify event dispatching for single and multi-threaded cases. * swank.lisp (send-to-control-thread,read-from-control-thread) (send-to-socket-io,read-from-socket-io): Deleted. (send-event, read-event, send-to-emacs) (signal-interrupt, use-threads-p): New functions. And more random changes.
Spawn the auto-flush thread in the front end. This removes some copy&paste code in various backends. * swank.lisp (auto-flush-loop): New function. (open-streams): Use it. * swank-backend.lisp (make-stream-interactive): Deleted.
Queue interrupts in various places. * swank-backend.lisp (*pending-slime-interrupts*): New variable. (check-slime-interrupts): New function. * swank-lispworks.lisp (receive-if): Use it. * swank-sbcl.lisp, swank-openmcl.lisp: Ditto. * swank.lisp (*slime-interrupts-enabled*): New variable. (with-slime-interrupts, without-slime-interrupts): New macros. (invoke-or-queue-interrupt): New function. (interrupt-worker-thread, eval-for-emacs, swank-debugger-hook) (debug-nth-thread, wait-for-event, read-from-emacs): Use them.
* swank-backend.lisp (thread-id): Add a default implementation which works with the default implementation of current-thread.
Drop distinction between "recursive" and non-recursive locks. * swank-backend.lisp (make-recursive-lock) (call-with-recursive-lock-held): Deleted. Make the default locks "recursive" instead.
* swank-gray.lisp (stream-write-string): New method. * swank-backend.lisp (*gray-stream-symbols*): Include write-string.
Add some flow-control. * swank.lisp (make-output-function): Synchronize with Emacs on every 100th chunk of output. (wait-for-event,wait-for-event/event-loop,event-match-p): New functions. Used to selectively wait for some events and to queue the other events. (dispatch-event, read-from-socket-io): Tag non-queueable events with :call. (read-from-control-thread, read-from-emacs): Process :call events only; enqueue the others. (*log-output*): Don't use synonym-streams here. Dereference the symbol until we get at the real stream. (log-event): Escape non-ascii characters more carefully. * swank-backend.lisp (receive-if): New function. Update backends accordingly. (not yet for ABCL and SCL) * slime.el (slime-dispatch-event): Handle ping event.
* swank.lisp (swank-compiler): Fix bug when invoking an abort restart on a failed compilation attempt. * swank-sbcl.lisp (swank-compile-string): If a compilation attempt fails, COMPILE-FILE returns NIL which we tried to LOAD. Fix that. * swank-backend.lisp (swank-compile-string, swank-compile-file): Document return value.
An explicit numeric value as prefix-arg given to `C-c C-c' will now represent the debug level the defun is compiled with; `C-u C-c C-c' defaults to maximum debug like before. (Now also works for recompilation commands in xref buffers.) * slime.el (slime-compilation-debug-level): Renamed from `slime-compile-with-maximum-debug'. (slime-normalize-optimization-level): New. (slime-compile-defun): Adapted accordingly. (slime-compile-region): Ditto. (slime-recompile-location): Added setting of debug-level. (slime-recompile-locations): Ditto. (slime-recompile-xref): Now takes debug-level prefix-arg. (slime-recompile-all-xrefs): Ditto. * swank-sbcl.lisp (defimplementation swank-compile-string): Adapted accordingly.
`M-x slime-lisp-threads' will now contain a summary of what's currently executed in a thread that was created by Swank. * swank-backend.lisp (thread-description, set-thread-description): New interface functions to associate strings with threads. * swank-sbcl.lisp (thread-description, set-thread-description): Implemented. * swank.lisp (call-with-thread-description), (with-thread-description): New. (read-from-emacs): Now temporarily sets the thread-description of the current thread to a summary of what's going to be executed by the current request. (defslimefun list-threads): Changed return value to also contain a thread's description. * slime.el (slime-list-threads, slime-thread-insert): Adapted to new return value of LIST-THREADS.
* swank-backend.lisp: Clarified docstrings of interface functions in the Debugging section.
C-c C-c with prefix args now uses the maximal debug level. (By Zach Beane.) Only implemented for SBCL. * slime.el (slime-compile-with-maximum-debug): New variable. (slime-compile-defun, slime-compile-region): Use it. * swank.lisp (compile-string-for-emacs): Accept new debug argument. Update backend accordingly.
* swank.lisp (find-definition-for-thing): New DEFSLIMEFUN. * swank-backend (find-source-location): New DEFINTERFACE. * swank-sbcl (find-source-location): Implement it. * slime.el (slime-edit-definition-cont): Use `slime-length='.
Drop the first return value of emacs-inspect. * swank.lisp (emacs-inspect): Drop the first return value. It wasn't used anymore. Update all methods and callers.
Inspector cleanups. * swank.lisp (emacs-inspect): Renamed from inspect-for-emacs. Changed all method-defs acordingly. (common-seperated-spec, inspector-princ): Moved to swank-fancy-inspector.lisp. (inspector-content): Renamed from inspector-content-for-emacs. (value-part): Renamed from value-part-for-emacs. (action-part): Renamed from action-part-for-emacs. (inspect-list): Renamed from inspect-for-emacs-list. (inspect-list-aux): New. (inspect-cons): Renamed from inspect-for-emacs-simple-cons. (*inspect-length*): Deleted. (inspect-list): Ignore max-length stuff. (inspector-content): Don't allow nil elements. (emacs-inspect array): Make the label of element type more consistent with the others.
Drop second argument from inspect-for-emacs
Move SBCL doc references to contrib. * slime.el (sldb-insert-condition): Merge REFERENCES and EXTRAS. (sldb-extras-hooks, sldb-dispatch-extras): New hook. * swank.lisp (debugger-condition-for-emacs): Merge REFERENCES and EXTRAS. * swank-backend.lisp (condition-references): Removed. Merged with condition-extras. * swank-sbcl.lisp (condition-references): Removed. (condition-extras): Include references. (externalize-reference): New function. Don't return plain symbols. * swank-allegro.lisp (condition-references): Removed. * contrib/slime-references.el: New file.
* swank-backend.lisp (definterface): Updated docstring.
Move asdf support to contrib. * swank-backend.lisp (operate-on-system): Moved to swank-asdf.lisp. It wasn't specialized in any backend. * swank.lisp (operate-on-system-for-emacs) (list-all-systems-known-to-asdf, list-asdf-systems): Moved to swank-asdf.lisp. * slime.el: Move asdf commands to contrib slime-adsf.el. * swank-loader.lisp: Load swank-asdf if ASDF is in *FEATURES*. Also add the contrib source directory to swank::*load-path*.
Remove request-abort condition. * swank-backend.lisp (request-abort): Removed (abort-request): Removed. Replace all (3) uses with ERROR. * swank.lisp (eval-for-emacs): No special case for request-abort. * slime.el (slime-eval-async): Remove optional arg of :abort.
swank.lisp: (backend-inspector): Export the symbol.
Introduce backend-inspector class. * swank-backend.lisp (backend-inspector): New class. Introduce a named class to give as another way to dispatch to backend methods. * swank-cmucl.lisp: Use backend-inspector class. * swank-sbcl.lisp: Use backend-inspector class. * swank-clisp.lisp: Use backend-inspector class. * swank-lispworks.lisp: Use backend-inspector class. * swank-allegro.lisp: Use backend-inspector class. * swank-openmcl.lisp: Use backend-inspector class. * swank-abcl.lisp: Use backend-inspector class. * swank-corman.lisp: Use backend-inspector class. * swank-scl.lisp: Use backend-inspector class.
Added arglist display for declaration specifiers and type specifiers. Examples: `(declare (type' will display (declare (type type-specifier &rest vars)) `(declare (type (float' will display [Typespec] (float &optional lower-limit upper-limit) `(declare (optimize' will display (declare (optimize &any (safety 1) (space 1) (speed 1) ...)) &ANY is a new lambda keyword that is introduced for arglist description purpose, and is very similiar to &KEY, but isn't based upon plists; they're more based upon *FEATURES* lists. (See the comment near the ARGLIST defstruct in `swank.lisp'.) * slime.el: (slime-to-feature-keyword): Renamed to `slime-keywordify'. (slime-eval-feature-conditional): Adapted to use `slime-keywordify'. (slime-ensure-list): New utility. (slime-sexp-at-point): Now takes an argument that specify how many sexps at point should be returned. (slime-enclosing-operator-names): Renamed to `slime-enclosing-form-specs'. (slime-enclosing-form-specs): Returns a list of ``raw form specs'' instead of what was called ``extended operator names'' before, see `swank::parse-form-spec' for more information. This is a simplified superset. Additionally as tertiary return value return a list of points to let the caller see where each form spec is located. Adapted callers accordingly. Extended docstring. (slime-parse-extended-operator-name): Adapted to changes in `slime-enclosing-form-specs'. Now gets more context, and is such more powerful. This was needed to allow parsing DECLARE forms. (slime-make-extended-operator-parser/look-ahead): Because the protocol for arglist display was simplified, it was possible to replace the plethora of parsing function just by this one. (slime-extended-operator-name-parser-alist): Use it. Also add parser for DECLARE forms. (slime-parse-extended-operator/declare): Responsible for parsing DECLARE forms. (%slime-in-mid-of-typespec-p): Helper function for `slime-parse-extended-operator/declare'. (slime-incomplete-form-at-point): New. Return the ``raw form spec'' near point. (slime-complete-form): Use `slime-incomplete-form-at-point'. * swank.lisp: New Helper functions. (length=, ensure-list, recursively-empty-p): New. (maybecall, exactly-one-p): New. * swank.lisp (arglist-for-echo-area): Adapted to take ``raw form specs'' from Slime. (parse-form-spec): New. Takes a ``raw form spec'' and returns a ``form spec'' for further processing in Swank. Docstring documents these two terms. (split-form-spec): New. Return relevant information from a form spec. (parse-first-valid-form-spec): Replaces `find-valid-operator-name'. (find-valid-operator-name): Removed. (operator-designator-to-form): Removed. Obsoleted by `parse-form-spec'. (defstruct arglist): Add `any-p' and `any-args' slots to contain arguments belonging to the &ANY lambda keyword. (print-arglist): Adapted to also print &ANY args. (print-decoded-arglist-as-template): Likewise. (decode-arglist): Adapted to also decode &ANY args. (remove-actual-args): Adapted to also remove &ANY args. (remove-&key-args): Split out from `remove-actual-args'. (remove-&any-args): New. Removes already provided &ANY args. (arglist-from-form-spec): New. Added detailed docstring. (arglist-dispatch): Dispatching generic function for `arglist-from-form-spec' that does all the work. Renamed from prior `form-completion'. (arglist-dispatch) Added methods for dealing with declaration and type-specifiers. (complete-form): Adapted to take ``raw form specs'' from Slime. (completions-for-keyword): Likewise. (format-arglist-for-echo-area): Removed. Not needed anymore. * swank-backend.lisp (declaration-arglist): New generic function. Returns the arglist for a given declaration identifier. (Backends are supposed to specialize it if they can provide additional information.) (type-specifier-arglist): New generic function. Returns the arglist for a given type-specifier operator. (Backends are supposed to specialize it if they can provide additional information.) (*type-specifier-arglists*): New variable. Contains the arglists for the type specifiers in Common Lisp. * swank-sbcl.lisp: Now depends upon sb-cltl2. (declaration-arglist 'optimize): Specialize the `optimize' declaration identifier to pass it to sb-cltl2:declaration-information.
Some inspector cleanups.
(label-value-line): Add :newline as &key argument; if true (the default) inserts a newline.
(inspect-for-emacs): Docstring update.
*** empty log message ***
*** empty log message ***
(inspect-for-emacs): Remove reference to inexistent argument from docstring.
Added hash-table-weakness and use it in hash-table-inspecting
Implement INSPECT-IN-EMACS, tweak inspection of integers.
Added inspect-slot-for-emacs to let users customize it. Use all-slots-for-inspector everywhere, render link to both the effective and direct slots when both are available. Dropped slot-value-using-class-for-inspector and friends. Added slot-makunbound-using-class to the swank-mop package and added a [make-unbound] action to the standard slot presentation.
(guess-external-format): Return nil if the file can't be opened. Previusly we wrongly read from stdin.
(find-external-format, guess-external-format): New. (swank-compile-file): The external-format argument is now a backend specific value returned by find-external-format. Update implementations accordingly.
(character-completion-set): New interface.
(startup-idle-and-top-level-loops): Deleted. Merged into initialize-multiprocessing.
(initialize-multiprocessing): New API to support lisps where initialize-multiprocessing may not return (lispworks).
(ignored-xref-function-names): Deleted.
fix SBCL 0.9.17
sbcl single-stepper
(request-abort): New condition. (abort-request): Convenience function for signaling request-abort conditions. (operate-on-system): Use abort-request instead of error (:swank-backend): Export the symbols abort-request and request-abort.
swank-backend.lisp (definterface): Drop that incredibly unportable CLOS stuff. Use plists and plain functions instead. Update backends accordingly.
Some fixes to make it actually work.
(definterface): Bring the old implementation based on NO-APPLICABLE-METHOD back.
Stream locking patch from Robert Macomber
* Improve the robustness of connection establishment.
* swank-backend.lisp (operate-on-system): symbol case fix for SCL's lowercase mode. * swak.lisp (setup-stream-indirection) (globally-redirect-io-to-connection) (revert-global-io-redirection): symbol case fixes. * swank-scl.lisp: (inspect-for-emacs): Fixes for the inspect standard-objects, and inspect array. Plus misc symbol case fixes.
Patch from Ian Eslick. Show slot values for metaclasses that override the default storage locations for objects slots (i.e. where the default slot-boundp returns nil) in the inspector. * swank.lisp (inspect-for-emacs standard-object): Use slot-value-using-class and slot-boundp-using-class. * swank-backend.lisp: Add slot-value-using-class and slot-boundp-using-class to the swank-mop package.
(compiler-macroexpand-1, compiler-macroexpand): New functions.
(accept-connection): New argument: buffering.
* swank-backend.lisp (install-debugger-globally): new interface function * swank.lisp (install-debugger): call install-debugger-globally * swank-sbcl.lisp (install-debugger-globally): set sb-ext:*invoke-debugger-hook* too
o *gray-stream-symbols*: Scieneer Common Lisp implements stream-line-length.
2005-10-01 Juho Snellman <firstname.lastname@example.com> * swank-backend (*gray-stream-symbols*): Add :STREAM-LINE-LENGTH to *GRAY-STREAM-SYMBOLS* on implementations that support this extension to gray streams. Reported by Matthew D Swank.
(startup-multiprocessing): Deleted. (initialize-multiprocessing, startup-idle-and-top-level-loops): The replacements for startup-multiprocessing. startup-idle-and-top-level-loops is only needed for CMUCL, but initialize-multiprocessing is useful for other too.
(*gray-stream-symbols*): Collect the needed symbols here, so that we don't need to mention them in every backend. (import-from). New function.
(make-weak-key-hash-table) (make-weak-value-hash-table): New interfaces.
(swank-compile-file): New optional argument `external-format'.
Minor comment tweaks.
Fix some typos.
Doc fix.
Export FINALIZE-INHERITANCE from SWANK-MOP.
(calls-who, toggle-trace): New functions. (toggle-trace-function, toggle-trace-generic-function-methods, (toggle-trace-method, toggle-trace-fdefinition-wherein): Replaced by toggle-trace.
(call-with-debugger-hook): New function. Useful if the backend needs special incantations for BREAK. (toggle-trace-function): Add a default implementation for simple symbols.
Export compute-applicable-methods-using-classes.
(toggle-trace-function, toggle-trace-generic-function-methods, toggle-trace-method, toggle-trace-fdefinition-wherein, toggle-trace-fdefinition-within): New backend functions for the new trace facility.
(frame-package): Delete it. Include the package name for local variables because it is utterly confusing if `eval-in-frame' doesn't work due to missing package prefixes.
(import-swank-mop-symbols): Better error message for the assertion.
(accept-connection): Accept :external-format as argument.
(emacs-connected): Don't pass the stream as argument. make-stream-interactive is a better place for setting buffering options.
(definterface): Eliminate unused variable received-args. (emacs-connected, make-stream-interactive, condition-references, condition-extras, buffer-first-change): Add (declare (ignore X)) for unused arguments in default implementations. (inspect-for-emacs): Remove (declare (ignore)) for inexistent variable inspection-mode. Added T qualifiers in method arguments.
(deftype severity): Add read-errors.
(activate-stepping): New function.
(frame-package, label-value-line, label-value-line*): New functions.
(import-swank-mop-symbols): New function. Useful if the implementation has most of the mop symbols in the same package. (sldb-break-on-return, sldb-break-at-start, condition-extras): New functions.
Require eql-specializer, eql-specializer-object and specializer-direct-methods in swank-mop package.
2004-09-14 Marco Baringer <firstname.lastname@example.com> * swank-backend.lisp (inspector, make-default-inspector): Add an INSPECTOR object argument to the inspector protocol. This allows implementations to provide more information regarding cretain objects which can't be, or simply aren't, inspected using the generic inspector implementation. also export inspect-for-emacs and related symbols from the backend package. (make-default-inspector): New function. * swank.lisp (inspected-parts): Rename to inspect-for-emacs and add an inspector argument. Move inspect-for-emacs to swank-backend.lisp, leave only the default implementations. * swank-openml.lisp, swank-sbcl.lisp, swank-allegro.lisp, swank-cmucl.lisp, swank-lispworks.lisp (inspected-parts): Rename and change argument list. Many of the inspected-parts methods were being clobbered by the inspected-parts in swank.lisp, now that they're being used the return values have been updated for the new inspect-for-emacs API.
2004-09-13 Marco Baringer <firstname.lastname@example.com> * swank.lisp (inspected-parts): Added inspectors for pathnames, logical pathnames, standard-objects and numbers (float, ratio, integer and complex). * swank-backend.lisp: Define import-to-swank-mop. * swank-openmcl.lisp, swank-sbcl.lisp, swank-allegro.lisp: Don't define the import-to-swank-mop function (now defined in swank-backend.lisp). * swank-cmucl.lisp (swank-mop, function-name): Implement backend for inspector. (arglist): Add support for extracting arglists from function objects. (create-socket): Don't specify the host on PPC.
2004-09-13 Marco Baringer <email@example.com> * swank.lisp: New inspector protocol. The lisp side now returns a specially formated list of "things" to format which are then passed to emacs and rendered in the inspector buffer. Things can be either text, recursivly inspectable values, or functions to call. (inspected-parts): Redefine for new inspector protocol. (*inspectee-parts*): Redefine as array. (*inspectee-actions*): New array, similar to *inspectee-parts*. (reset-inspector): Update for new implementation of *inspectee-parts* and new variable *inspectee-actions*. (inspector-contents-for-emacs): New function. (inspect-object): Update for new inspector protocol. (inspector-nth-part): Update for new *inspectee-parts* implementation. (inspector-call-nth-action): New function. * slime.el (slime-inspector-action-face): New face. (slime-open-inspector): Adapt to new inspector protocol. (slime-inspector-operate-on-point): New function, subsumes slime-inspector-inspect-object-at-point. (slime-inspector-next-inspectable-object): Skip to next object, not just end of current object; wrap around buffer. (slime-inspector-mode-map): change bindings of [return] and "\C-m" * swank-bacend.lisp (swank-mop): New package. Simply defines all the MOP related symbols we need from an implementation. (arglist): Update doc string. Provide default implementation. (function-name): New backend function. * swank-allegro.lisp (swank-mop, slot-definition-documentation): Implement. * swank-sbcl.lisp (swank-mop, slot-definition-documentation, function-name): Implement. * swank-openmcl.lisp (swank-mop, function-name): Implement. (arglist): Implement for function objects.
Adding directory argument to swank-compile-string.
(sldb-condition): Show the original condition in the message.
Implement actionable references in *slime-compiler-notes*. Tested with sbcl-0.8.12 and sbcl CVS head -- I hope I haven't broken things for non-SBCL users... (There are some things in this that I think are suboptimal: they have been marked with FIXMEs. I lack elispfu in sufficient measure to clean them up confidently)
Added a new backend function `buffer-first-change' which is called via Emacs's `first-change-hook' in slime-mode buffers. This gives Lisp a chance to do something with source files before you change them on disk.
(make-stream-interactive): This backend function is called with each stream that will be used for user-interaction, i.e. the redirected stdio streams. Can be used to setup special output-flushing or similar.
(definterface): Don't use NO-APPLICABLE-METHOD for detail methods. Instead just define them as regular methods with all argument types being T. Defimplementation will then replace them by using the same signature. N-A-M was a stupid idea!
(thread-id, find-thread): New backend function.
(frame-var-value): New backend function.
(unbound-slot-filler): New structure for representing an unbound slot in the inspector functions.
Removed hook mechanism (now in swank.lisp).
(add-hook, run-hook): Added an Emacs-like hook mechiansm. The hope is that this will make some sections of the code more self-describing by showing where they hook in. (*new-connection-hook*): Hook run when a new connection is established. Initialized to '(swank-backend:emacs-connected). (*pre-reply-hook*): Hook run before sending a reply to Emacs.
(emacs-connected): Pass the redirected stream as argument, so that the OpenMCL backend can add it to CCL::*AUTO-FLUSH-STREAMS*.
(sldb-step, default-readtable-alist): New backend functions.
(default-directory, call-with-syntax-hooks): New functions.
(network-error): Inherit from simple-error to get correct initargs.
(format-sldb-condition): New backend function to format conditions for SLDB. (condition-references): New function to return a list of documentation references associated with a condition.
Wrap EXPORT calls in EVAL-WHEN. Fixes many warnings in ACL.
Trivial doc additions.
(with-struct): New macro.
(:location): Added a 'hints' property list to the location structure. This is for extra information that compliments the buffer/position.
(arglist): Return a list or :not-available. Don't return strings or raise exceptions.
*** empty log message ***
See ChangeLog entry 2004-04-06 Marco Baringer
(arglist): Specify that strings returned from ARGLIST should be READable.
*** empty log message ***
(set-default-directory): New backend function.
(find-definitions): Fix docstring.
Minor modifications.
Merge package-split branch into main trunk.
(:swank-backend): New package. (definterface): Export the symbol. (:location, :error, :position, :buffer): Define structure of source locations here. (preferred-communication-style, compute-backtrace, print-frame): New functions. (debugger-info-for-emacs): Deleted. Renaming: compile-file-for-emacs -> swank-compile-file compile-string-for-emacs -> swank-compile-string compile-system-for-emacs -> swank-compile-stystem arglist-string -> arglist backrace -> compute-backtrace find-function-locations -> find-definitions
(thread-alive-p): Add default implementation. (describe-primitive-type): Add default implementation. (inspected-parts): Implemented for Allegro and CLISP.
See ChangeLog entry "2004-02-27 Macro Baringer"
(:swank): export connection-info.
* slime.el: Various bits of support for maintaining multiple SLIME connections to different Lisp implementations simultaneously. * swank-{backend,cmucl,sbcl,clisp,lispworks,openmcl}.lisp (lisp-implementation-type-name): Add function to return simple name of lisp implementation; used by new multi-connection functionality in slime.el.
(add-sigio-handler): Renamed from add-input-handler. (remove-sigio-handlers): Renamed from remove-input-handlers. (add-fd-handler, remove-fd-handlers): New interface functions.
(compile-system-for-emacs): Add default implementation. (compiler-condition): New slot short-message.
(create-socket): Take interface as argument.
(thread-name): Take a thread object as argument. (thread-status, all-threads, thread-alive-p): New function. (thread-id): Deleted.
(debugger-info-for-emacs): Export it.
see ChangeLog
Merge stateless-emacs branch into main trunk.
Use signal driven IO for CMUCL and SBCL. Use one thread per request for multithreaded lisps.
Patch by Robert E. Brown. Add type declarations to keep SBCL quiet.
Profiler support. Patch by Michael Weber.
(definterface, defimplementation): Use PROGN instead of PROG1 to preserve top-level-ness of expanded DEFGENERIC/DEFMETHOD forms. Lisp tip from Tim Moore.
(return-from-frame, restart-frame): Are now interface functions.
(definterface, defimplementation): New macros as sugar around defgeneric/defmethod. This supports conveniently supplying a default (on NO-APPLICABLE-METHOD). Because the underly mechanism is still generic functions this doesn't break code that isn't updated. (warn-unimplemented-interfaces): Print a list of backend functions that are not implemented. (xref and list-callers): Defined interfaces for these functions. (describe-definition): New function that takes over from the many other describe-* functions called from apropos listing. Takes the type of definition (as returned by describe-symbol-for-emacs) as an argument.
(arglist-string): Refactor common code to swank.lisp. (call-without-interrupts, getpid): Are now generic functions.
Refactor inspector code.
(remove-input-handlers): New function.
Changed multiprocessing interface.
(create-socket, local-port, close-socket, accept-connection, add-input-handler, spawn): New functions. (accept-socket/stream, accept-socket/run): Deleted.
(accept-socket/stream, accept-socket/run): New functions replacing the ancient (over 24 hours!) `create-socket-server'. This interface is much simpler.
Fixed () arg in with-compilation-hooks.
(create-socket-server): Generic callback-driven TCP server interface. Replaces `create-swank-server', with the higher-level logic moved into swank.lisp. (emacs-connected): Invoked when Emacs initially connects, as a hook for backend implementations. (make-fn-streams): Interface for creating pairs of input/output streams that are backended by callback functions. Used to implement redirected-via-Emacs standard I/O streams.
(debugger-info-for-emacs, find-function-locations): Doc fix.
(with-compilation-hooks): Replace () with (&rest _) to make CLISP happy.
Exported invoke-nth-restart-for-emacs and sldb-break-with-default-debugger.
Defined multiprocessing interface.
* swank-backend.lisp (call-with-compilation-hooks): new GF should set up all appropriate error condition loggers etc to do a compilation preserving the notes. Implement for sbcl, cmucl
(function-source-locations): Is replaces function-source-location-for-emacs. Make it at generic function. (function-source-location-for-emacs): Remove.
export slime-debugger-function
List exported symbols explicitly.
(compiler-condition): Removed use of :documentation slot option. That is not portable (to CMUCL 18e).
(backtrace, eval-in-frame, frame-catch-tags, frame-locals, frame-source-location-for-emacs): More interface functions.
* swank-backend.lisp (call-with-debugging-environment, sldb-condition, debugger-info-for-emacs): More callbacks defined.
* swank-sbcl.lisp (describe-symbol-for-emacs): Don't ask for (documentation SYM 'class), CLHS says there isn't any 'class documentation (and SBCL warns). * swank.lisp, swank-cmucl.lisp, swank-sbcl.lisp: Refactored interface through swank-backend.lisp for: swank-compile-file, swank-compile-string, describe-symbol-for-emacs (apropos), macroexpand-all, arglist-string. * swank-backend.lisp: New file defining the interface between swank.lisp and the swank-*.lisp implementation files.
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.
|ViewVC Help
|Powered by ViewVC 1.1.5