Update.
[elisp.git] / emacs.el
index 6dc9356..759ee9c 100644 (file)
--- a/emacs.el
+++ b/emacs.el
 ;; Contact <francois@fleuret.org> for comments & bug reports             ;;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
+;; (defadvice display-warning (before ff/blah (type message &optional level buffer-name) activate)
+  ;; (message "--- BLAH %s ---" message)
+  ;; (backtrace)
+;; )
+
 ;; It's better to set the preferences in the .Xresources so that the
 ;; window is not first displayed with the wrong options
 
@@ -31,7 +36,7 @@
 ;; Xft.antialias: true
 ;; Xft.rgba: rgb
 
-(set-default-font "Inconsolata 14")
+(set-frame-font "Inconsolata 14")
 
 ;; (package-initialize)
 
@@ -88,6 +93,8 @@
 ;; use colorization for all modes
 (global-font-lock-mode t)
 
+;; (load "auctex")
+
 (setq font-lock-maximum-decoration 3
       ;;'((latex-mode . 2) (t . 2))
       )
@@ -123,11 +130,16 @@ uses `load-path' to find it."
       (ff/compile-when-needed (concat name ".el"))
     (mapc (lambda (dir)
             (let* ((src (concat dir "/" name)))
+              ;; (message "Compiling " scr) ;;***********
               (when (file-newer-than-file-p src (concat src "c"))
-                (if (let ((byte-compile-verbose nil))
-                      (condition-case nil
-                          (byte-compile-file src)
-                        (error nil)))
+                (if
+                    ;; (let ((byte-compile-verbose nil))
+                      ;; (condition-case nil
+                          ;; (byte-compile-file src)
+                        ;; (error nil)))
+
+                    (byte-compile-file src)
+
                     (message (format "Compiled %s" src ))
                   (message (format "Failed compilation of %s" src))))))
           load-path)))
@@ -184,7 +196,7 @@ load-warning buffer in case of failure."
  next-error-highlight t
 
  ;; blink the screen instead of beeping
;; visible-bell t
+ visible-bell t
 
  ;; take the CR when killing a line
  kill-whole-line t
@@ -253,9 +265,11 @@ load-warning buffer in case of failure."
  ;; vertically, even when the said window is very wide
  split-height-threshold 0
  split-width-threshold nil
-
  )
 
+(custom-set-variables
+ '(query-replace-from-to-separator nil))
+
 ;; The backups
 
 (setq
@@ -441,7 +455,7 @@ load-warning buffer in case of failure."
      (sh-heredoc :foreground "black" :background "#fff0f0")
      (sh-heredoc-face :foreground "black" :background "#fff0f0")
      (header-line :background "gray65")
-     (highlight :background "turquoise")
+     (highlight :background "white")
      (message-cited-text-face :foreground "firebrick")
      (isearch :background "yellow" :foreground "black")
      (isearch-lazy-highlight-face' :background "yellow3" :foreground "black")
@@ -500,7 +514,7 @@ load-warning buffer in case of failure."
      (sh-heredoc :foreground "black" :background "#fff0f0")
      (sh-heredoc-face :foreground "black" :background "#fff0f0")
      (font-lock-keyword-face :foreground "blue")
-     (highlight :background "darkseagreen3")
+     (highlight :background "white")
      (isearch :background "orange" :foreground "black")
      (isearch-lazy-highlight-face' :background "yellow" :foreground "black")
      ;; (display-time-mail-face :background "white")
@@ -1223,9 +1237,9 @@ goback argument, go back where we were."
 (load "vc-git")
 
 (defun ff/git-pull-push (universal) (interactive "P")
-       (when universal (async-shell-command "git commit -a -m \"Update\""))
+       (when universal (shell-command "git commit -a -m \"Update.\"" nil))
        (message "git pull / push ...")
-       (async-shell-command "git pull && git push" nil)
+       (async-shell-command "git remote get-url origin && git pull && git push" nil)
        )
 
 (defun ff/git-pull () (interactive)
@@ -1247,7 +1261,7 @@ goback argument, go back where we were."
   ;; Failsafe version if we can't load bbdb
   (defun ff/explicit-name (email) email)
 
-  (when (ff/load-or-alert "bbdb")
+  (when (with-no-warnings (ff/load-or-alert "bbdb"))
 
     (setq
      ;; Stop asking (if not t or nil, will not ask)
@@ -1430,7 +1444,7 @@ universal argument starts xfig even if the .fig does not exist"
                           '(("fig" . "xfig")
                             ("jpg" . "gimp" )
                             ("png" . "gimp") ("pgm" . "gimp") ("ppm" . "gimp")
-                            ("jpg" . "xv"))
+                            ("svg" . "inkscape"))
                           universal)
 
     (if (not (and (buffer-file-name) (string-match "\\(.*\\)\.tex$"
@@ -1448,18 +1462,24 @@ universal argument starts xfig even if the .fig does not exist"
     ))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; Tex mode
 
-;; When working on a tex file with other people, I can just change
-;; ff/tex-command in the -*- part of the file so that I don't mess up
-;; other's people configuration.
+(defun ff/save-window-configuration (universal) (interactive "P")
+       (if universal
+           (setq ff/window-configuration (current-window-configuration))
+         (set-window-configuration ff/window-configuration))
+       )
 
-(defadvice tex-file (around ff/set-my-own-tex-command () activate)
-  (let ((tex-command
-         (or (and (boundp 'ff/tex-command)
-                  ff/tex-command)
-             tex-command)))
-    ad-do-it))
+(define-key global-map [(control =)] 'ff/save-window-configuration)
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; Tex mode
+
+;; (defadvice tex-file (around ff/set-my-own-tex-command () activate)
+  ;; (let ((ff/window-configuration-before-compilation (current-window-configuration)))
+    ;; ad-do-it
+    ;; (set-window-configuration ff/window-configuration-before-compilation)
+    ;; )
+  ;; )
 
 ;; This is a bit hardcore, but really I can't bear the superscripts in
 ;; my emacs window and could not find another way to deactivate them.
@@ -1527,7 +1547,7 @@ universal argument starts xfig even if the .fig does not exist"
     ;; (ff/play-sound-async "~/local/sounds/short_la.wav")
     ))
 
-(setq ring-bell-function 'ff/ring-bell)
+;; (setq ring-bell-function 'ff/ring-bell)
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;; Past the content of the url currently in the kill-ring with
@@ -1544,8 +1564,15 @@ universal argument starts xfig even if the .fig does not exist"
     (call-process "w3m" nil t nil "-dump" url))
   )
 
-(define-key global-map [(shift mouse-2)]
-  (lambda () (interactive) (ff/insert-url (current-kill 0))))
+;; (define-key global-map [(shift mouse-2)]
+  ;; (lambda () (interactive) (ff/insert-url (current-kill 0))))
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; Trying to deal with cut-paste
+
+(setq x-select-enable-clipboard t)
+(setq interprogram-paste-function 'x-cut-buffer-or-selection-value)
+(define-key global-map [(shift mouse-2)] 'clipboard-yank)
 
 ;; lookup-dict is one of my own scripts, check my web page
 
@@ -1583,6 +1610,7 @@ universal argument starts xfig even if the .fig does not exist"
 \\usepackage[pdftex]{graphicx}
 \\usepackage{microtype}
 \\usepackage[colorlinks=true,linkcolor=blue,urlcolor=blue,citecolor=blue]{hyperref}
+\\usepackage{tikz}
 
 \\setlength{\\parindent}{0cm}
 \\setlength{\\parskip}{12pt}
@@ -2296,6 +2324,8 @@ This may be a useful alternative binding for \\[delete-other-windows]
 
 ;; Compiles the latex file in the current buffer
 
+
+
 (setq tex-start-commands "\\input")
 (define-key global-map [f3] 'tex-file)
 (define-key global-map [(shift f3)] 'tex-bibtex-file)