chiark / gitweb /
emacs, dot-emacs: Overhaul for Emacs22 compatibility.
authorMark Wooding <mdw@distorted.org.uk>
Wed, 6 Feb 2008 16:54:59 +0000 (16:54 +0000)
committerMark Wooding <mdw@distorted.org.uk>
Wed, 6 Feb 2008 17:00:35 +0000 (17:00 +0000)
  * Remove apparently spurious `t' entries from font-lock-keywords lists.

  * Configure scroll-bar widths and fringes.

  * Update divvying so that it asks Emacs for the widths of the frame
    furniture if possible.

  * Define a couple of new faces.  I'm sure there'll be more of these.

  * Define line-number-at-pos conditionally, so we don't clobber Emacs's
    better version.

dot-emacs.el
emacs

index 059910612bcb61c3bf1012301cc11c4d76df7ef2..c5e3dfdca9468f860e43bac8e0d1fd91391b856b 100644 (file)
@@ -79,18 +79,37 @@ (defun maybe-autoload (symbol file &optional docstring interactivep type)
 
 ;; --- 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)))
 
@@ -128,18 +147,18 @@ (defun mdw-todo (&optional when)
 
 ;;;----- 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 ---
 
@@ -560,6 +579,8 @@     (default :foreground "white" :background "black"
               '(: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")
@@ -775,7 +796,6 @@ (defun mdw-fontify-c-and-c++ ()
 
     (setq font-lock-keywords
          (list
-          't
 
           ;; --- Fontify include files as strings ---
 
@@ -856,7 +876,6 @@ (defun mdw-fontify-apcalc ()
 
     (setq font-lock-keywords
          (list
-          't
 
           ;; --- Handle the keywords defined above ---
 
@@ -931,7 +950,6 @@ (defun mdw-fontify-java ()
 
     (setq font-lock-keywords
          (list
-          't
 
           ;; --- Handle the keywords defined above ---
 
@@ -1012,7 +1030,6 @@ (defun mdw-fontify-csharp ()
 
     (setq font-lock-keywords
          (list
-          't
 
           ;; --- Handle the keywords defined above ---
 
@@ -1085,7 +1102,6 @@ (defun mdw-fontify-awk ()
 
     (setq font-lock-keywords
          (list
-          't
 
           ;; --- Handle the keywords defined above ---
 
@@ -1144,7 +1160,6 @@ (defun mdw-fontify-perl ()
 
     (setq font-lock-keywords
          (list
-          't
 
           ;; --- Set up the keywords defined above ---
 
@@ -1201,7 +1216,6 @@ (defun mdw-fontify-python ()
                        "while" "yield"))))
     (setq font-lock-keywords
          (list
-          't
 
           ;; --- Set up the keywords defined above ---
 
@@ -1280,7 +1294,6 @@ (defun arm-assembler-mode ()
   (make-local-variable 'font-lock-keywords)
   (setq font-lock-keywords
        (list
-        't
 
         ;; --- Handle numbers too ---
         ;;
@@ -1328,7 +1341,6 @@ (defun mdw-fontify-tcl ()
   (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_]+\\|\\)")
@@ -1397,7 +1409,6 @@ (defun mdw-fontify-rexx ()
 
     (setq font-lock-keywords
          (list
-          't
 
           ;; --- Set up the keywords defined above ---
 
@@ -1450,7 +1461,6 @@ (defun mdw-fontify-sml ()
 
     (setq font-lock-keywords
          (list
-          't
 
           ;; --- Set up the keywords defined above ---
 
@@ -1501,7 +1511,6 @@ (defun mdw-fontify-haskell ()
 
     (setq font-lock-keywords
          (list
-          't
           (list "--.*$"
                 '(0 font-lock-comment-face))
           (list (concat "\\<\\(" haskell-keywords "\\)\\>")
@@ -1526,7 +1535,6 @@ (defun mdw-fontify-texinfo ()
   (make-local-variable 'font-lock-keywords)
   (setq font-lock-keywords
        (list
-        't
 
         ;; --- Environment names are keywords ---
 
@@ -1574,7 +1582,6 @@ (defun mdw-fontify-tex ()
   (make-local-variable 'font-lock-keywords)
   (setq font-lock-keywords
        (list
-        't
 
         ;; --- Environment names are keywords ---
 
@@ -1856,7 +1863,6 @@ (defun mdw-fontify-smalltalk ()
   (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_]+\\)\\|"
@@ -1897,7 +1903,6 @@ (defun mdw-fontify-lispy ()
   (make-local-variable 'font-lock-keywords)
   (setq font-lock-keywords
        (list
-        't
         (list "\\(\\s.\\|\\s(\\|\\s)\\|\\s\\\\|\\s/\\)"
               '(0 mdw-punct-face)))))
 
diff --git a/emacs b/emacs
index 995afd6684c6ee466d57ffa46a3ec7f787a9d8cf..7ca4cc3793d0745da2c2f137268409fc1b85fc56 100644 (file)
--- a/emacs
+++ b/emacs
         (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