(dolist (key replacements)
(define-key keymap key binding))))))
-(eval-after-load "org-latex"
- '(progn
- (push '("strayman"
- "\\documentclass{strayman}
+(defvar mdw-org-latex-defs
+ '(("strayman"
+ "\\documentclass{strayman}
\\usepackage[utf8]{inputenc}
\\usepackage[palatino, helvetica, courier, maths=cmr]{mdwfonts}
-\\usepackage[T1]{fontenc}
\\usepackage{graphicx, tikz, mdwtab, mdwmath, crypto, longtable}"
- ("\\section{%s}" . "\\section*{%s}")
- ("\\subsection{%s}" . "\\subsection*{%s}")
- ("\\subsubsection{%s}" . "\\subsubsection*{%s}")
- ("\\paragraph{%s}" . "\\paragraph*{%s}")
- ("\\subparagraph{%s}" . "\\subparagraph*{%s}"))
- org-export-latex-classes)))
+ ("\\section{%s}" . "\\section*{%s}")
+ ("\\subsection{%s}" . "\\subsection*{%s}")
+ ("\\subsubsection{%s}" . "\\subsubsection*{%s}")
+ ("\\paragraph{%s}" . "\\paragraph*{%s}")
+ ("\\subparagraph{%s}" . "\\subparagraph*{%s}"))))
+
+(eval-after-load "org-latex"
+ '(setq org-export-latex-classes
+ (append mdw-org-latex-defs org-export-latex-classes)))
+
+(eval-after-load "ox-latex"
+ '(setq org-latex-classes (append mdw-org-latex-defs org-latex-classes)
+ org-latex-default-packages-alist '(("AUTO" "inputenc" t)
+ ("T1" "fontenc" t)
+ ("" "fixltx2e" nil)
+ ("" "graphicx" t)
+ ("" "longtable" nil)
+ ("" "float" nil)
+ ("" "wrapfig" nil)
+ ("" "rotating" nil)
+ ("normalem" "ulem" t)
+ ("" "textcomp" t)
+ ("" "marvosym" t)
+ ("" "wasysym" t)
+ ("" "amssymb" t)
+ ("" "hyperref" nil)
+ "\\tolerance=1000")))
+
(setq org-export-docbook-xslt-proc-command "xsltproc --output %o %s %i"
org-export-docbook-xsl-fo-proc-command "fop %i.safe %o"
proc))
(eval-after-load "erc"
- '(load "~/.ercrc.el"))
+ '(load "~/.ercrc.el"))
+
+;; Heavy-duty Gnus patching.
+
+(defun mdw-nnimap-transform-headers ()
+ (goto-char (point-min))
+ (let (article lines size string)
+ (block nil
+ (while (not (eobp))
+ (while (not (looking-at "\\* [0-9]+ FETCH"))
+ (delete-region (point) (progn (forward-line 1) (point)))
+ (when (eobp)
+ (return)))
+ (goto-char (match-end 0))
+ ;; Unfold quoted {number} strings.
+ (while (re-search-forward
+ "[^]][ (]{\\([0-9]+\\)}\r?\n"
+ (save-excursion
+ ;; Start of the header section.
+ (or (re-search-forward "] {[0-9]+}\r?\n" nil t)
+ ;; Start of the next FETCH.
+ (re-search-forward "\\* [0-9]+ FETCH" nil t)
+ (point-max)))
+ t)
+ (setq size (string-to-number (match-string 1)))
+ (delete-region (+ (match-beginning 0) 2) (point))
+ (setq string (buffer-substring (point) (+ (point) size)))
+ (delete-region (point) (+ (point) size))
+ (insert (format "%S" (mm-subst-char-in-string ?\n ?\s string)))
+ ;; [mdw] missing from upstream
+ (backward-char 1))
+ (beginning-of-line)
+ (setq article
+ (and (re-search-forward "UID \\([0-9]+\\)" (line-end-position)
+ t)
+ (match-string 1)))
+ (setq lines nil)
+ (setq size
+ (and (re-search-forward "RFC822.SIZE \\([0-9]+\\)"
+ (line-end-position)
+ t)
+ (match-string 1)))
+ (beginning-of-line)
+ (when (search-forward "BODYSTRUCTURE" (line-end-position) t)
+ (let ((structure (ignore-errors
+ (read (current-buffer)))))
+ (while (and (consp structure)
+ (not (atom (car structure))))
+ (setq structure (car structure)))
+ (setq lines (if (and
+ (stringp (car structure))
+ (equal (upcase (nth 0 structure)) "MESSAGE")
+ (equal (upcase (nth 1 structure)) "RFC822"))
+ (nth 9 structure)
+ (nth 7 structure)))))
+ (delete-region (line-beginning-position) (line-end-position))
+ (insert (format "211 %s Article retrieved." article))
+ (forward-line 1)
+ (when size
+ (insert (format "Chars: %s\n" size)))
+ (when lines
+ (insert (format "Lines: %s\n" lines)))
+ ;; Most servers have a blank line after the headers, but
+ ;; Davmail doesn't.
+ (unless (re-search-forward "^\r$\\|^)\r?$" nil t)
+ (goto-char (point-max)))
+ (delete-region (line-beginning-position) (line-end-position))
+ (insert ".")
+ (forward-line 1)))))
+
+(eval-after-load 'nnimap
+ '(defalias 'nnimap-transform-headers
+ (symbol-function 'mdw-nnimap-transform-headers)))
;;;--------------------------------------------------------------------------
;;; Utility functions.
(select-window window)))))
(defvar mdw-good-url-browsers
- '(browse-url-mozilla
+ '(browse-url-chromium
+ browse-url-mozilla
browse-url-generic
(w3m . mdw-w3m-browse-url)
browse-url-w3)
(unless modified
(restore-buffer-modified-p nil)))))))
+(setq LaTeX-syntactic-comments nil
+ LaTeX-fill-break-at-separators '(\\\[))
+
;;;--------------------------------------------------------------------------
;;; SGML hacking.