Update.
[elisp.git] / emacs.el
index 037615f..d9d2ec5 100644 (file)
--- a/emacs.el
+++ b/emacs.el
@@ -345,6 +345,9 @@ load-warning buffer in case of failure."
 ;; (add-hook 'lua-mode-hook 'flyspell-prog-mode)
 (add-hook 'log-edit-mode-hook 'flyspell-mode)
 
+(add-hook 'markdown-mode-hook 'flyspell-mode)
+(add-hook 'markdown-mode-hook 'auto-fill-mode)
+
 ;; I am a power-user
 
 (put 'narrow-to-region 'disabled nil)
@@ -641,6 +644,14 @@ load-warning buffer in case of failure."
 (define-key global-map [(shift down)] 'ff/comment-and-go-down)
 (define-key global-map [(shift up)] 'ff/uncomment-and-go-up)
 
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+(defun ff/show-compilation-buffer-split-window ()
+  "Split the window vertically and show the compilation buffer in the newly created right one"
+  (interactive)
+  (show-buffer (split-window-right) "*compilation*")
+)
+
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;; Counting various entities in text
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -912,45 +923,53 @@ printer."
 
 (defun ff/system-info () (interactive)
 
-       (let ((buf (get-buffer-create "*system info*"))
-             (map (make-sparse-keymap)))
-
-         (define-key map "q" 'kill-this-buffer)
-         (display-buffer buf)
-         (set-buffer buf)
-         (setq show-trailing-whitespace nil)
-         (erase-buffer)
-
-         (let ((highlight nil))
-
-           (mapc (lambda (x)
-                   (insert
-                    (if (setq highlight (not highlight))
-                        (propertize
-                         (with-temp-buffer (apply 'call-process x)
-                                           (buffer-string))
-                         'face '(:background "#d0d0ff"))
-                      (with-temp-buffer (apply 'call-process x)
-                                        (buffer-string))
-                      ))
-                   )
+       (let* ((buf (get-buffer-create "*system info*"))
+              (win (get-buffer-window buf))
+              (map (make-sparse-keymap)))
+
+         (if win
+             (progn
+               (delete-window win)
+               (kill-buffer buf))
+
+           (define-key map "q" 'kill-this-buffer)
+           (display-buffer buf)
+           (set-buffer buf)
+           (setq show-trailing-whitespace nil)
+           (erase-buffer)
+
+           (let ((highlight nil))
+
+             (mapc (lambda (x)
+                     (insert
+                      (if (setq highlight (not highlight))
+                          (propertize
+                           (with-temp-buffer (apply 'call-process x)
+                                             (buffer-string))
+                           'face '(:background "#d0d0ff"))
+                        (with-temp-buffer (apply 'call-process x)
+                                          (buffer-string))
+                        ))
+                     )
 
-                 '(
-                   ("hostname" nil t nil "-f")
-                   ("acpi" nil t)
-                   ("df" nil t nil "-h")
-                   ;; ("mount" nil t)
-                   ("ifconfig" nil t)
-                   ("ssh-add" nil t nil "-l")
-                   )))
+                   '(
+                     ("hostname" nil t nil "-f")
+                     ("acpi" nil t)
+                     ("df" nil t nil "-h")
+                     ;; ("mount" nil t)
+                     ("ifconfig" nil t)
+                     ("ssh-add" nil t nil "-l")
+                     )))
 
-         (goto-char (point-min))
-         (while (re-search-forward "^$" nil t) (backward-delete-char 1))
+           (goto-char (point-min))
+           (while (re-search-forward "^$" nil t) (backward-delete-char 1))
 
-         (fit-window-to-buffer (get-buffer-window buf))
-         (use-local-map map)
-         (set-buffer-modified-p nil)
-         ))
+           (fit-window-to-buffer (get-buffer-window buf))
+           (use-local-map map)
+           (set-buffer-modified-p nil)
+           )
+         )
+       )
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;; Display time
@@ -1198,7 +1217,7 @@ goback argument, go back where we were."
 
 (defun ff/git-pull-push () (interactive)
        (message "git pull / push ...")
-       (shell-command "git pull && git push" nil)
+       (async-shell-command "git pull && git push" nil)
        )
 
 (defun ff/git-pull () (interactive)
@@ -1558,6 +1577,8 @@ universal argument starts xfig even if the .fig does not exist"
 \\setlength{\\parindent}{0cm}
 \\setlength{\\parskip}{12pt}
 \\renewcommand{\\baselinestretch}{1.3}
+%\\setlength{\\tabcolsep}{0pt}
+%\\renewcommand{\\arraystretch}{1.0}
 
 \\def\\argmax{\\operatornamewithlimits{argmax}}
 \\def\\argmin{\\operatornamewithlimits{argmin}}
@@ -1777,14 +1798,15 @@ require 'optim'
   (goto-char (point-min))
   (insert "#!/usr/bin/env python-for-pytorch
 
-import torch
 import math
 
-from torch import nn
-from torch.nn import functional as fn
+import torch, torchvision
 
 from torch import Tensor
-from torch.autograd import Variable
+from torch import Tensor as T
+
+from torch import nn
+from torch.nn import functional as F
 from torch.nn.parameter import Parameter
 from torch.nn import Module
 
@@ -2662,16 +2684,16 @@ with a time tag, and save this file"
          (error "No file attached to this buffer")))
 
 (defun ff/insert-date (&optional universal) (interactive "P")
-       ;; (insert (format-time-string "\n * %Y %b %d %H:%M:%S\n\n" (current-time)))
-       ;; (insert (format-time-string "%Y %b %d %H:%M:%S" (current-time)))
-       ;; (insert (format-time-string "%d.%m.%y" (current-time)))
-       (if universal
-           (insert (format-time-string "%d.%m.%Y %H:%M:%S" (current-time)))
-         (insert (format-time-string "%d.%m.%Y" (current-time))))
+       (insert (format-time-string "\n * %H:%M:%S %A %B %d, %Y\n\n" (current-time)))
+       ;; ;; (insert (format-time-string "%Y %b %d %H:%M:%S" (current-time)))
+       ;; ;; (insert (format-time-string "%d.%m.%y" (current-time)))
+       ;; (if universal
+           ;; (insert (format-time-string "%d.%m.%Y %H:%M:%S" (current-time)))
+         ;; (insert (format-time-string "%d.%m.%Y" (current-time))))
        )
 
 (define-key ff/map [(control g)] 'ff/git-status)
-(define-key ff/map [(control w)] 'server-edit)
+;; (define-key ff/map [(control w)] 'server-edit)
 (define-key ff/map [(control d)] 'ff/elisp-debug-on)
 ;; (define-key ff/map "d" 'diary)
 (define-key ff/map "d" 'ff/insert-date)
@@ -2683,7 +2705,8 @@ with a time tag, and save this file"
 (define-key ff/map [(control a)] 'auto-fill-mode)
 (define-key ff/map [(control i)] 'ff/system-info)
 (define-key ff/map "w" 'ff/word-occurences)
-(define-key ff/map [(control c)] 'calendar)
+;; (define-key ff/map [(control c)] 'calendar)
+(define-key ff/map [(control c)] 'ff/show-compilation-buffer-split-window)
 ;; (define-key ff/map [(control c)] (lambda () (interactive) (save-excursion (calendar))))
 (define-key ff/map [(control l)] 'goto-line)
 (define-key ff/map "l" 'longlines-mode)
@@ -2890,20 +2913,19 @@ With argument ARG, do this that many times."
 
 ;; enotes.el is one of my own scripts, check my web page
 
-(when (ff/load-or-alert "enotes" t)
-  (setq enotes/file "~/private/enotes"
-        enotes/show-help nil
-        enotes/full-display nil
-        enotes/default-time-fields "9:30")
-
-  (enotes/init)
-  ;; (add-hook 'enotes/alarm-hook
-  ;;  (lambda () (ff/play-sound-async "~/local/sounds/three_notes2.wav")))
+;; ** ;; (when (ff/load-or-alert "enotes" t)
+;; ** ;;   (setq enotes/file "~/private/enotes"
+;; ** ;;         enotes/show-help nil
+;; ** ;;         enotes/full-display nil
+;; ** ;;         enotes/default-time-fields "9:30")
+;; ** ;; 
+;; ** ;;   (enotes/init)
+;; ** ;;   )
+
+(when (ff/load-or-alert "goto-last-change.el")
+  (define-key global-map [(control -)] 'goto-last-change)
   )
 
-;; (when (ff/load-or-alert "goto-last-change.el")
-;; (define-key global-map [(control x) (control a)] 'goto-last-change))
-
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;; My private stuff (email adresses, mail filters, etc.)
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;