X-Git-Url: https://git.korewanetadesu.com/?p=pico8.git;a=blobdiff_plain;f=pico8.el;h=95fcd2036190d7ef2daeba073c5a53f2f3361652;hp=2597bb3701a4121ea6f75acc56f7bf7a03caede3;hb=8f8b10d094b14dc6b5fc8cf105a5ae456b02d42e;hpb=7c5a210fcfc3290f36482c73bfe17371ada080d2 diff --git a/pico8.el b/pico8.el index 2597bb3..95fcd20 100644 --- a/pico8.el +++ b/pico8.el @@ -109,13 +109,13 @@ insert the typed character if it is one of these characters, overwriting one of these characters." (interactive "P") (when (memq (char-after) pico8-data-characters) - (let ((overwrite-mode t)) + (let ((overwrite-mode 'overwrite-mode-textual)) (self-insert-command (prefix-numeric-value n))))) (let ((map pico8-data-mode-map)) (suppress-keymap map) - (dolist (c pico8-data-characters) - (define-key map (format "%c" c) 'pico8-data-self-insert-command))) + (dolist (c (mapcar #'char-to-string pico8-data-characters)) + (define-key map c 'pico8-data-self-insert-command))) (defun pico8-goto-char (position) "Set point to POSITION, a number. @@ -454,9 +454,8 @@ this is the numeric literal in the code." (let ((beg (- (point) (% (min 255 (current-column)) 2)))) (string-to-number (buffer-substring beg (+ beg 2)) 16))) - ;; In Lua or other code, the sprite is a numeric literal. - ;; lua-mode doesn't derive from anything. - ((or (derived-mode-p 'lua-mode) (derived-mode-p 'prog-mode)) + ;; In Lua, the sprite is a numeric literal. + ((derived-mode-p 'lua-mode) (pico8--string-to-number (or (word-at-point) ""))) (t nil))) @@ -496,9 +495,6 @@ This function needs a lot of work.." (and (re-search-backward "\\" (- (point) 30) t) (char-after))))) - ;; FIXME: Actually parse something? lua-mode's sexp - ;; commands don't seem too good, and counting parentheses - ;; by hand is for nerds. (cond ((= c ?f) (pico8-goto-flag n)) ((= c ?s) (pico8-goto-sprite n)) (t (error "There's nothing obvious to go to")))))