diff --git a/.emacs b/.emacs index d542b6d..5fec497 100644 --- a/.emacs +++ b/.emacs @@ -574,6 +574,8 @@ ;; 20170725.01: ;; - autoscratch lambda=>progn +;; - added sort-table-ip[desc] and fixed auto-alignment so +;; that ip's are left aligned ;; ** TODO @@ -3372,6 +3374,36 @@ specify another regex for cell splitting." (interactive) (org-table-sort-lines nil ?T)) +;; [[http://irreal.org/blog/?p=3542][via jcs/irreal.org]] +;; however, I renamed the actual sort wrappers to match my +;; naming scheme +(defun jcs-ip-lessp (ip1 ip2 &optional op) + "Compare two IP addresses. +Unless the optional argument OP is provided, this function will return T +if IP1 is less than IP2 or NIL otherwise. The optional argument OP is +intended to be #'> to support reverse sorting." + (setq cmp (or op #'<)) + (cl-labels ((compare (l1 l2) + (if (or (null l1) (null l2)) + nil + (let ((n1 (string-to-number (car l1))) + (n2 (string-to-number (car l2)))) + (cond + ((funcall cmp n1 n2) t) + ((= n1 n2) (compare (cdr l1) (cdr l2))) + (t nil)))))) + (compare (split-string ip1 "\\.") (split-string ip2 "\\.")))) + +(defun sort-table-ip () + (interactive) + (org-table-sort-lines nil ?f #'org-sort-remove-invisible #'jcs-ip-lessp)) + +(defun sort-table-ip-desc () + (interactive) + (org-table-sort-lines nil ?F #'org-sort-remove-invisible + (lambda (ip1 ip2) (jcs-ip-lessp ip1 ip2 #'>)))) + + ;; easy access for the shortcuts (defalias 'stn 'sort-table-numeric) (defalias 'stnd 'sort-table-numeric-desc) @@ -3379,6 +3411,8 @@ specify another regex for cell splitting." (defalias 'stad 'sort-table-alphanumeric-desc) (defalias 'stt 'sort-table-time) (defalias 'sttd 'sort-table-time-desc) +(defalias 'sti 'sort-table-ip) +(defalias 'stid 'sort-table-ip-desc) ;; generic table exporter (defun tvd-export-org-table (fmt) @@ -3507,8 +3541,11 @@ specify another regex for cell splitting." (add-hook 'org-mode-hook (lambda () (local-set-key (kbd "C-c o") 'org-table-copy-col) - (local-set-key (kbd "C-c t") 'tvd-copy-org-table-cell))))) + (local-set-key (kbd "C-c t") 'tvd-copy-org-table-cell) + )))) +;; integers, reals, positives, set via custom +(setq org-table-number-regexp "^[-+]?\\([0-9]*\\.[0-9]+\\|[0-9]+\\.?[0-9]*\\)$") ;; *** org mode slideshows @@ -4932,10 +4969,10 @@ converted to PDF at the same location." '(org-level-2 ((t (:height 1.16 :foreground "sea green" :underline t :weight normal)))) '(org-level-3 ((t (:height 1.14 :foreground "saddle brown" :underline t)))) '(org-level-4 ((t (:height 1.12 :foreground "OrangeRed2" :underline t)))) - '(org-level-5 ((t (:height 1.1 :underline t)))) - '(outline-1 ((t (:height 1.2 :inherit font-lock-function-name-face :underline t :weight bold )))) - '(outline-2 ((t (:height 1.15 :inherit font-lock-variable-name-face :underline t :weight bold )))) - '(outline-3 ((t (:height 1.1 :inherit font-lock-keyword-face :underline t :weight bold)))) + '(org-level-5 ((t (:height 1.1 :underline t)))) + '(outline-1 ((t (:height 1.2 :inherit font-lock-function-name-face :underline t :weight bold)))) + '(outline-2 ((t (:height 1.15 :inherit font-lock-variable-name-face :underline t :weight bold)))) + '(outline-3 ((t (:height 1.1 :inherit font-lock-keyword-face :underline t :weight bold)))) '(outline-4 ((t (:height 1.05 :foreground "DodgerBlue3" :underline t)))) '(region ((t (:foreground "Aquamarine" :background "Darkblue")))) '(secondary-selection ((t (:foreground "Green" :background "darkslateblue")))) diff --git a/emacs.html b/emacs.html index 87c8a5f..526798b 100644 --- a/emacs.html +++ b/emacs.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- +Toms Emacs Config - portable - version (20170725.01) -*-emacs-lisp-*-
-This is my emacs config, it is more than twenty years old. It @@ -480,11 +480,11 @@ outshine-to-html, written by myself, see below.
20160420.03: @@ -1469,12 +1469,14 @@ it because inappropriate,
Snippets which maybe of use in the future
(with-current-buffer (get-buffer "scratch") @@ -1511,8 +1513,8 @@ Snippets which maybe of use in the future
My emacs config has a version (consisting of a timestamp with a @@ -1529,11 +1531,11 @@ I'm using an outdated config somewhere.
better visibility of cursor in console sessions @@ -1606,8 +1608,8 @@ better visibility of cursor in console sessions
I save backup files in a central location below the init dir, that @@ -1678,8 +1680,8 @@ This is system specific and only matches special host names.
make backspace work in console sessions @@ -1692,8 +1694,8 @@ make backspace work in console sessions
I prefer a bare bones emacs window without any distractions, so turn them off. @@ -1709,8 +1711,8 @@ I prefer a bare bones emacs window without any distractions, so turn them off.
(setq initial-scratch-message "") @@ -1723,8 +1725,8 @@ I prefer a bare bones emacs window without any distractions, so turn them off.
y is shorter than yes and less error prone. @@ -1737,8 +1739,8 @@ y is shorter than yes and less error prone.
very useful to know current column @@ -1751,8 +1753,8 @@ very useful to know current column
this can be seen in xmobar @@ -1766,8 +1768,8 @@ this can be seen in xmobar
(setq require-final-newline t) @@ -1777,8 +1779,8 @@ this can be seen in xmobar
where to look for extensions: @@ -1805,8 +1807,8 @@ modules
handy function to recompile all lisp files @@ -1821,8 +1823,8 @@ handy function to recompile all lisp files
I use those bindings everywhere (firefox, terminal, etc), and in @@ -1848,11 +1850,11 @@ emacs as well.
Very practical: resize windows easily. @@ -1869,8 +1871,8 @@ hit C-c C-r then use cursor keys to resize, <ret> to finish
(require 'windmove) @@ -1881,8 +1883,8 @@ hit C-c C-r then use cursor keys to resize, <ret> to finish
via mbork @@ -1960,8 +1962,8 @@ Use only in X11 emacs - setting M-O inside console causes <up> and
(defun tvd-quarter-windows () @@ -1979,8 +1981,8 @@ Use only in X11 emacs - setting M-O inside console causes <up> and
(winner-mode 1) @@ -1995,8 +1997,8 @@ keybindings: C-c right - winner-redo
F5 == reload file if it has been modified by another process, shift @@ -2021,8 +2023,8 @@ because Xmonad
I use spaces everywhere but Makefiles. If I encounter TABs I @@ -2062,8 +2064,8 @@ Use normal tabs in makefiles
M-x q r <ret> is short enough for me, no need for key bindings for @@ -2095,8 +2097,8 @@ those
point stays while scrolling @@ -2149,8 +2151,8 @@ I'm grown up!
(define-key global-map [C-down-mouse-2] 'imenu) @@ -2160,8 +2162,8 @@ I'm grown up!
Related: @@ -2228,8 +2230,8 @@ marked region automatically copied, also on win
are you from the past? @@ -2242,8 +2244,8 @@ are you from the past?
Complete filenames case insensitive and ignore certain files during completion.
@@ -2273,8 +2275,8 @@ via
-
Do I really need those anymore? Added ca 1999…
@@ -2304,8 +2306,8 @@ do NOT ask to save abbrevs on exit
I dont need it all the time and only for experimentation, so lets
@@ -2347,8 +2349,8 @@ only use melpa on demand
narrowed fringe background
@@ -2361,11 +2363,11 @@ narrowed fringe background
Sometimes I need a text mode scratch buffer while scratch is
@@ -2381,8 +2383,8 @@ this never gets deleted, but cleaned instead.
use autoscratch otherwise
@@ -2412,8 +2414,8 @@ use autoscratch otherwise
I also like to be scratch buffers persistent with
@@ -2435,8 +2437,8 @@ I also like to be scratch buffers persistent with
via abo abo
@@ -2457,13 +2459,13 @@ I think this is a recenter calculation bug.
via emacswiki
@@ -2581,13 +2583,13 @@ more help with: describe-function occur-mode
I stole this somewhere, as far as I remember, emacswiki, however, I
@@ -2611,8 +2613,8 @@ always had F7 for goto-line
Sometimes when sitting in a very dark enviroment, my usual light
@@ -2655,8 +2657,8 @@ fast
Go to the beginning/end of a line, hit it twice in a row to go to
@@ -2720,8 +2722,8 @@ This is the most natural use for those keys
by Jens Heunemann: jump to percent position into current buffer
@@ -2742,8 +2744,8 @@ by Jens Heunemann: jump to percent position into current buffer
There's not a lot about vi[m] I like, but jumping with % to a
@@ -2775,8 +2777,8 @@ just insert a literal ?%. Only make sense if bound to %.
Mark a region, then use M-up|down to move it around
@@ -2875,8 +2877,8 @@ code from
-
via stackoverflow
@@ -2898,8 +2900,8 @@ via stackoverflow
Simulate the # function of vi, marks the symbol at point, C-s then
@@ -2943,8 +2945,8 @@ via ergomacs
Kinda screen reader for the poor. I use this sometimes with info
@@ -2970,8 +2972,8 @@ left+right margin on demand (but nothing else)
this is just a shortcut for:
@@ -3000,8 +3002,8 @@ idea via:
-
I just create a new read-only buffer and copy the contents of the
@@ -3050,8 +3052,8 @@ a file is not maintained via VC anyway.
From time to time I get annoyed by the many dozen buffers
@@ -3084,8 +3086,8 @@ setup accidentally.
Remove TABs, leading and trailing spaces, re-indent a buffer.
@@ -3115,8 +3117,8 @@ via whattheemacs.d
Add newline and jump to indent from wherever I am in the current
@@ -3159,8 +3161,8 @@ disabled, interferes with modes.
There's not much use for the mouse in emacs, but this gimick is
@@ -3190,8 +3192,8 @@ via stackoverflow
via stackoverflow
@@ -3228,8 +3230,8 @@ usage samples below.
Try to eval 'fn, catch errors, if any but make it possible for
@@ -3251,8 +3253,8 @@ emacs to continue undisturbed, used with SMEX, see below.
align-regexp is already a very usefull tool, however, sometimes I
@@ -3302,8 +3304,8 @@ wrappers to make this easier.
Some helper functions I use here and there.
@@ -3342,14 +3344,14 @@ Some helper functions I use here and there.
Not much configured for python, I'm happy with the defaults as it seems :)
@@ -3393,8 +3395,8 @@ Not much configured for python, I'm happy with the defaults as it seems :)
I am a perl addict. I love it, therefore, emacs must be prepared
@@ -3541,8 +3543,8 @@ and hook them into cperl
I use paredit in lisp a lot, but are mostly happy with the defaults.
@@ -3585,8 +3587,8 @@ sometimes I need to be able to turn it off fast:
I use ETAGS for some projects. With etags I can easily jump to the
@@ -3663,11 +3665,11 @@ some handy aliases
Used for XML and the likes.
@@ -3694,8 +3696,8 @@ Used for XML and the likes.
Web development is shit. Tech involved is a mess, and in most cases
@@ -3789,8 +3791,8 @@ convert a text list into a html list.
Written by myself many years ago, but I'm still using it daily to
@@ -3808,8 +3810,8 @@ view and prepare cisco configs.
I rarely use markdown, but sometimes I stumble upon such a file and
@@ -3845,8 +3847,8 @@ parens and quotes constraints check on save
I LOVE POD! POD is the documentation format of perl and there's a
@@ -3980,8 +3982,8 @@ pod mode config
conf-mode annoyingly overwrites the global keybinding C-c C-c with
@@ -4002,10 +4004,10 @@ configs. Applies for derivates as well.
config-general-mode (also on Melpa).
I use TAB for completion AND tab and outshine. Also, the mode
enables electric indent automatically, but I disabled it for
@@ -4174,8 +4176,8 @@ for config-general-mode (which inherits from conf-mode).
the shortest mode ever, via emacswiki.
@@ -4198,10 +4200,10 @@ the shortest mode ever, vi
One of the best modes I ever discovered. Press C-= multiple times
@@ -4261,8 +4263,8 @@ related to ER:
For a long time this stuff was located here in my emacs config. As
@@ -4365,8 +4367,8 @@ it appears as NNN,NN.
I use change-inner with a prefix key and some wrappers around
@@ -4488,8 +4490,8 @@ typing the prefix key twice calls the real change-inner
This one is great as well, I use it to toggle flags and such stuff
@@ -4545,8 +4547,8 @@ short command anymore, so C-t would be free now, wouldn't it?
same as word-wrap but without the fringe which I hate the most!
@@ -4568,8 +4570,8 @@ overwritten by visual-line-mode above for specifics
Delete stuff fast. Press the key multiple times - delete more
@@ -4587,8 +4589,8 @@ things. Inspired by expand-region. Written by myself.
extracted from debian package emacs-goodies-el-35.2+nmu1, since
@@ -4605,8 +4607,8 @@ the current buffer, however it looks.
Edit all occurences of something at once. Great for re-factoring.
@@ -4647,11 +4649,11 @@ behavior, so, I modify it myself using defadvice.
I am a hardcore bash user, but from time to time eshell is good
@@ -4931,8 +4933,8 @@ no need for less or more, this is emacs, isn't it?
General configuration for all things elisp.
@@ -5143,8 +5145,8 @@ opens a new frame with all those buffers already opened and pinned.
el2markdown is a module which
@@ -5168,8 +5170,8 @@ README.md. Take care though: it doesn't convert the META section.
Edit remote files, one of the best things in emacs. I use it every day heavily.
@@ -5197,8 +5199,8 @@ see also backup section
I use org mode to take notes mostly at work. I also track projects
@@ -5500,8 +5502,8 @@ is in the outline section.
I'm so used to lovely org mode tables, I need them everywhere!
@@ -5572,6 +5574,41 @@ table sorting shortcuts
+via jcs/irreal.org
+however, I renamed the actual sort wrappers to match my
+naming scheme
+
easy access for the shortcuts
+integers, reals, positives, set via custom
+
Making presentations within emacs with org mode is cool as well.
@@ -5856,8 +5903,8 @@ Will be inserted as first help slide in a slide show
I maintain my emacs config with outshine mode. It works a lot like
@@ -6037,8 +6084,8 @@ posting online, which makes it way easier to read.
I use the very same cycle style as in org mode: when on a heading,
@@ -6135,8 +6182,8 @@ orange fringe when narrowed
I use narrowing quite frequently, so here are some enhancements.
@@ -6176,8 +6223,8 @@ via
-
I use ansi term for inferior shells only.
@@ -6293,8 +6340,8 @@ finally the inferior REPLs:
adds hook for .pp files
@@ -6308,8 +6355,8 @@ adds hook for .pp files
my own emacs screen reader, very handy to read docs on the road.
@@ -6325,8 +6372,8 @@ my own emacs screen reader, very handy to read docs on the road.
see macro-math
@@ -6349,8 +6396,8 @@ mark something and hit C-x C-0 (which is a reminder to C-x C-= w/o the shift)
I'm learing CL with slime, start with M-x slime.
@@ -6383,8 +6430,8 @@ INSTALL: (see:
-
open an info file somewhere outside %infodir% with info-mode
@@ -6416,8 +6463,8 @@ easier navigation in Info mode, intuitive history back and forth.
emacs provides 4 ways to calculate:
@@ -6467,8 +6514,8 @@ or, inferior perl calc: M-x icalc, see above
help: emacswiki macro tricks.
@@ -6681,8 +6728,8 @@ but only load if in use
Emacs has a builtin browser, which is not too bad.
@@ -6750,8 +6797,8 @@ hides menus and distractions! Update emacs.
experimental: do things on save buffer etc.
@@ -6760,8 +6807,8 @@ Source: firestarter
built-in, used by many interactive major modes
@@ -6809,8 +6856,8 @@ we need to kill tablist's binding in order to have ours run (see below)
I even customize help windows! … at least a little :)
@@ -6833,8 +6880,8 @@ I even customize help windows! … at least a little :)
suggest mode is a great
@@ -6884,8 +6931,8 @@ I use my own clearing function, since suggest doesn't provide this
source on github
@@ -6915,11 +6962,11 @@ The mode is a work-in-progress…
-
display matching braces
@@ -6940,8 +6987,8 @@ display matching braces
Absolutely needed!
@@ -6956,8 +7003,8 @@ Absolutely needed!
Better undo, with redo support.
@@ -7000,8 +7047,8 @@ M-_ catched by Xmonad
This is really cool and I don't know how I could ever live without it.
@@ -7024,8 +7071,8 @@ fails @win, so wrap it
display current function - if any - in mode line
@@ -7040,8 +7087,8 @@ display current function - if any - in mode line
You know the file you edited yesterday had "kri" in its name, but
@@ -7155,8 +7202,8 @@ exclude some auto generated files
There are other completion enhancement packages available like ivy
@@ -7288,8 +7335,8 @@ by howardism: [re]open non-writable file with sudo
So the next time I start emacs and open a file I were editing
@@ -7310,8 +7357,8 @@ before.
I'm not using it a lot, sometimes I tune the background color though.
@@ -7340,8 +7387,8 @@ cool ones: doremi-buffers, doremi-all-faces-fg+ [s, h]
not a mode, but however: higlight TABs in certain modes
@@ -7364,8 +7411,8 @@ not a mode, but however: higlight TABs in certain modes
when active use n and p to browse, <ret> to select, it's the same
@@ -7383,8 +7430,8 @@ as <M-y> and I never really use it…
Very handy, jump to last change[s].
@@ -7401,8 +7448,8 @@ Very handy, jump to last change[s].
I use the builtin bookmark feature quite a lot and am happy with
@@ -7434,8 +7481,8 @@ I use the same aliases as in apparix for bash (since I'm used to them)
One of the best unobstrusive modes for key help ever. Just start
@@ -7455,8 +7502,8 @@ press from there along with the associated functions.
iBuffer is a great interactive buffer management tool included with
@@ -7666,8 +7713,8 @@ override ibuffer M-o binding
overwrites printing default menu, access via menu File => Print
@@ -7712,8 +7759,8 @@ via
-
Source: beacon mode
@@ -7743,8 +7790,8 @@ editing position.
I just append the current version of my emacs config and leave out
@@ -7809,13 +7856,13 @@ custom modeline
Font color config, must always be the last thing so all hook faces are loaded.
@@ -7861,10 +7908,10 @@ show available colors:
'(org-level-2 ((t (:height 1.16 :foreground "sea green" :underline t :weight normal))))
'(org-level-3 ((t (:height 1.14 :foreground "saddle brown" :underline t))))
'(org-level-4 ((t (:height 1.12 :foreground "OrangeRed2" :underline t))))
- '(org-level-5 ((t (:height 1.1 :underline t))))
- '(outline-1 ((t (:height 1.2 :inherit font-lock-function-name-face :underline t :weight bold ))))
- '(outline-2 ((t (:height 1.15 :inherit font-lock-variable-name-face :underline t :weight bold ))))
- '(outline-3 ((t (:height 1.1 :inherit font-lock-keyword-face :underline t :weight bold))))
+ '(org-level-5 ((t (:height 1.1 :underline t))))
+ '(outline-1 ((t (:height 1.2 :inherit font-lock-function-name-face :underline t :weight bold))))
+ '(outline-2 ((t (:height 1.15 :inherit font-lock-variable-name-face :underline t :weight bold))))
+ '(outline-3 ((t (:height 1.1 :inherit font-lock-keyword-face :underline t :weight bold))))
'(outline-4 ((t (:height 1.05 :foreground "DodgerBlue3" :underline t))))
'(region ((t (:foreground "Aquamarine" :background "Darkblue"))))
'(secondary-selection ((t (:foreground "Green" :background "darkslateblue"))))
@@ -7894,8 +7941,8 @@ unless we're on windoze
If I ever use custom-group to customize a mode, then I create a
@@ -7916,8 +7963,8 @@ here. So, in normal times this should be empty, but needs to exist.
Finally, this message is being displayed. If this isn't the case I
@@ -7934,7 +7981,7 @@ know easily that something went wrong.
3.24 abbreviations
+3.24 abbreviations
3.25 meaningful names for buffers with the same name
+3.25 meaningful names for buffers with the same name
3.26 packages
+3.26 packages
3.27 My own global variables
+3.27 My own global variables
3.28 More scratch space
+3.28 More scratch space
3.28.1 Text scratch
+3.28.1 Text scratch
3.28.2 Autoscratch
+3.28.2 Autoscratch
3.28.3 Persistent Scratch
+3.28.3 Persistent Scratch
3.29 Recenter config
+3.29 Recenter config
4 Global Key Bindings
+4 Global Key Bindings
4.1 c-h != delete
+4.1 c-h != delete
(keyboard-translate ?\C-h ?\C-?)
@@ -2474,8 +2476,8 @@ I think this is a recenter calculation bug.
4.2 general keys (re-)mappings
+4.2 general keys (re-)mappings
(global-set-key (kbd "C-s") 'isearch-forward-regexp)
@@ -2503,8 +2505,8 @@ I think this is a recenter calculation bug.
4.3 display a list of my own global key bindings and aliases
+4.3 display a list of my own global key bindings and aliases
5 Productivity Functions
+5 Productivity Functions
5.1 goto line with tmp line numbers
+5.1 goto line with tmp line numbers
5.2 invert fore- and background
+5.2 invert fore- and background
5.3 Some useful bindings for Home and End keys Hit the key once to
+5.3 Some useful bindings for Home and End keys Hit the key once to
5.4 percent function
+5.4 percent function
5.5 Simulate vi's % function
+5.5 Simulate vi's % function
5.6 Move region
+5.6 Move region
5.7 comment-uncomment region with one key binding
+5.7 comment-uncomment region with one key binding
5.8 search for symbol at point
+5.8 search for symbol at point
5.9 Window Margin
+5.9 Window Margin
5.10 Fill and justify a paragraph
+5.10 Fill and justify a paragraph
5.11 Make a read-only copy of the current buffer
+5.11 Make a read-only copy of the current buffer
5.12 Cleanup, close all windows and kill all buffers
+5.12 Cleanup, close all windows and kill all buffers
5.13 Cleanup current buffer
+5.13 Cleanup current buffer
5.14 Better newline(s)
+5.14 Better newline(s)
5.15 Mouse Rectangle
+5.15 Mouse Rectangle
5.16 DOS <=> UNIX conversion helpers
+5.16 DOS <=> UNIX conversion helpers
(defun dos2unix ()
@@ -3209,8 +3211,8 @@ via stackoverflow
5.17 helper do add the same thing to multiple mode hooks
+5.17 helper do add the same thing to multiple mode hooks
5.18 helper to catch load errors
+5.18 helper to catch load errors
5.19 Alignment Wrappers
+5.19 Alignment Wrappers
5.20 String Helpers
+5.20 String Helpers
6 Modes
+6 Modes
6.1 Programming Languages
+6.1 Programming Languages
6.1.1 VALA
+6.1.1 VALA
(autoload 'vala-mode "vala-mode" "Major mode for editing Vala code." t)
@@ -3364,8 +3366,8 @@ Some helper functions I use here and there.
6.1.2 python mode
+6.1.2 python mode
6.1.3 cperl mode
+6.1.3 cperl mode
6.1.4 Paredit for lisp only
+6.1.4 Paredit for lisp only
6.1.5 ETAGS
+6.1.5 ETAGS
6.2 Text Modes
+6.2 Text Modes
6.2.1 sgml
+6.2.1 sgml
6.2.2 web-mode (JS, HTML, CSS combined)
+6.2.2 web-mode (JS, HTML, CSS combined)
6.2.3 Cisco Mode
+6.2.3 Cisco Mode
6.2.4 Markdown
+6.2.4 Markdown
6.2.5 POD mode
+6.2.5 POD mode
6.2.6 conf-mode
+6.2.6 conf-mode
6.2.7 Config::General mode
+6.2.7 Config::General mode
(defun config-general-completion-at-point ()
"Complete word at point using hippie-expand, if not on a comment."
@@ -4124,7 +4126,7 @@ Bugreport: http://d
6.2.8 Xmodmap Mode
+6.2.8 Xmodmap Mode
6.2.9 MMM Mode
+6.2.9 MMM Mode
(add-to-list 'load-path (concat tvd-lisp-dir "/mmm-mode"))
@@ -4220,7 +4222,7 @@ see doc for class definition in var 'mmm-classes-alist
(mmm-add-classes
'((html-pod
@@ -4238,11 +4240,11 @@ see doc for class definition in var 'mmm-classes-alist
6.3 Text Manupilation
+6.3 Text Manupilation
6.3.1 expand-region
+6.3.1 expand-region
6.3.2 Mark, Copy, Yank Things
+6.3.2 Mark, Copy, Yank Things
6.3.3 change-inner
+6.3.3 change-inner
6.3.4 Rotate text
+6.3.4 Rotate text
6.3.5 Word wrapping
+6.3.5 Word wrapping
6.3.6 Viking Mode
+6.3.6 Viking Mode
6.3.7 HTMLize
+6.3.7 HTMLize
6.3.8 iEdit (inline edit multiple searches)
+6.3.8 iEdit (inline edit multiple searches)
6.4 Interactives
+6.4 Interactives
6.4.1 eShell stuff, or if interactive stuff is needed, use ansi-term
+6.4.1 eShell stuff, or if interactive stuff is needed, use ansi-term
6.4.2 Emacs LISP interactive
+6.4.2 Emacs LISP interactive
6.4.3 el2markdown
+6.4.3 el2markdown
6.4.4 tramp mode
+6.4.4 tramp mode
6.4.5 org mode
+6.4.5 org mode
6.4.6 org table mode
+6.4.6 org table mode
(defun jcs-ip-lessp (ip1 ip2 &optional op)
+ "Compare two IP addresses.
+Unless the optional argument OP is provided, this function will return T
+if IP1 is less than IP2 or NIL otherwise. The optional argument OP is
+intended to be #'> to support reverse sorting."
+ (setq cmp (or op #'<))
+ (cl-labels ((compare (l1 l2)
+ (if (or (null l1) (null l2))
+ nil
+ (let ((n1 (string-to-number (car l1)))
+ (n2 (string-to-number (car l2))))
+ (cond
+ ((funcall cmp n1 n2) t)
+ ((= n1 n2) (compare (cdr l1) (cdr l2)))
+ (t nil))))))
+ (compare (split-string ip1 "\\.") (split-string ip2 "\\."))))
+
+(defun sort-table-ip ()
+ (interactive)
+ (org-table-sort-lines nil ?f #'org-sort-remove-invisible #'jcs-ip-lessp))
+
+(defun sort-table-ip-desc ()
+ (interactive)
+ (org-table-sort-lines nil ?F #'org-sort-remove-invisible
+ (lambda (ip1 ip2) (jcs-ip-lessp ip1 ip2 #'>))))
+
+(setq org-table-number-regexp "^[-+]?\\([0-9]*\\.[0-9]+\\|[0-9]+\\.?[0-9]*\\)$")
6.4.7 org mode slideshows
+6.4.7 org mode slideshows
6.4.8 outshine mode
+6.4.8 outshine mode
6.4.9 outline mode
+6.4.9 outline mode
6.4.10 narrowing (no mode but fits here)
+6.4.10 narrowing (no mode but fits here)
6.4.11 ANSI-TERM (inferior shells/interpreters and REPLs)
+6.4.11 ANSI-TERM (inferior shells/interpreters and REPLs)
6.4.12 Puppet
+6.4.12 Puppet
6.4.13 Novel Mode - Screen Reader
+6.4.13 Novel Mode - Screen Reader
6.4.14 Macro Math
+6.4.14 Macro Math
6.4.15 Common-Lisp (SLIME)
+6.4.15 Common-Lisp (SLIME)
6.4.16 INFO Mode
+6.4.16 INFO Mode
6.4.17 calc et al.
+6.4.17 calc et al.
6.4.18 MACROs
+6.4.18 MACROs
6.4.19 EWW browser stuff
+6.4.19 EWW browser stuff
6.4.20 Firestarter
+6.4.20 Firestarter
6.4.21 Tabulated List Mode
+6.4.21 Tabulated List Mode
6.4.22 Help Mode
+6.4.22 Help Mode
6.4.23 Suggest Mode
+6.4.23 Suggest Mode
6.4.24 Followcursor Mode
+6.4.24 Followcursor Mode
6.5 Emacs Interface
+6.5 Emacs Interface
6.5.1 Parens
+6.5.1 Parens
6.5.2 highlight todo keywords (such as FIXME)
+6.5.2 highlight todo keywords (such as FIXME)
6.5.3 UNDO Tree Mode
+6.5.3 UNDO Tree Mode
6.5.4 Smarter M-x Mode (smex)
+6.5.4 Smarter M-x Mode (smex)
6.5.5 Which Func
+6.5.5 Which Func
6.5.6 Show current-line in the Fringe
+6.5.6 Show current-line in the Fringe
(require 'fringe-current-line)
@@ -7060,8 +7107,8 @@ also change the color (matching the mode line
6.5.7 Recent Files
+6.5.7 Recent Files
6.5.8 IDO mode
+6.5.8 IDO mode
6.5.9 Save cursor position
+6.5.9 Save cursor position
6.5.10 DoReMi experimentation
+6.5.10 DoReMi experimentation
6.5.11 Hightligt TABs
+6.5.11 Hightligt TABs
6.5.12 Browse kill-ring
+6.5.12 Browse kill-ring
6.5.13 goto-last-change
+6.5.13 goto-last-change
6.5.14 Bookmarks
+6.5.14 Bookmarks
6.5.15 which-key
+6.5.15 which-key
6.5.16 iBuffer mode
+6.5.16 iBuffer mode
6.5.17 Printing
+6.5.17 Printing
6.5.18 Beacon mode (pointer blink)
+6.5.18 Beacon mode (pointer blink)
6.6 mode-line setup (must be the last mode)
+6.6 mode-line setup (must be the last mode)
7 Emacs Autoconfig / Customizegroup stuff
+7 Emacs Autoconfig / Customizegroup stuff
7.1 font faces
+7.1 font faces
7.2 variables
+7.2 variables
7.3 done
+7.3 done