2009-09-13  niels giesen  <sharik@localhost>

	* Multiple patches by Brent Goodrick to fix bugs thrown by
	completion functions inside comments and let/let* forms.
 
2008-10-12  Niels Giesen  <niels.giesen@gmail.com>


	* gimp-mode.el (gimp-get-closure-code): traced down hanging emacs
	on quickly repeated keypresses (TAB and SPACE), to this call.
	Added a timeout argument of one second to the call of
	gimp-eval-to-string.
	(gimp-eval-to-string): add timeout option to avoid infinite
	loop. (Note: this bug could have also been avoided by setting
	`gimp-try-and-get-closure-code-p' to non-nil)

2008-10-05  Niels Giesen  <sharik@localhost>

	* gimp-mode.el (gimp-selector): Add ESC as binding to cancel the
	selector + mention it under ?. Mention binding of ?c to
	gimp-cl-connect under ?.
	(gimp-first-run-action): Save input ring when gimp is closed
	externally.
	(gimp-buffer): Just (get-buffer "*GIMP*") if process is finished.
	(run-gimp): clear gimp-output before going any further. This
	closes the bug "Wrong argument: sequencep Copyright" (or something
	like that..).

	* gimp-mode.el, gimp-install.el: change default gimp
	version from 2.4 to 2.6

2008-08-24  Niels Giesen  <sharik@localhost>

	* gimp-init.el (magic-mode-alist): when the string "gimp" is part
	of buffer-file-name (anywhere) AND filename ends in ".scm",
	gimp-mode will be activated. This effectively means any scheme
	script distributed with the GIMP, or that is in your
	gimp-configuration directory will use gimp-mode.
 
2008-08-03  Niels Giesen  <sharik@localhost>

	* gimp-mode.el (gimp-snippets): drop radio snippet, as the param
	type does not exist

2008-08-03  Niels Giesen  <niels.giesen@gmail.com>

	* gimp-mode.el (gimp-comint-filter): add prettification to output
	of the GIMP.

	* fud.scm: add stepping inside and function instruction.

	* fud.el: add fud-bullet bitmap to show breakpoints.

	* gimp-mode.el (gimp-open-image): changed order so that message is
	not put in the *GIMP* buffer.

2008-08-01  Niels Giesen  <sharik@localhost>

	* gimp-mode.el (gimp-completion-rules): enhance rule for palettes
	(gimp-shortcuts): gimp-clear (,clear from REPL) was added, to
	clear the REPL screen.
	(gimp-fnsym-in-current-sexp): fix for list beginning with a
	number (that bugged `gimp-echo' higher up the stack): now returns
	nil when the symbol begins with a number.
	(gimp-echo): change cache-resp into response, as we're (a long
	time..) not using caches anymore to save the echoing.

	* gimp-install.el (gimp-install): put installation in a function,
	then call it.

	* fud.el (Module): new FUD FU debugger - elisp side

	* fud.scm (Module): new FUD FU debugger - scheme side

	* gimp-mode.el (gimp-switch-to-latest-source-buffer): made this
	functionality a separate command, and enhanced it so that you will
	switch to another source buffer if already in a source buffer.
	(gimp-help-mode-map): removed gimp-help-refresh (which isn't a
	command)
	(gimp-mode): Add some rules to highlight the frequent use of
	UPPERCASE CONSTANTS in script-fu. This required turning off
	CASE-FOLD in `gimp-mode'.
	(fud): FUD: the new fu debugger
	(gimp-comint-filter): add FUD actions
	(gimp-send-last-sexp): call `fud-update-breakpoints' before
	sending something to the GIMP.
	(gimp-send-input): call `fud-update-breakpoints' before
	sending input to the GIMP.

2008-07-29    <ngiesen@NIELS>

	* gimp-mode.el (inferior-gimp-mode-map): fix for buf introduced in
	v1.44: instead of parent-mode a "truer" mixin for the menu map.

2008-07-27  Niels Giesen  <sharik@localhost>

	* gimp-mode.el (gimp-all-scm-files): collect only files ending in
	".scm"
	(gimp-save-scm-files): function to ask user whether or not to save
	scm files (calling `save-some-buffers'). 
	(gimp-refresh-scripts): call gimp-save-scm-files before proceeding.
	(gimp-echo-p): made echoing in non-interactive call optional based
	on this variable.
	(gimp-toggle-completion): toggles new variable `gimp-complete-p'
	that defines whether or not to complete when not called
	interactively. Can be nice sometimes (like, when passing LISP forms
	that are to be evalled as arguments, completion can get in the way).
	This is bound to C-cc.
	(gimp-docs-alist): add reference to SICP
	(gimp-menu-map): menu's added to all gimp-*-mode-maps.

2008-07-24  Niels Giesen  <sharik@localhost>

	* gimp-init.el (auto-insert-alist): add auto-insert rule for
	gimp-mode buffers;
	(auto-mode-alist): safe entry to auto-mode-alist (buffers
	whose files start with s-f- or script-fu- and end in .scm
	are treated as gimp-mode buffers).

	* gimp-mode.el (gimp-echo): fix for unconnected gimp-mode still
	seeking a process.
	(gimp-fnsym-in-current-sexp): idem

	* emacs-interaction.scm: bugfix on version check (>= 2.5) for
	placement of the script in the GIMP menu. Replaced (display "\n")
	with (newline).

2008-07-21  Niels Giesen  <sharik@localhost>

	* gimp-mode.el (gimp-data-dir): fixed typo
	(gimp-open-image): enhanced the code.

	* gimp-install.el: patch by Lennart Borgman to deal with
	Emacs23+windows fboundness of `make-symbolic-link'.

2008-07-17  Niels Giesen  <sharik@localhost>

	* gimp-mode.el (gimp-real-apropos): added doc

2008-07-16  niels giesen  <sharik@matroshka>

	* gimp-mode.el (gimp-defcommand): added debug instruction
	(gimp-fnsym-in-current-sexp): fix for point-min bug

2008-07-11  Niels Giesen  <sharik@reetkevert.sshunet.nl>

	* gimp-install.el (gmd): Better default directory for windows
	users.

	* gimp-mode.el (gimp-highlight, gimp-set-face, gimp-button): some
	utility macros & functions to make propertised text. Refactored
	most occurrences of `propertize'
	(gimp-command-line-args): add note of version for doc.
	(gimp-first-run-action): add message for windows users.
	(gimp-describe-procedure): factored out parts into separate
	functions `gimp-headline', `gimp-menu-bar', `gimp-summary' and
	`gimp-argument-listing'.
	Fix violation of 80 characters rule.


2008-07-04  Niels Giesen  <niels.giesen@gmail.com>

	* gimp-mode.el (gimp-current-arg): fixed eob error

2008-07-03  Niels Giesen  <sharik@reetkevert.sshunet.nl>

	* gimp-mode.el (gimp-try-and-get-closure-code-p): new custom
	variable that defines whether or not to get a function/macros
	closure code for doc echoing (to speed up interactive use, mainly
	in slow client mode).
	(gimp-get-closure-code): first check whether symbol is bound
	before trying to get the closure code to avoid error.

	* gimp-init.el: load gimp-vars.el to read in install-time variables.

	* gimp-install.el: simplified script for shell invocation

	* build.sh: add emacs invocation of build.el

	* gimp-mode.el (gimp-src-dir): moved to gimp-vars.el (which is written at
	install-time)
	(gimp-describe-procedure): adjusted argument option parsing for dump.db
	(gimp-get-proc-arg-descriptive-name): adjusted argument option parsing for dump.db

2008-06-22  Niels Giesen  <sharik@reetkevert.sshunet.nl>

	* gimp-mode.el (gimp-first-run-action): removed automatic
	configuration, since this is moved to gimp-install.el
	(gimp-apropos): made gimp-apropos a real apropos instead of simple
	name-matching

2008-06-11    <ngiesen@NIELS>

	* gimp-mode.el (gimp-insert-sexp-at-repl): (use function
	gimp-buffer)
	(gimp-first-run-action): make copy instead of symbolic link when
	last is impossible
	(gimp-read-dump): mapcar -> mapc
	(gimp-complete-oblist): stand-alone functino, to be pushed into
	hippie-expand-try-functions-list. Needs further refinement (?)
 
2008-06-08  Niels Giesen  <sharik@reetkevert.sshunet.nl>

	* gimp-mode.el (gimp-fnsym-in-current-sexp): fixed bug for when
	string before has comma, and made a backout for when meeting the
	process-mark.

2008-06-07  niels giesen  <sharik@matroshka>

	* gimp-mode.el: save and restore input ring also in client mode.

	* README: changed everything to reflect the new client mode.

	* emacs-interaction.scm (emacs-dir, make-emacs-file,
	with-output-to-emacs-file): added.
	(script-fu-dump-for-emacs): shortened (by using
	with-output-to-emacs-file)
	(*emacs-cl-output*): nil)
	
	(*error-hook*): fix GIMP bug
	(emacs-cl-output): temp var
	(gimp-cl-handler): error handler to handle errors in client calls
	gracefully
	
	* gimp-init.el: add autoload for `gimp-cl-connect'

	* gimp-mode.el (eldoc): added load-time requirement
	(thingatpt): added load-time requirement
	(gimp-cl-proc): added client process
	(gimp-insert-quotes-for-strings-p): added option for automatic
	quote insertion (as this might be annoying when in fact you want a
	sexp)
	(gimp-mode): added value 'lisp-indent-line for
	`indent-line-function' so indent-region does the right thing (TM).
	(gimp-gimp-mode-version): return nil (not a string), so that when
	invoked from interactive buffer, DTRT (TM)
	(gimp-proc): offer gimp-cl-proc as a fallback
	(gimp-eval-to-string): branch to defer evaluation to
	`gimp-cl-eval-to-string' when needed.
	(gimp-fnsym-in-current-sexp): use syntax-table to find current fnsym
	(gimp-restore-cache): restore caches from $GIMP_DIR/emacs/
	(gimp-trace): decline to trace for client (only as inferior mode)
	(gimp-completion-rules): added option for automatic
	quote insertion (as this might be annoying when in fact you want a
	sexp)
	(gimp-complete): fixed bug for non-s-f-procedures
	(gimp-selector): add client buffer selector (c)
	(gimp-open-image): adapt for client process

2008-05-25  Niels Giesen  <niels.giesen@gmail.com>

	* gimp-mode.el (gimp-defcommand): added type checking and doc.
	(run-gimp): changed to async (experimental!)
	(gimp-complete-fuzzy-p): added doc
	(gimp-completion-rules): ignore completion for drawables
	(gimp-cache-always): removed

2008-05-22  Niels Giesen  <niels.giesen@gmail.com>

	* gimp-mode.el (gimp-arg-from-scraped-registration): add
	registered args, plus faces for traces).

2008-05-19  Niels Giesen  <sharik@reetkevert.sshunet.nl>

	* gimp-mode.el (gimp-completion-rules): add other caches + fuzzy
	completion

	* emacs-interaction.scm: Add other caches

2008-05-17  Niels Giesen  <niels.giesen@gmail.com>

	* gimp-mode.el (load): Cool gimp-faces. Non-interactive mode.

	* emacs-interaction.scm: registered procedure
	`script-fu-dump-for-emacs' (with args) under script-fu menu. Added
	a trick to run the cache-dump only the first-time.

2008-05-16  Niels Giesen  <sharik@reetkevert.sshunet.nl>

	* gimp-mode.el (Module): added faces to Gimp Help, and
	compiler-soothing stuff.
2008-05-16  Niels Giesen  <niels.giesen@gmail.com>

	* gimp-mode.el: Huge changes, most stuff depends now on gimp-dump,
	and gimp-pdb-cache which is derived from the former. Gimp Help has
	true history, major clickability, cleaned up
	gimp-completion-rules. Probably some more stuff I forgot.

	* emacs-interaction.scm: deleted all old interaction functions,
	saving just the stuff to dump info with emacs-cache.

2008-05-11  Niels Giesen  <niels.giesen@gmail.com>

	* emacs-interaction.scm: add emacs-only-bound-symbols? to specify
	what symbols you would like to see present in completions. Added
	emacs-interaction-possible? to check whether emacs-interaction.scm
	has actually been loaded.
 
	* README: misc changes

	* gimp-init.el (Module): Changed order, added TOC, stuff like that

	* gimp-mode.el (Module): 

	* gimp-init.el (gimp-mode-dir): added gimp-mode-dir as a defvar
	for later symlinking emacs-interaction.scm on execution of run-gimp

	* gimp-mode.el (Module): redesigned gimp-eval and
	gimp-eval-string (now simply checks for prompt to see whether the
	gimp has returned). Let's see how they work.
 
2008-05-10  Niels Giesen  <niels.giesen@gmail.com>

	* README (Module): update to reflect changes
	
	* emacs-interaction.scm (Module): emacs-caches now also creates a
	menu file

	* gimp-mode.el (Module): Added a menu interface `gimp-menu'

2008-05-05  Niels Giesen  <niels.giesen@gmail.com>

	* gimp.el (Module): added documentation for main interactive
	functions.

2008-05-04  Niels Giesen  <niels.giesen@gmail.com>

	* gimp.el (gimp-doc): Added doc-echoing for any function that
	TinyScheme can provide code of (via `get-closure-code'). And
	positionalized core scheme echoing. Dotted argument lists are
	handled by converting them to normal lists first, where the atom
	after the dot gets a dot prepended (as a string).

2008-05-02  Niels Giesen  <sharik@reetkevert.sshunet.nl>

	* gimp-init.el (Module): made external libs not optionally 

	* gimp.el (Module): 

	* emacs-interaction.scm (Module): loaded by the Gimp on startup;
	defines functions and makes cache files to be read by emacs.

