Re: idlwave: spaces round = and other operators [message #58490 is a reply to message #58373] |
Wed, 30 January 2008 14:51   |
Benjamin Hornberger
Messages: 258 Registered: March 2004
|
Senior Member |
|
|
JD Smith wrote:
> On Jan 29, 2:04 pm, Benjamin Hornberger
> <hornb...@xray1.physics.sunysb.edu> wrote:
>> Hi all (JD?),
>>
>> I used to use Emacs 21 (on Windows) with idlwave (self-installed; not
>> sure about the version), and I had the lines
>>
>> (setq idlwave-surround-by-blank t) ; Turn on padding ops =,<,>
>> (setq idlwave-pad-keyword nil) ; Remove spaces for keyword '='
>>
>> in my .emacs. This worked fine, spaces got automatically padded around
>> my operators but not for keywords.
>>
>> Now I am using Emacs 22 (EmacsW32) with whatever idlwave version comes
>> with it and I pretty much copied all idlwave-related lines into my new
>> .emacs (not that I really understand what they do). Now spaces don't get
>> padded any more, and when I type something like
>>
>> a=
>>
>> there is a beep and an error message "Wrong type argument: consp, nil".
>>
>> Any clues?
>
> Works fine for me with the IDLWAVE included in Emacs 22 for Linux and
> OSX. I'd guess it's conflicting with another setting, the combination
> of which I haven't used. You can M-x toggle-debug-on-error, force it
> to occur again, and show the results?
Debugger entered--Lisp error: (wrong-type-argument consp nil)
idlwave-concatenate-rinfo-lists(nil run-hooks)
idlwave-update-routine-info()
idlwave-routines()
idlwave-where()
idlwave-expand-equal(-1 -1)
(lambda nil (interactive) (self-insert-command 1)
(idlwave-expand-equal -1 -1))()
call-interactively((lambda nil (interactive) (self-insert-command 1)
(idlwave-expand-equal -1 -1)))
> You might also try starting
> emacs without loading your .emacs (emacs -q does that), then turn on
> 'surround-by-blank' in the customization menu, and see if the error
> disappears.
Yes, it does disappear.
My .emacs is listed below, in case someone wants to look at it. Note
that I don't really understand much about it, a lot is just copied
together from different places or set by trial and error a few years
ago, the details long forgotten ... Also note that despite the Red Hat
comment I am actually running EmacsW32 on Windows XP.
Thanks,
Benjamin
-------------
;; Red Hat Linux default .emacs initialization file
;; Set up the keyboard so the delete key on both the regular keyboard
;; and the keypad delete the character under the cursor and to the right
;; under X, instead of the default, backspace behavior.
(global-set-key [delete] 'delete-char)
(global-set-key [kp-delete] 'delete-char)
(global-set-key [home] 'beginning-of-line)
(global-set-key [end] 'end-of-line)
(global-set-key [C-home] 'beginning-of-buffer)
(global-set-key [C-end] 'end-of-buffer)
(global-font-lock-mode t)
(setq-default font-lock-maximum-size 200000)
(setq load-path (cons "~/lisp" load-path))
(autoload 'idlwave-mode "idlwave" "IDLWAVE Mode" t)
(autoload 'idlwave-shell "idlw-shell" "IDLWAVE Shell" t)
(setq auto-mode-alist (cons '("\\.pro\\'" . idlwave-mode) auto-mode-alist))
(setq idlwave-shell-activate-alt-keybindings t)
(setq idlwave-expand-generic-end t)
(setq idlwave-store-inquired-class t)
(setq idlwave-shell-automatic-start t)
(setq idlwave-main-block-indent 2)
(setq idlwave-max-extra-continuation-indent 30)
(setq idlwave-help-dir "~/lib/emacs/idlwave")
(setq idlwave-begin-line-comment "^;[^;]") ; Leave ";" but not ";;"
; anchored at start of line.
(setq idlwave-surround-by-blank t) ; Turn on padding ops =,<,>
(setq idlwave-pad-keyword nil) ; Remove spaces for keyword '='
(setq idlwave-expand-generic-end t) ; convert END to ENDIF etc...
(setq idlwave-reserved-word-upcase t) ; Make reserved words upper case
; (with abbrevs only)
(add-hook 'idlwave-mode-hook
(lambda ()
(local-set-key [f3] 'idlwave-function-menu)))
(autoload 'ispell "ispell" "Run ispell over buffer" t)
(autoload 'ispell-region "ispell" "Run ispell over region" t)
(autoload 'ispell-word "ispell" "Check word under cursor" t)
(define-key esc-map "$" 'ispell-word)
(global-set-key "\M-g" 'goto-line)
(global-set-key "\C-h" 'delete-backward-char)
;(custom-set-variables
; '(pc-selection-mode t nil (pc-select)))
;; Always end a file with a newline
(setq require-final-newline t)
;; Stop at the end of the file, not just add lines
(setq next-line-add-newlines nil)
(add-hook 'idlwave-mode-hook 'turn-on-font-lock)
(setq auto-mode-alist (cons '("\\.py$" . python-mode) auto-mode-alist))
(setq interpreter-mode-alist (cons '("python" . python-mode)
interpreter-mode-alist))
(autoload 'python-mode "python-mode" "Python editing mode." t)
;; new abbreviations for IDLWAVE
(add-hook 'idlwave-mode-hook
(lambda ()
(idlwave-define-abbrev "kw" "keyword_set("
(idlwave-keyword-abbrev 0))))
;;; Text mode and Auto Fill mode
; The next three lines put Emacs into Text mode
; and Auto Fill mode, and are for writers who
; want to start writing prose rather than code.
(setq default-major-mode 'text-mode)
(add-hook 'text-mode-hook 'text-mode-hook-identify)
(add-hook 'text-mode-hook 'turn-on-auto-fill)
|
|
|