annotate .elisp/settings/50.localfuncs.el @ 336:ea73ef5dc38c

emacs: avoid weird package.el breakage with newish packages I've been toting around this package.el from 2009 or so, and something in the package format seems to have changed that broke me. Thanks to some related diagnostics by Lucas, I've grabbed the last package.el that worked with emacs 23 and stashed it here. This seems to work, modulo some things (notably js2-mode and smex) now seem to require emacs 24 if you install them using package.el, so this will end up being brittle on my last couple of emacs23 machines.
author Augie Fackler <raf@durin42.com>
date Thu, 29 May 2014 14:30:42 -0400
parents 026344f083ef
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
180
cd4e645d1207 emacs localfuncs: add advice for ido to avoid blocking in flex matching
Augie Fackler <durin42@gmail.com>
parents: 158
diff changeset
1 ;; advice to prevent ido from using flex matches on huge lists of files
cd4e645d1207 emacs localfuncs: add advice for ido to avoid blocking in flex matching
Augie Fackler <durin42@gmail.com>
parents: 158
diff changeset
2 ;; with enough characters typed and blocking for an absurd amount of time
cd4e645d1207 emacs localfuncs: add advice for ido to avoid blocking in flex matching
Augie Fackler <durin42@gmail.com>
parents: 158
diff changeset
3 ;; after a stupid typo
cd4e645d1207 emacs localfuncs: add advice for ido to avoid blocking in flex matching
Augie Fackler <durin42@gmail.com>
parents: 158
diff changeset
4 ;; The value af-ido-flex-fuzzy-limit is the maximum value of the product
cd4e645d1207 emacs localfuncs: add advice for ido to avoid blocking in flex matching
Augie Fackler <durin42@gmail.com>
parents: 158
diff changeset
5 ;; of the number of characters the user has entered and the number of
cd4e645d1207 emacs localfuncs: add advice for ido to avoid blocking in flex matching
Augie Fackler <durin42@gmail.com>
parents: 158
diff changeset
6 ;; options in the ido list.
cd4e645d1207 emacs localfuncs: add advice for ido to avoid blocking in flex matching
Augie Fackler <durin42@gmail.com>
parents: 158
diff changeset
7 ;; The default value was determined experimentally and seemed to be
cd4e645d1207 emacs localfuncs: add advice for ido to avoid blocking in flex matching
Augie Fackler <durin42@gmail.com>
parents: 158
diff changeset
8 ;; the boundary of sane wait times when this was written.
cd4e645d1207 emacs localfuncs: add advice for ido to avoid blocking in flex matching
Augie Fackler <durin42@gmail.com>
parents: 158
diff changeset
9 (defvar af-ido-flex-fuzzy-limit (* 2000 5))
cd4e645d1207 emacs localfuncs: add advice for ido to avoid blocking in flex matching
Augie Fackler <durin42@gmail.com>
parents: 158
diff changeset
10 (defadvice ido-set-matches-1 (around my-ido-set-matches-1 activate)
cd4e645d1207 emacs localfuncs: add advice for ido to avoid blocking in flex matching
Augie Fackler <durin42@gmail.com>
parents: 158
diff changeset
11 "Conditionally disable flex matching if the list is huge.
cd4e645d1207 emacs localfuncs: add advice for ido to avoid blocking in flex matching
Augie Fackler <durin42@gmail.com>
parents: 158
diff changeset
12
cd4e645d1207 emacs localfuncs: add advice for ido to avoid blocking in flex matching
Augie Fackler <durin42@gmail.com>
parents: 158
diff changeset
13 This is useful because when the ido list is huge, ido flex matching
cd4e645d1207 emacs localfuncs: add advice for ido to avoid blocking in flex matching
Augie Fackler <durin42@gmail.com>
parents: 158
diff changeset
14 spends an eternity in a regex if you make a typo."
cd4e645d1207 emacs localfuncs: add advice for ido to avoid blocking in flex matching
Augie Fackler <durin42@gmail.com>
parents: 158
diff changeset
15 (let ((ido-enable-flex-matching (< (* (length (ad-get-arg 0)) (length ido-text))
cd4e645d1207 emacs localfuncs: add advice for ido to avoid blocking in flex matching
Augie Fackler <durin42@gmail.com>
parents: 158
diff changeset
16 af-ido-flex-fuzzy-limit)))
cd4e645d1207 emacs localfuncs: add advice for ido to avoid blocking in flex matching
Augie Fackler <durin42@gmail.com>
parents: 158
diff changeset
17 ad-do-it))
cd4e645d1207 emacs localfuncs: add advice for ido to avoid blocking in flex matching
Augie Fackler <durin42@gmail.com>
parents: 158
diff changeset
18
cd4e645d1207 emacs localfuncs: add advice for ido to avoid blocking in flex matching
Augie Fackler <durin42@gmail.com>
parents: 158
diff changeset
19 ;; Generic repository differ. Requires textmate.el and mercurial.el.
295
026344f083ef af-generic-diff-repo: use monky or magit if available
Augie Fackler <raf@durin42.com>
parents: 238
diff changeset
20 ;; Will use monky or magit if either one is present.
158
36a4e4b0f9c3 localfuncs: smart multi-vcs diff command
Augie Fackler <durin42@gmail.com>
parents: 141
diff changeset
21 (defun af-generic-diff-repo ()
36a4e4b0f9c3 localfuncs: smart multi-vcs diff command
Augie Fackler <durin42@gmail.com>
parents: 141
diff changeset
22 (interactive)
36a4e4b0f9c3 localfuncs: smart multi-vcs diff command
Augie Fackler <durin42@gmail.com>
parents: 141
diff changeset
23 (let ((root (textmate-project-root)))
295
026344f083ef af-generic-diff-repo: use monky or magit if available
Augie Fackler <raf@durin42.com>
parents: 238
diff changeset
24 (cond ((and (string= (textmate-project-root-type root) "hg") (fboundp 'monky-status)) (monky-status))
026344f083ef af-generic-diff-repo: use monky or magit if available
Augie Fackler <raf@durin42.com>
parents: 238
diff changeset
25 ((and (string= (textmate-project-root-type root) "git") (fboundp 'magit-status)) (magit-status root))
026344f083ef af-generic-diff-repo: use monky or magit if available
Augie Fackler <raf@durin42.com>
parents: 238
diff changeset
26 (t (progn
026344f083ef af-generic-diff-repo: use monky or magit if available
Augie Fackler <raf@durin42.com>
parents: 238
diff changeset
27 (cd root)
026344f083ef af-generic-diff-repo: use monky or magit if available
Augie Fackler <raf@durin42.com>
parents: 238
diff changeset
28 (hg-view-output
026344f083ef af-generic-diff-repo: use monky or magit if available
Augie Fackler <raf@durin42.com>
parents: 238
diff changeset
29 ((format "project diff for %s" root))
026344f083ef af-generic-diff-repo: use monky or magit if available
Augie Fackler <raf@durin42.com>
parents: 238
diff changeset
30 (call-process (textmate-project-root-type root) nil t nil "diff")
026344f083ef af-generic-diff-repo: use monky or magit if available
Augie Fackler <raf@durin42.com>
parents: 238
diff changeset
31 (diff-mode)
026344f083ef af-generic-diff-repo: use monky or magit if available
Augie Fackler <raf@durin42.com>
parents: 238
diff changeset
32 (setq diff (not (= (point-min) (point-max))))
026344f083ef af-generic-diff-repo: use monky or magit if available
Augie Fackler <raf@durin42.com>
parents: 238
diff changeset
33 (font-lock-fontify-buffer)
026344f083ef af-generic-diff-repo: use monky or magit if available
Augie Fackler <raf@durin42.com>
parents: 238
diff changeset
34 (cd root)))))))
026344f083ef af-generic-diff-repo: use monky or magit if available
Augie Fackler <raf@durin42.com>
parents: 238
diff changeset
35
158
36a4e4b0f9c3 localfuncs: smart multi-vcs diff command
Augie Fackler <durin42@gmail.com>
parents: 141
diff changeset
36 (global-set-key [(control c)(t)(=)] 'af-generic-diff-repo)
36a4e4b0f9c3 localfuncs: smart multi-vcs diff command
Augie Fackler <durin42@gmail.com>
parents: 141
diff changeset
37 (global-set-key [(control c)(d)] 'af-generic-diff-repo)
36a4e4b0f9c3 localfuncs: smart multi-vcs diff command
Augie Fackler <durin42@gmail.com>
parents: 141
diff changeset
38
295
026344f083ef af-generic-diff-repo: use monky or magit if available
Augie Fackler <raf@durin42.com>
parents: 238
diff changeset
39
207
c965d5dbd868 emacs localfuncs: add list rotation and string-joining functions I sometimes use
Augie Fackler <durin42@gmail.com>
parents: 188
diff changeset
40 (defun af-rotate-list (l)
c965d5dbd868 emacs localfuncs: add list rotation and string-joining functions I sometimes use
Augie Fackler <durin42@gmail.com>
parents: 188
diff changeset
41 "Move the head of l to the end of the list."
c965d5dbd868 emacs localfuncs: add list rotation and string-joining functions I sometimes use
Augie Fackler <durin42@gmail.com>
parents: 188
diff changeset
42 (append (cdr l) (list (car l))))
c965d5dbd868 emacs localfuncs: add list rotation and string-joining functions I sometimes use
Augie Fackler <durin42@gmail.com>
parents: 188
diff changeset
43
c965d5dbd868 emacs localfuncs: add list rotation and string-joining functions I sometimes use
Augie Fackler <durin42@gmail.com>
parents: 188
diff changeset
44 (defun af-spacejoin (l)
c965d5dbd868 emacs localfuncs: add list rotation and string-joining functions I sometimes use
Augie Fackler <durin42@gmail.com>
parents: 188
diff changeset
45 "Given list of strings l, join them with spaces and return.
c965d5dbd868 emacs localfuncs: add list rotation and string-joining functions I sometimes use
Augie Fackler <durin42@gmail.com>
parents: 188
diff changeset
46
c965d5dbd868 emacs localfuncs: add list rotation and string-joining functions I sometimes use
Augie Fackler <durin42@gmail.com>
parents: 188
diff changeset
47 Returns the empty string if l is nil."
c965d5dbd868 emacs localfuncs: add list rotation and string-joining functions I sometimes use
Augie Fackler <durin42@gmail.com>
parents: 188
diff changeset
48 (if l
c965d5dbd868 emacs localfuncs: add list rotation and string-joining functions I sometimes use
Augie Fackler <durin42@gmail.com>
parents: 188
diff changeset
49 (reduce '(lambda (x &optional y) (concat x " " (if y y))) l)
c965d5dbd868 emacs localfuncs: add list rotation and string-joining functions I sometimes use
Augie Fackler <durin42@gmail.com>
parents: 188
diff changeset
50 ""))
c965d5dbd868 emacs localfuncs: add list rotation and string-joining functions I sometimes use
Augie Fackler <durin42@gmail.com>
parents: 188
diff changeset
51
89
f34d90569fdc Add a file for local functions not yet extracted into a module. Includes a function to run pyflakes on the current buffer.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
52 (defun pyflakes-this-buffer ()
f34d90569fdc Add a file for local functions not yet extracted into a module. Includes a function to run pyflakes on the current buffer.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
53 (interactive)
91
075b45c5aecc cd to the file dir before running pyflakes to make output less verbose.
Augie Fackler <durin42@gmail.com>
parents: 89
diff changeset
54 (compilation-start (concat "cd "
075b45c5aecc cd to the file dir before running pyflakes to make output less verbose.
Augie Fackler <durin42@gmail.com>
parents: 89
diff changeset
55 (file-name-directory buffer-file-name)
96
0eabfd7a8ffa Add a fullscreen function, cleanup.
Augie Fackler <durin42@gmail.com>
parents: 91
diff changeset
56 "; pyflakes " (file-name-nondirectory
0eabfd7a8ffa Add a fullscreen function, cleanup.
Augie Fackler <durin42@gmail.com>
parents: 91
diff changeset
57 buffer-file-name))
91
075b45c5aecc cd to the file dir before running pyflakes to make output less verbose.
Augie Fackler <durin42@gmail.com>
parents: 89
diff changeset
58 nil
075b45c5aecc cd to the file dir before running pyflakes to make output less verbose.
Augie Fackler <durin42@gmail.com>
parents: 89
diff changeset
59 (lambda (mode) "*pyflakes*")))
96
0eabfd7a8ffa Add a fullscreen function, cleanup.
Augie Fackler <durin42@gmail.com>
parents: 91
diff changeset
60
188
e77c01b7b0f4 localfuncs: add tool for running check-code on hg
Augie Fackler <durin42@gmail.com>
parents: 180
diff changeset
61 (defun hg-check-code ()
e77c01b7b0f4 localfuncs: add tool for running check-code on hg
Augie Fackler <durin42@gmail.com>
parents: 180
diff changeset
62 (interactive)
e77c01b7b0f4 localfuncs: add tool for running check-code on hg
Augie Fackler <durin42@gmail.com>
parents: 180
diff changeset
63 (textmate-start-compile-in-root "python contrib/check-code.py `hg man`"
e77c01b7b0f4 localfuncs: add tool for running check-code on hg
Augie Fackler <durin42@gmail.com>
parents: 180
diff changeset
64 nil
e77c01b7b0f4 localfuncs: add tool for running check-code on hg
Augie Fackler <durin42@gmail.com>
parents: 180
diff changeset
65 '(lambda (x) "*check-code*") ))
e77c01b7b0f4 localfuncs: add tool for running check-code on hg
Augie Fackler <durin42@gmail.com>
parents: 180
diff changeset
66
96
0eabfd7a8ffa Add a fullscreen function, cleanup.
Augie Fackler <durin42@gmail.com>
parents: 91
diff changeset
67 (defun fullscreen ()
0eabfd7a8ffa Add a fullscreen function, cleanup.
Augie Fackler <durin42@gmail.com>
parents: 91
diff changeset
68 (interactive)
0eabfd7a8ffa Add a fullscreen function, cleanup.
Augie Fackler <durin42@gmail.com>
parents: 91
diff changeset
69 (set-frame-parameter nil 'fullscreen
0eabfd7a8ffa Add a fullscreen function, cleanup.
Augie Fackler <durin42@gmail.com>
parents: 91
diff changeset
70 (if (frame-parameter nil 'fullscreen) nil 'fullboth)))
117
67bfc48b2a61 Function for removing a file from Mercurial.
Augie Fackler <durin42@gmail.com>
parents: 98
diff changeset
71
67bfc48b2a61 Function for removing a file from Mercurial.
Augie Fackler <durin42@gmail.com>
parents: 98
diff changeset
72
67bfc48b2a61 Function for removing a file from Mercurial.
Augie Fackler <durin42@gmail.com>
parents: 98
diff changeset
73 (defun hg-rm-this-file ()
67bfc48b2a61 Function for removing a file from Mercurial.
Augie Fackler <durin42@gmail.com>
parents: 98
diff changeset
74 (interactive)
124
2ae20e96f6c0 Should really shell quote this arg.
Augie Fackler <durin42@gmail.com>
parents: 117
diff changeset
75 (shell-command-to-string (concat "hg rm " (shell-quote-argument buffer-file-name))))
125
15bcc3e0afeb Function for selecting text inside of a quote pair.
Augie Fackler <durin42@gmail.com>
parents: 124
diff changeset
76
15bcc3e0afeb Function for selecting text inside of a quote pair.
Augie Fackler <durin42@gmail.com>
parents: 124
diff changeset
77 ;; Lifted from http://code.google.com/p/ergoemacs/
15bcc3e0afeb Function for selecting text inside of a quote pair.
Augie Fackler <durin42@gmail.com>
parents: 124
diff changeset
78 (defun select-text-in-quote ()
15bcc3e0afeb Function for selecting text inside of a quote pair.
Augie Fackler <durin42@gmail.com>
parents: 124
diff changeset
79 "Select text between the nearest left and right delimiters.
15bcc3e0afeb Function for selecting text inside of a quote pair.
Augie Fackler <durin42@gmail.com>
parents: 124
diff changeset
80 Delimiters are paired characters: ()[]<>«»“”‘’「」, including \"\"."
15bcc3e0afeb Function for selecting text inside of a quote pair.
Augie Fackler <durin42@gmail.com>
parents: 124
diff changeset
81 (interactive)
15bcc3e0afeb Function for selecting text inside of a quote pair.
Augie Fackler <durin42@gmail.com>
parents: 124
diff changeset
82 (let (b1 b2)
15bcc3e0afeb Function for selecting text inside of a quote pair.
Augie Fackler <durin42@gmail.com>
parents: 124
diff changeset
83 (skip-chars-backward "^<>(“{[「«\"‘")
15bcc3e0afeb Function for selecting text inside of a quote pair.
Augie Fackler <durin42@gmail.com>
parents: 124
diff changeset
84 (setq b1 (point))
15bcc3e0afeb Function for selecting text inside of a quote pair.
Augie Fackler <durin42@gmail.com>
parents: 124
diff changeset
85 (skip-chars-forward "^<>)”}]」»\"’")
15bcc3e0afeb Function for selecting text inside of a quote pair.
Augie Fackler <durin42@gmail.com>
parents: 124
diff changeset
86 (setq b2 (point))
15bcc3e0afeb Function for selecting text inside of a quote pair.
Augie Fackler <durin42@gmail.com>
parents: 124
diff changeset
87 (set-mark b1)
15bcc3e0afeb Function for selecting text inside of a quote pair.
Augie Fackler <durin42@gmail.com>
parents: 124
diff changeset
88 )
15bcc3e0afeb Function for selecting text inside of a quote pair.
Augie Fackler <durin42@gmail.com>
parents: 124
diff changeset
89 )
126
34b698771af9 emacs keybinding fixes
Augie Fackler <durin42@gmail.com>
parents: 125
diff changeset
90
34b698771af9 emacs keybinding fixes
Augie Fackler <durin42@gmail.com>
parents: 125
diff changeset
91 ;; Most of this was extracted from show-paren-function in paren.el from an emacs 23 nightly
34b698771af9 emacs keybinding fixes
Augie Fackler <durin42@gmail.com>
parents: 125
diff changeset
92 ;; Also, it seems like this really ought to be builtin, but I can't find it.
34b698771af9 emacs keybinding fixes
Augie Fackler <durin42@gmail.com>
parents: 125
diff changeset
93 (defun bounce-to-other-paren ()
34b698771af9 emacs keybinding fixes
Augie Fackler <durin42@gmail.com>
parents: 125
diff changeset
94 (interactive)
34b698771af9 emacs keybinding fixes
Augie Fackler <durin42@gmail.com>
parents: 125
diff changeset
95 (let ((oldpos (point))
34b698771af9 emacs keybinding fixes
Augie Fackler <durin42@gmail.com>
parents: 125
diff changeset
96 (dir (cond ((eq (syntax-class (syntax-after (1- (point)))) 5) -1)
34b698771af9 emacs keybinding fixes
Augie Fackler <durin42@gmail.com>
parents: 125
diff changeset
97 ((eq (syntax-class (syntax-after (point))) 4) 1)))
34b698771af9 emacs keybinding fixes
Augie Fackler <durin42@gmail.com>
parents: 125
diff changeset
98 pos mismatch face)
34b698771af9 emacs keybinding fixes
Augie Fackler <durin42@gmail.com>
parents: 125
diff changeset
99 ;;
34b698771af9 emacs keybinding fixes
Augie Fackler <durin42@gmail.com>
parents: 125
diff changeset
100 ;; Find the other end of the sexp.
34b698771af9 emacs keybinding fixes
Augie Fackler <durin42@gmail.com>
parents: 125
diff changeset
101 (when dir
34b698771af9 emacs keybinding fixes
Augie Fackler <durin42@gmail.com>
parents: 125
diff changeset
102 (save-excursion
34b698771af9 emacs keybinding fixes
Augie Fackler <durin42@gmail.com>
parents: 125
diff changeset
103 (save-restriction
34b698771af9 emacs keybinding fixes
Augie Fackler <durin42@gmail.com>
parents: 125
diff changeset
104 ;; Determine the range within which to look for a match.
34b698771af9 emacs keybinding fixes
Augie Fackler <durin42@gmail.com>
parents: 125
diff changeset
105 (when blink-matching-paren-distance
34b698771af9 emacs keybinding fixes
Augie Fackler <durin42@gmail.com>
parents: 125
diff changeset
106 (narrow-to-region
34b698771af9 emacs keybinding fixes
Augie Fackler <durin42@gmail.com>
parents: 125
diff changeset
107 (max (point-min) (- (point) blink-matching-paren-distance))
34b698771af9 emacs keybinding fixes
Augie Fackler <durin42@gmail.com>
parents: 125
diff changeset
108 (min (point-max) (+ (point) blink-matching-paren-distance))))
34b698771af9 emacs keybinding fixes
Augie Fackler <durin42@gmail.com>
parents: 125
diff changeset
109 ;; Scan across one sexp within that range.
34b698771af9 emacs keybinding fixes
Augie Fackler <durin42@gmail.com>
parents: 125
diff changeset
110 ;; Errors or nil mean there is a mismatch.
34b698771af9 emacs keybinding fixes
Augie Fackler <durin42@gmail.com>
parents: 125
diff changeset
111 (condition-case ()
34b698771af9 emacs keybinding fixes
Augie Fackler <durin42@gmail.com>
parents: 125
diff changeset
112 (setq pos (scan-sexps (point) dir))
34b698771af9 emacs keybinding fixes
Augie Fackler <durin42@gmail.com>
parents: 125
diff changeset
113 (error (setq pos t mismatch t)))
34b698771af9 emacs keybinding fixes
Augie Fackler <durin42@gmail.com>
parents: 125
diff changeset
114 ;; Move back the other way and verify we get back to the
34b698771af9 emacs keybinding fixes
Augie Fackler <durin42@gmail.com>
parents: 125
diff changeset
115 ;; starting point. If not, these two parens don't really match.
34b698771af9 emacs keybinding fixes
Augie Fackler <durin42@gmail.com>
parents: 125
diff changeset
116 ;; Maybe the one at point is escaped and doesn't really count.
34b698771af9 emacs keybinding fixes
Augie Fackler <durin42@gmail.com>
parents: 125
diff changeset
117 (when (integerp pos)
34b698771af9 emacs keybinding fixes
Augie Fackler <durin42@gmail.com>
parents: 125
diff changeset
118 (unless (condition-case ()
34b698771af9 emacs keybinding fixes
Augie Fackler <durin42@gmail.com>
parents: 125
diff changeset
119 (eq (point) (scan-sexps pos (- dir)))
34b698771af9 emacs keybinding fixes
Augie Fackler <durin42@gmail.com>
parents: 125
diff changeset
120 (error nil))
34b698771af9 emacs keybinding fixes
Augie Fackler <durin42@gmail.com>
parents: 125
diff changeset
121 (setq pos nil)))
34b698771af9 emacs keybinding fixes
Augie Fackler <durin42@gmail.com>
parents: 125
diff changeset
122 )))
34b698771af9 emacs keybinding fixes
Augie Fackler <durin42@gmail.com>
parents: 125
diff changeset
123 ;; Highlight the other end of the sexp, or unhighlight if none.
34b698771af9 emacs keybinding fixes
Augie Fackler <durin42@gmail.com>
parents: 125
diff changeset
124 (if (and pos (integerp pos))
34b698771af9 emacs keybinding fixes
Augie Fackler <durin42@gmail.com>
parents: 125
diff changeset
125 (goto-char pos)
34b698771af9 emacs keybinding fixes
Augie Fackler <durin42@gmail.com>
parents: 125
diff changeset
126 (message "No matching other paren found.")
34b698771af9 emacs keybinding fixes
Augie Fackler <durin42@gmail.com>
parents: 125
diff changeset
127 )))
237
b9f4d059eb69 emacs: function to set window width interactively
Augie Fackler <durin42@gmail.com>
parents: 207
diff changeset
128
b9f4d059eb69 emacs: function to set window width interactively
Augie Fackler <durin42@gmail.com>
parents: 207
diff changeset
129 (defun af-set-window-width (&optional columns)
b9f4d059eb69 emacs: function to set window width interactively
Augie Fackler <durin42@gmail.com>
parents: 207
diff changeset
130 "Make selected window COLUMNS wide.
b9f4d059eb69 emacs: function to set window width interactively
Augie Fackler <durin42@gmail.com>
parents: 207
diff changeset
131
b9f4d059eb69 emacs: function to set window width interactively
Augie Fackler <durin42@gmail.com>
parents: 207
diff changeset
132 Interactively, if no argument is given, make selected window 80
b9f4d059eb69 emacs: function to set window width interactively
Augie Fackler <durin42@gmail.com>
parents: 207
diff changeset
133 columns wide.
b9f4d059eb69 emacs: function to set window width interactively
Augie Fackler <durin42@gmail.com>
parents: 207
diff changeset
134 "
b9f4d059eb69 emacs: function to set window width interactively
Augie Fackler <durin42@gmail.com>
parents: 207
diff changeset
135 (interactive "p")
238
3d5c595c229e emacs: slightly better window-width resizing behavior
Lucas Bergman <slb@google.com>
parents: 237
diff changeset
136 (let* ((cols (if (or (not columns) (>= 0 columns)) 80 columns)))
237
b9f4d059eb69 emacs: function to set window width interactively
Augie Fackler <durin42@gmail.com>
parents: 207
diff changeset
137 (shrink-window-horizontally (- (window-width) cols))))