Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master
Fetching contributors…

Octocat-spinner-32-eaf2f5

Cannot retrieve contributors at this time

file 389 lines (282 sloc) 14.469 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388
2009-10-11 Niels Giesen <niels.giesen@gmail.com>

* 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
buffer.
(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
gimp-complete.

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 <niels.giesen@gmail.com>

* gimp-mode.el (gimp-unit-test-execute): Applying patch by Brent
Goodrick

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.

Something went wrong with that request. Please try again.