el/dot-emacs.el: Fix page motion properly.
[profile] / el / dot-emacs.el
index 51d77d9..0ff628b 100644 (file)
@@ -169,6 +169,17 @@ library."
     (set-frame-parameter frame 'menu-bar-lines 0)
     (set-frame-parameter frame 'menu-bar-lines old)))
 
+;; Page motion.
+
+(defun mdw-fixup-page-position ()
+  (unless (eq (char-before (point)) ?\f)
+    (forward-line 0)))
+
+(defadvice backward-page (after mdw-fixup compile activate)
+  (mdw-fixup-page-position))
+(defadvice forward-page (after mdw-fixup compile activate)
+  (mdw-fixup-page-position))
+
 ;; Splitting windows.
 
 (unless (fboundp 'scroll-bar-columns)
@@ -355,9 +366,9 @@ as output rather than a string."
         (months ["Chaos" "Discord" "Confusion"
                  "Bureaucracy" "Aftermath"])
         (day-count [0 31 59 90 120 151 181 212 243 273 304 334])
-        (year (- (extract-calendar-year date) 1900))
-        (month (1- (extract-calendar-month date)))
-        (day (1- (extract-calendar-day date)))
+        (year (- (calendar-extract-year date) 1900))
+        (month (1- (calendar-extract-month date)))
+        (day (1- (calendar-extract-day date)))
         (julian (+ (aref day-count month) day))
         (dyear (+ year 3066)))
     (if (and (= month 1) (= day 28))
@@ -861,6 +872,11 @@ Use this to arrange for per-server settings.")
                                              :key #'car))))
     ad-do-it))
 
+;; Preferred programs.
+
+(setq mailcap-user-mime-data
+      '(((type . "application/pdf") (viewer . "mupdf %s"))))
+
 ;;;--------------------------------------------------------------------------
 ;;; Utility functions.