;; --- Splitting windows ---
-(defconst mdw-scrollbar-width (if window-system 6 1)
- "Guessed width of scroll bar.")
+(or (and (fboundp 'scroll-bar-columns)
+ (fboundp 'fringe-columns))
+ (progn
+ (defun scroll-bar-columns (side)
+ (cond ((eq side 'left) 0)
+ (window-system 3)
+ (t 1)))
+ (defun fringe-columns (side)
+ (cond ((not window-system) 0)
+ ((eq side 'left) 1)
+ (t 2)))))
+
(defun mdw-divvy-window (&optional w)
"Split a wide window into appropriate widths."
(interactive)
- (or w (setq w 78))
- (let ((win (selected-window))
- (c (/ (+ (window-width) mdw-scrollbar-width)
- (+ w mdw-scrollbar-width))))
+ (or w (setq w (if (and window-system
+ (>= emacs-major-version 22))
+ 77
+ 78)))
+ (let* ((win (selected-window))
+ (sb-width (if (not window-system)
+ 1
+ (+ (scroll-bar-columns 'left)
+ (scroll-bar-columns 'right)
+ (fringe-columns 'left)
+ (fringe-columns 'right))))
+ (c (/ (+ (window-width) sb-width)
+ (+ w sb-width))))
(while (> c 1)
(setq c (1- c))
- (split-window-horizontally (+ w mdw-scrollbar-width))
+ (split-window-horizontally (+ w sb-width))
(other-window 1))
(select-window win)))
;;;----- Utility functions --------------------------------------------------
-(defun line-number-at-pos (&optional pos)
- "Print the current buffer line number and narrowed line number of point."
- (let ((opoint (or pos (point))) start)
- (save-excursion
- (save-restriction
- (goto-char (point-min))
- (widen)
- (forward-line 0)
- (setq start (point))
- (goto-char opoint)
- (forward-line 0)
- (1+ (count-lines 1 (point)))))))
+(or (fboundp 'line-number-at-pos)
+ (defun line-number-at-pos (&optional pos)
+ (let ((opoint (or pos (point))) start)
+ (save-excursion
+ (save-restriction
+ (goto-char (point-min))
+ (widen)
+ (forward-line 0)
+ (setq start (point))
+ (goto-char opoint)
+ (forward-line 0)
+ (1+ (count-lines 1 (point))))))))
;; --- mdw-uniquify-alist ---
'(:family "courier new" :height 85))
((eq window-system 'x)
'(:family "misc-fixed" :width semi-condensed))))
+ (fixed-pitch)
+ (minibuffer-prompt)
(modeline :foreground "blue" :background "yellow"
:box (:line-width 1 :style released-button))
(scroll-bar :foreground "black" :background "lightgrey")
(setq font-lock-keywords
(list
- 't
;; --- Fontify include files as strings ---
(setq font-lock-keywords
(list
- 't
;; --- Handle the keywords defined above ---
(setq font-lock-keywords
(list
- 't
;; --- Handle the keywords defined above ---
(setq font-lock-keywords
(list
- 't
;; --- Handle the keywords defined above ---
(setq font-lock-keywords
(list
- 't
;; --- Handle the keywords defined above ---
(setq font-lock-keywords
(list
- 't
;; --- Set up the keywords defined above ---
"while" "yield"))))
(setq font-lock-keywords
(list
- 't
;; --- Set up the keywords defined above ---
(make-local-variable 'font-lock-keywords)
(setq font-lock-keywords
(list
- 't
;; --- Handle numbers too ---
;;
(make-local-variable 'font-lock-keywords)
(setq font-lock-keywords
(list
- 't
(list (concat "\\<0\\([xX][0-9a-fA-F_]+\\|[0-7_]+\\)\\|"
"\\<[0-9][0-9_]*\\(\\.[0-9_]*\\|\\)"
"\\([eE]\\([-+]\\|\\)[0-9_]+\\|\\)")
(setq font-lock-keywords
(list
- 't
;; --- Set up the keywords defined above ---
(setq font-lock-keywords
(list
- 't
;; --- Set up the keywords defined above ---
(setq font-lock-keywords
(list
- 't
(list "--.*$"
'(0 font-lock-comment-face))
(list (concat "\\<\\(" haskell-keywords "\\)\\>")
(make-local-variable 'font-lock-keywords)
(setq font-lock-keywords
(list
- 't
;; --- Environment names are keywords ---
(make-local-variable 'font-lock-keywords)
(setq font-lock-keywords
(list
- 't
;; --- Environment names are keywords ---
(make-local-variable 'font-lock-keywords)
(setq font-lock-keywords
(list
- 't
(list "\\<[A-Z][a-zA-Z0-9]*\\>"
'(0 font-lock-keyword-face))
(list (concat "\\<0\\([xX][0-9a-fA-F_]+\\|[0-7_]+\\)\\|"
(make-local-variable 'font-lock-keywords)
(setq font-lock-keywords
(list
- 't
(list "\\(\\s.\\|\\s(\\|\\s)\\|\\s\\\\|\\s/\\)"
'(0 mdw-punct-face)))))
(vertical-scroll-bars . right))
(and window-system
'((cursor-type . bar)
- (cursor-blink . t)))
+ (cursor-blink . t)
+ (left-fringe . 5)
+ (right-fringe . 5)
+ (scroll-bar-width . 15)))
'((cursor-color . "red"))
(if mdw-black-background
'((background-color . "black")
(windmove-default-keybindings)
(setq windmove-wrap-around t))
(trap (iswitchb-mode))
+(global-set-key "\M-#" 'calc-dispatch)
(global-set-key [f4] 'query-replace-regexp)
(global-set-key [f5] 'goto-line)
(global-set-key [f6] 'auto-fill-mode)
(add-hook 'slime-repl-mode-hook 'mdw-fontify-lispy t)
(add-hook 'lisp-mode-hook 'mdw-common-lisp-indent t)
(trap
- (require 'slime)
- (slime-setup :autodoc t))
+ (require 'slime-autoloads)
+ (slime-setup '(slime-autodoc)))
(trap (require 'xscheme))
(setq-default xscheme-process-command-line "scheme -large -emacs")
(add-hook 'inferior-lisp-mode-hook