Switch branches/tags
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
389 lines (282 sloc) 14.1 KB
2009-10-11 Niels Giesen <>
* gimp-mode.el (gimp-complete): Add correct handling of complete,
but not unique function input, i.e., show that it is unique, and
offer the completions buffer. Handle end of completable & unique
function input (with further args) by adding a space char in the
(gimp-first-run-action): Try and fix the situation where stuff is
already inserted into the buffer, but unfetched by a process
filter (thanks Brent). This is apparently one of the causes for
Emacs to hang during start-up. Testing showed that Emacs is far
more inclined to hang when changing (window-manager-defined)
windows when the two GIMP windows have come up back to Emacs,
either by mouse or ALT-TABbing. Have got no clue whatsoever how to
fix this.
(gimp-unit-test-completions): Applying patch by Brent Goodrick to
differentiate between tests that need GIMP to be run as a
subprocess and ones that don't. Add one test for latest changes to
Miscellaneous patches by Brent Goodrick:
Add an additional level of indi rection for direct access to
gimp-oblist-cache to instead use a new function called
gimp-get-oblist-cache that restores it from the file on demand.
There was a case in one of the tests (I don't recall which) that
ran afoul of a nil gimp-oblist-cache without it.
gimp-save-input-ring needs to check that there is an actual
gimp-proc before attempting to use the buffer.
gimp-unit-test now calls gimp-quit at the very end, so that I
could run the unit test in a tight loop to validate that the hang
didn't show up again.
Don't allow gimp-script-p to fail when there is no file associated
with the current buffer. This can occur for gimp-mode buffers that
are not associated with files (shows up because gimp-script-p is
in magic-mode-alist).
2009-10-02 Niels Giesen <>
* gimp-mode.el (gimp-unit-test-execute): Applying patch by Brent
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 <>
* 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): 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
(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 <>
* 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
(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
(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 <>
* gimp-install.el (gmd): Better default directory for windows
* 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
Fix violation of 80 characters rule.
2008-07-04 Niels Giesen <>
* gimp-mode.el (gimp-current-arg): fixed eob error
2008-07-03 Niels Giesen <>
* 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
* add emacs invocation of build.el
* gimp-mode.el (gimp-src-dir): moved to gimp-vars.el (which is written at
(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 <>
* 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
2008-06-11 <ngiesen@NIELS>
* gimp-mode.el (gimp-insert-sexp-at-repl): (use function
(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 <>
* gimp-mode.el (gimp-fnsym-in-current-sexp): fixed bug for when
string before has comma, and made a backout for when meeting the
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
(*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
* 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
(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
(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 <>
* 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 <>
* gimp-mode.el (gimp-arg-from-scraped-registration): add
registered args, plus faces for traces).
2008-05-19 Niels Giesen <>
* gimp-mode.el (gimp-completion-rules): add other caches + fuzzy
* emacs-interaction.scm: Add other caches
2008-05-17 Niels Giesen <>
* 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 <>
* gimp-mode.el (Module): added faces to Gimp Help, and
compiler-soothing stuff.
2008-05-16 Niels Giesen <>
* 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 <>
* 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 <>
* 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 <>
* gimp.el (Module): added documentation for main interactive
2008-05-04 Niels Giesen <>
* 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 <>
* 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.