Commit 5cb993b1 authored by Dave Cooper's avatar Dave Cooper

Merge branch 'release/1585p002'

parents d04166da d0fd4d99
;;;; -*- coding: utf-8 -*-
(asdf:defsystem
#:ta2
:description
(asdf:defsystem #:ta2 :description
"The Gendl™ (legacy) Testing and Tracking Utility, version 2 (using Ajax but pre-gdlAjax, and no JQuery or CSS)"
:author
"Genworks International"
:license
:author "Dave Cooper and Genworks International" :license
"Gnu Affero General Public License (please see http://www.gnu.org/licenses/)"
:serial
t
:version
"20131207"
:depends-on
(:gwl-graphics)
:serial t :version "20140204" :depends-on (:gwl-graphics)
#-asdf-unicode :defsystem-depends-on #-asdf-unicode (:asdf-encodings)
#+asdf-encodings :encoding #+asdf-encodings :utf-8
:components
((:file "source/package")
(:file "source/parameters")
(:file "source/javascript")
(:file "source/action-object")
(:file "source/ajax")
(:file "source/assembly")
(:file "source/click-mode")
(:file "source/inspector")
(:file "source/object-tree")
(:file "source/part-type-form")
(:file "source/publish")
(:file "source/viewport")))
((:file "source/package") (:file "source/parameters")
(:file "source/javascript") (:file "source/action-object")
(:file "source/ajax") (:file "source/assembly")
(:file "source/click-mode") (:file "source/inspector")
(:file "source/object-tree") (:file "source/part-type-form")
(:file "source/publish") (:file "source/viewport")))
;;;; -*- coding: utf-8 -*-
(asdf:defsystem
#:tasty
:description
"The Gendl™ Web-based Development Environment (tasty)"
:author
"Genworks International"
:license
(asdf:defsystem #:tasty :description
"The Gendl™ Web-based Development Environment (tasty)" :author
"Dave Cooper and Genworks International" :license
"Gnu Affero General Public License (please see http://www.gnu.org/licenses/)"
:serial
t
:version
"20131207"
:depends-on
(:tree :gwl-graphics)
:serial t :version "20140204" :depends-on (:tree :gwl-graphics)
#-asdf-unicode :defsystem-depends-on #-asdf-unicode (:asdf-encodings)
#+asdf-encodings :encoding #+asdf-encodings :utf-8
:components
((:file "source/package")
(:file "source/parameters")
(:file "source/assembly")
(:file "source/initialize")
(:file "source/inspector")
(:file "source/menu")
(:file "source/new-inspector")
(:file "source/newer-inspector")
(:file "source/part-type-form")
(:file "source/publish")
(:file "source/status-object")
(:file "source/test-part")
(:file "source/test-part2")
(:file "source/two-viewports")
(:file "source/viewport")
(:file "source/zzinit")))
((:file "source/package") (:file "source/parameters")
(:file "source/assembly") (:file "source/initialize")
(:file "source/inspector") (:file "source/menu")
(:file "source/new-inspector") (:file "source/newer-inspector")
(:file "source/part-type-form") (:file "source/publish")
(:file "source/status-object") (:file "source/test-part")
(:file "source/test-part2") (:file "source/two-viewports")
(:file "source/viewport") (:file "source/zzinit")))
;;;; -*- coding: utf-8 -*-
(asdf:defsystem
#:translators
:description
(asdf:defsystem #:translators :description
"The Gendl™ Translators to/from XML and potentially other high-level KBE and Knowledge formats"
:author
"Genworks International"
:license
:author "Dave Cooper and Genworks International" :license
"Gnu Affero General Public License (please see http://www.gnu.org/licenses/)"
:serial
t
:version
"20131207"
:depends-on
(:gwl)
:serial t :version "20140204" :depends-on (:gwl)
#-asdf-unicode :defsystem-depends-on #-asdf-unicode (:asdf-encodings)
#+asdf-encodings :encoding #+asdf-encodings :utf-8
:components
((:file "xml/source/package")
(:file "xml/source/genworks")
(:file "xml/source/definition-tree")
(:file "xml/source/gdl2xml")
((:file "xml/source/package") (:file "xml/source/genworks")
(:file "xml/source/definition-tree") (:file "xml/source/gdl2xml")
(:file "xml/source/xml2gdl")))
;;;; -*- coding: utf-8 -*-
(asdf:defsystem
#:tree
:description
(asdf:defsystem #:tree :description
"The Gendl™ Tree component used by Tasty and potentially as a UI component on its own"
:author
"Genworks International"
:license
:author "Dave Cooper and Genworks International" :license
"Gnu Affero General Public License (please see http://www.gnu.org/licenses/)"
:serial
t
:version
"20131207"
:depends-on
(:gwl-graphics)
:serial t :version "20140204" :depends-on (:gwl-graphics)
#-asdf-unicode :defsystem-depends-on #-asdf-unicode (:asdf-encodings)
#+asdf-encodings :encoding #+asdf-encodings :utf-8
:components
((:file "source/package")
(:file "source/parameters")
(:file "source/ajax")
(:file "source/assembly")
((:file "source/package") (:file "source/parameters")
(:file "source/ajax") (:file "source/assembly")
(:file "source/newertree")))
;;;; -*- coding: utf-8 -*-
(asdf:defsystem
#:yadd
:description
"The Gendl™ Yet Another Definition Documenter (yadd)"
:author
"Genworks International"
:license
(asdf:defsystem #:yadd :description
"The Gendl™ Yet Another Definition Documenter (yadd)" :author
"Dave Cooper and Genworks International" :license
"Gnu Affero General Public License (please see http://www.gnu.org/licenses/)"
:serial
t
:version
"20131207"
:depends-on
:serial t :version "20140204" :depends-on
(:gwl-graphics #-allegro :cl-html-parse)
#-asdf-unicode :defsystem-depends-on #-asdf-unicode (:asdf-encodings)
#+asdf-encodings :encoding #+asdf-encodings :utf-8
:components
((:file "source/package")
(:file "source/genworks")
(:file "source/parameters")
(:file "source/mixins")
((:file "source/package") (:file "source/genworks")
(:file "source/parameters") (:file "source/mixins")
(:file "source/define-object-documentation")
(:file "source/assembly")
(:file "source/ass")
(:file "source/assembly") (:file "source/ass")
(:file "source/format-documentation")
(:file "source/function-documentation")
(:file "source/initialize")
(:file "source/publish")
(:file "source/test-part")
(:file "source/variable-documentation")
(:file "source/zzinit")))
(:file "source/function-documentation") (:file "source/initialize")
(:file "source/publish") (:file "source/test-part")
(:file "source/variable-documentation") (:file "source/zzinit")))
;;;; -*- coding: utf-8 -*-
(asdf:defsystem
#:base
:description
"The Gendl™ Base Core Kernel Engine"
:author
"Genworks International"
:license
(asdf:defsystem #:base :description
"The Gendl™ Base Core Kernel Engine" :author
"Dave Cooper and Genworks International" :license
"Gnu Affero General Public License (please see http://www.gnu.org/licenses/)"
:serial
t
:version
"20131207"
:depends-on
nil
:serial t :version "20140204" :depends-on nil
#-asdf-unicode :defsystem-depends-on #-asdf-unicode (:asdf-encodings)
#+asdf-encodings :encoding #+asdf-encodings :utf-8
:components
((:file "source/package")
(:file "source/genworks")
(:file "source/presets")
(:file "source/parameters")
(:file "source/metaclasses")
(:file "source/utilities")
(:file "source/start")
(:file "expanders/source/inputs")
((:file "source/package") (:file "source/genworks")
(:file "source/presets") (:file "source/parameters")
(:file "source/metaclasses") (:file "source/utilities")
(:file "source/start") (:file "expanders/source/inputs")
(:file "expanders/source/computed-slots")
(:file "expanders/source/functions")
(:file "expanders/source/methods")
......@@ -36,15 +23,10 @@
(:file "macros/source/define-format")
(:file "rest/source/parameters")
(:file "rest/source/quantification")
(:file "rest/source/aggregate")
(:file "rest/source/utilities")
(:file "rest/source/null-part")
(:file "rest/source/vanilla-mixin")
(:file "rest/source/base-rule-object")
(:file "rest/source/bodies")
(:file "rest/source/aggregate") (:file "rest/source/utilities")
(:file "rest/source/null-part") (:file "rest/source/vanilla-mixin")
(:file "rest/source/base-rule-object") (:file "rest/source/bodies")
(:file "rest/source/ignore-errors-with-backtrace")
(:file "rest/source/init")
(:file "rest/source/make-part")
(:file "rest/source/sequence")
(:file "zzinit/source/initialize")
(:file "rest/source/init") (:file "rest/source/make-part")
(:file "rest/source/sequence") (:file "zzinit/source/initialize")
(:file "zzinit/source/zzinit")))
......@@ -39,6 +39,8 @@
(defparameter *force-restore-slot-default?* nil)
(defparameter *override-non-settables?* t)
(defparameter *color-plist*
(list :periwinkle "#aaaaff"
:aqua "#00ffff"
......
......@@ -448,7 +448,24 @@ error will be generated.
:&key ((remember? t) \"Boolean. Determines whether to save in current version-tree.\"
(warn-on-non-toplevel? t) \"Boolean. Determines whether to warn if this is called from the body of a cached slot.\" )"
set-slot!
(attribute value &key (remember? t) (warn-on-non-toplevel? t))
(attribute value &key (remember? t) (warn-on-non-toplevel? t) (override-non-settable? *override-non-settables?*))
(unless (or (gethash attribute (the %settable-slots%))
(member attribute (the (message-list :category :required-input-slots))))
(let ((message (format nil "The slot ~s is not settable in ~a of type ~a."
attribute
(cons 'the (reverse (the root-path)))
(the type))))
(if override-non-settable?
(warn (format nil "~a Setting it anyway...
To get a continuable error instead, use :override-non-settable? t or
globally (setq *override-non-settables?* t).
Note that this behavior may change to error by default in a future GDL release.
"
message))
(cerror "Set the slot anyway." message))))
(when (and warn-on-non-toplevel?
*notify-cons*)
......
......@@ -89,6 +89,7 @@ If you are interested in this effort we would love to hear from you at open-sour
#:*ensure-lists-when-bashing?*
#:*error-on-reserved-words?*
#:*force-restore-slot-default?*
#:*override-non-settables?*
#:*gdl-init-functions*
#:*gendl-version*
#:*gendl-patch-level*
......
......@@ -21,8 +21,8 @@
(in-package :gdl)
;;(defparameter *gendl-version* "1585p001")
(defparameter *gendl-version* "ql-2013-12")
(defparameter *gendl-version* "1585p002")
;;(defparameter *gendl-version* "ql-2013-12")
(defparameter *gendl-patch-level* nil)
(eval-when (:compile-toplevel :load-toplevel :execute)
......
......@@ -25,7 +25,7 @@
(defun initialize ()
(declare (ignore edition))
(setq glisp:*gdl-program-home* (glisp:executable-homedir-pathname))
(setq glisp:*gdl-program-home* (probe-file (glisp:executable-homedir-pathname)))
(setq glisp:*gdl-home* (make-pathname :name nil
:type nil
:directory (butlast (pathname-directory glisp:*gdl-program-home*))
......
;;;; -*- coding: utf-8 -*-
(asdf:defsystem
#:cl-lite
:description
"The Gendl™ Compile-and-Load Lite Utility"
:author
"Genworks International"
:license
(asdf:defsystem #:cl-lite :description
"The Gendl™ Compile-and-Load Lite Utility" :author
"Dave Cooper and Genworks International" :license
"Gnu Affero General Public License (please see http://www.gnu.org/licenses/)"
:serial
t
:version
"20131207"
:depends-on
(:glisp)
:serial t :version "20140204" :depends-on (:glisp)
#-asdf-unicode :defsystem-depends-on #-asdf-unicode (:asdf-encodings)
#+asdf-encodings :encoding #+asdf-encodings :utf-8
:components
((:file "source/package")
(:file "source/parameters")
(:file "source/cl-lite")
(:file "source/initialize")
((:file "source/package") (:file "source/parameters")
(:file "source/cl-lite") (:file "source/initialize")
(:file "source/zzinit")))
;;;; -*- coding: utf-8 -*-
(asdf:defsystem
#:bus
:description
"The Gendl™ Wireframe School Bus Demo"
:author
"Genworks International"
:license
(asdf:defsystem #:bus :description
"The Gendl™ Wireframe School Bus Demo" :author
"Dave Cooper and Genworks International" :license
"Gnu Affero General Public License (please see http://www.gnu.org/licenses/)"
:serial
t
:version
"20131207"
:depends-on
(#-gwl-graphics :gwl-graphics)
:serial t :version "20140204" :depends-on nil
#-asdf-unicode :defsystem-depends-on #-asdf-unicode (:asdf-encodings)
#+asdf-encodings :encoding #+asdf-encodings :utf-8
:components
((:file "source/package")
(:file "source/assembly")
(:file "source/body")
(:file "source/chassis")
(:file "source/interior")
(:file "source/rule-ackermann")
(:file "source/axle")
(:file "source/fleet")
(:file "source/frame-rail")
(:file "source/frame")
((:file "source/package") (:file "source/assembly")
(:file "source/body") (:file "source/chassis")
(:file "source/interior") (:file "source/rule-ackermann")
(:file "source/axle") (:file "source/fleet")
(:file "source/frame-rail") (:file "source/frame")
(:file "source/html-writer-assembly")
(:file "source/html-writer-body")
(:file "source/html-writer-chassis")
(:file "source/html-writer-interior")
(:file "source/html-writer-rule-ackermann")
(:file "source/inter-seat-clearance-check")
(:file "source/inter-seat-spacing")
(:file "source/knuckle")
(:file "source/parameters")
(:file "source/publish")
(:file "source/rear-axle")
(:file "source/seat")
(:file "source/seating-section")
(:file "source/seating-side")
(:file "source/inter-seat-spacing") (:file "source/knuckle")
(:file "source/parameters") (:file "source/publish")
(:file "source/rear-axle") (:file "source/seat")
(:file "source/seating-section") (:file "source/seating-side")
(:file "source/wheel")))
"(#-gwl-graphics :gwl-graphics)"
\ No newline at end of file
nil
\ No newline at end of file
;;;; -*- coding: utf-8 -*-
(asdf:defsystem
#:ledger
:description
"The Gendl™ Ledger Bookkeeping Demo"
:author
"Genworks International"
:license
(asdf:defsystem #:ledger :description
"The Gendl™ Ledger Bookkeeping Demo" :author
"Dave Cooper and Genworks International" :license
"Gnu Affero General Public License (please see http://www.gnu.org/licenses/)"
:serial
t
:version
"20131207"
:depends-on
:serial t :version "20140204" :depends-on
(#-gwl :gwl)
#-asdf-unicode :defsystem-depends-on #-asdf-unicode (:asdf-encodings)
#+asdf-encodings :encoding #+asdf-encodings :utf-8
:components
((:file "source/package")
(:file "source/assembly")
(:file "source/html")
(:file "source/zzinit")))
((:file "source/package") (:file "source/assembly")
(:file "source/html") (:file "source/zzinit")))
"(#-gendl :gwl-graphics)"
\ No newline at end of file
nil
\ No newline at end of file
;;;; -*- coding: utf-8 -*-
(asdf:defsystem
#:robot
:description
"The Gendl™ Simplified Android Robot example "
:author
"Genworks International"
:license
(asdf:defsystem #:robot :description
"The Gendl™ Simplified Android Robot example " :author
"Dave Cooper and Genworks International" :license
"Gnu Affero General Public License (please see http://www.gnu.org/licenses/)"
:serial
t
:version
"20131207"
:depends-on
(#-gendl :gwl-graphics)
:serial t :version "20140204" :depends-on nil
#-asdf-unicode :defsystem-depends-on #-asdf-unicode (:asdf-encodings)
#+asdf-encodings :encoding #+asdf-encodings :utf-8
:components
((:file "source/package")
(:file "source/assembly")
(:file "source/initialize")
(:file "source/parameters")
((:file "source/package") (:file "source/assembly")
(:file "source/initialize") (:file "source/parameters")
(:file "source/zzinit")))
;;;; -*- coding: utf-8 -*-
(asdf:defsystem
#:wire-world
:description
(asdf:defsystem #:wire-world :description
"The Gendl™ Wire-World demo and test-case for wireframe tessellation and X3D output"
:author
"Genworks International"
:license
:author "Dave Cooper and Genworks International" :license
"Gnu Affero General Public License (please see http://www.gnu.org/licenses/)"
:serial
t
:version
"20131207"
:depends-on
:serial t :version "20140204" :depends-on
(#-gwl-graphics :gwl-graphics)
#-asdf-unicode :defsystem-depends-on #-asdf-unicode (:asdf-encodings)
#+asdf-encodings :encoding #+asdf-encodings :utf-8
:components
((:file "source/package") (:file "source/assembly")))
:components ((:file "source/package") (:file "source/assembly")))
;;;; -*- coding: utf-8 -*-
(asdf:defsystem
#:examples
:description
"The Gendl™ examples Subsystem"
:author
"Genworks International"
:license
(asdf:defsystem #:examples :description
"The Gendl™ examples Subsystem" :author
"Dave Cooper and Genworks International" :license
"Gnu Affero General Public License (please see http://www.gnu.org/licenses/)"
:serial
t
:version
"20131207"
:depends-on
(:gwl-graphics :surf)
:serial t :version "20140204" :depends-on (:gwl-graphics :surf)
#-asdf-unicode :defsystem-depends-on #-asdf-unicode (:asdf-encodings)
#+asdf-encodings :encoding #+asdf-encodings :utf-8
:components
((:file "source/ch2-examples")
(:file "source/ch3-examples")
(:gdl "source/primi-plane")
(:gdl "source/ui-primi-plane")))
((:file "source/ch2-examples") (:file "source/ch3-examples")
(:gdl "source/primi-plane") (:gdl "source/ui-primi-plane")))
;;;; -*- coding: utf-8 -*-
Welcome to the Genworks® Gendl™ Environment
Welcome to the Genworks® GDL and Gendl® Environment
=========
......@@ -9,8 +10,9 @@ Startup
After some time, you should see a "GDL-USER>" command prompt.
A web server also starts by default on port 9000 of the local host,
which allows you to visit, for example:
A web server also starts by default on port 9000 (or the next
available port above 9000) of the local host, which allows you to
visit, for example:
http://localhost:9000/tasty
......@@ -21,35 +23,35 @@ wireframe rendering of a simplified android robot.
See "Troubleshooting" below if you experience trouble starting up.
================
Emacs and Gendl
================
==================
Authoring GDL Code
==================
Option 1: Gnu Emacs
===================
Although you are free to use other editors or IDEs, spending some time
to get familiar with Emacs is the best small investment you can make
for working with a Lisp-based system like Gendl. Slime (Superior Lisp
Interaction Mode for Emacs) which works across all major OS platforms
and CL implementations and is well-supported by the Common Lisp
community. Genworks plans to continue adding specialized Gendl support
to Slime.
All things considered, Gnu Emacs is the most powerful, portable, and
risk-free IDE (Integrated Development Environment) available for
working with Lisp-based systems like GDL. Spending some time getting
familiar with Gnu Emacs is perhaps the best small investment you can
make.
If you are new to Emacs, you can get a general Emacs Tutorial under
the Help menu above. After completing the Tutorial, try to practice
what you learned by forcing yourself not to use the mouse too much in
Emacs.
Touch-typing ability is definitely an asset for Gendl development, but
Touch-typing ability is definitely an asset for GDL development, but
with auto-completion of symbols (possible with M-/ -- you'll know what
that means after looking at the tutorial) it is possible to become a
world-class Gendl developer without having world-class typing speed.
world-class GDL developer without having world-class typing speed.
It is strongly recommended to map your Caps Lock key to be a Control
key. This will give you a much more comfortable experience, allowing
you to use all the Emacs navigation keystrokes without constantly
curling your left little finger down to the Control key. For Linux
and Mac, this is easy to do in your System Preferences. For Windows,
here are some resources which can help you do this (the first one
appears not to require Administrator access on your machine):
key. This will allow you to use all the Emacs navigation keystrokes
without constantly curling your left little finger down to the Control
key. For Linux and Mac, this is easy to do in your System
Preferences. For Windows, here are some resources which can help you
do this:
http://johnhaller.com/jh/useful_stuff/disable_caps_lock/
......@@ -57,93 +59,93 @@ Note tha