ruby_learner 1.1.2 → 1.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/docs/thesis/competing_services.org +21 -0
- data/docs/thesis/manual.org +55 -0
- data/docs/thesis/mid_term.pptx +0 -0
- data/lib/ruby_learner/common.rb +45 -0
- data/lib/ruby_learner/ruby_learner.rb +9 -17
- data/lib/ruby_learner/sequential_main.rb +146 -0
- data/lib/ruby_learner/typing_practice.rb +82 -10
- data/lib/ruby_learner/version.rb +1 -1
- data/workshop/emacs.d/init.el +1 -76
- data/workshop/emacs.d/ruby_learner_init.el +0 -76
- metadata +7 -83
- data/lib/ruby_learner/methods.rb +0 -290
- data/workshop/emacs.d/#init# +0 -1
- data/workshop/emacs.d/ac-comphist.dat +0 -50
- data/workshop/emacs.d/cp5022x.el +0 -156
- data/workshop/emacs.d/elpa/archives/gnu/archive-contents +0 -1240
- data/workshop/emacs.d/elpa/archives/melpa/archive-contents +0 -2
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/auto-complete-autoloads.el +0 -65
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/auto-complete-config.el +0 -551
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/auto-complete-config.elc +0 -0
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/auto-complete-pkg.el +0 -6
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/auto-complete.el +0 -2164
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/auto-complete.elc +0 -0
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/ada-mode +0 -72
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/c++-mode +0 -99
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/c-mode +0 -55
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/caml-mode +0 -231
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/clojure-mode +0 -580
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/clojurescript-mode +0 -475
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/coq-mode +0 -278
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/css-mode +0 -874
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/erlang-mode +0 -216
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/ess-julia-mode +0 -37
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/go-mode +0 -25
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/haskell-mode +0 -679
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/java-mode +0 -53
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/js-mode +0 -148
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/julia-mode +0 -37
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/lua-mode +0 -21
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/nim-mode +0 -70
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/objc-mode +0 -161
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/octave-mode +0 -46
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/php-mode +0 -6144
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/python-mode +0 -379
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/qml-mode +0 -183
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/ruby-mode +0 -181
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/scala-mode +0 -1347
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/scheme-mode +0 -216
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/sclang-mode +0 -1481
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/sh-mode +0 -182
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/swift-mode +0 -87
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/tcl-mode +0 -172
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/ts-mode +0 -797
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/tuareg-mode +0 -231
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/verilog-mode +0 -313
- data/workshop/emacs.d/elpa/better-defaults-20170613.2104/better-defaults-autoloads.el +0 -16
- data/workshop/emacs.d/elpa/better-defaults-20170613.2104/better-defaults-pkg.el +0 -2
- data/workshop/emacs.d/elpa/better-defaults-20170613.2104/better-defaults.el +0 -90
- data/workshop/emacs.d/elpa/better-defaults-20170613.2104/better-defaults.elc +0 -0
- data/workshop/emacs.d/elpa/haml-mode-20170923.2153/haml-mode-autoloads.el +0 -26
- data/workshop/emacs.d/elpa/haml-mode-20170923.2153/haml-mode-pkg.el +0 -2
- data/workshop/emacs.d/elpa/haml-mode-20170923.2153/haml-mode.el +0 -877
- data/workshop/emacs.d/elpa/haml-mode-20170923.2153/haml-mode.elc +0 -0
- data/workshop/emacs.d/elpa/haml-mode-readme.txt +0 -8
- data/workshop/emacs.d/elpa/material-theme-20171123.1040/material-light-theme.el +0 -918
- data/workshop/emacs.d/elpa/material-theme-20171123.1040/material-light-theme.elc +0 -0
- data/workshop/emacs.d/elpa/material-theme-20171123.1040/material-theme-autoloads.el +0 -32
- data/workshop/emacs.d/elpa/material-theme-20171123.1040/material-theme-pkg.el +0 -8
- data/workshop/emacs.d/elpa/material-theme-20171123.1040/material-theme.el +0 -912
- data/workshop/emacs.d/elpa/material-theme-20171123.1040/material-theme.elc +0 -0
- data/workshop/emacs.d/elpa/ox-bibtex-chinese-readme.txt +0 -21
- data/workshop/emacs.d/elpa/popup-20160709.729/popup-autoloads.el +0 -15
- data/workshop/emacs.d/elpa/popup-20160709.729/popup-pkg.el +0 -2
- data/workshop/emacs.d/elpa/popup-20160709.729/popup.el +0 -1432
- data/workshop/emacs.d/elpa/popup-20160709.729/popup.elc +0 -0
- data/workshop/emacs.d/elpa/yaml-mode-20180212.1556/yaml-mode-autoloads.el +0 -33
- data/workshop/emacs.d/elpa/yaml-mode-20180212.1556/yaml-mode-pkg.el +0 -2
- data/workshop/emacs.d/elpa/yaml-mode-20180212.1556/yaml-mode.el +0 -470
- data/workshop/emacs.d/elpa/yaml-mode-20180212.1556/yaml-mode.elc +0 -0
- data/workshop/emacs.d/elpa/yaml-mode-readme.txt +0 -25
- data/workshop/emacs.d/haml-mode-master/.gitignore +0 -1
- data/workshop/emacs.d/haml-mode-master/.mailmap +0 -2
- data/workshop/emacs.d/haml-mode-master/MIT-LICENSE +0 -20
- data/workshop/emacs.d/haml-mode-master/README.md +0 -47
- data/workshop/emacs.d/haml-mode-master/haml-mode.el +0 -887
- data/workshop/emacs.d/iceberg_theme.el +0 -202
- data/workshop/emacs.d/init-open-recentf.el +0 -133
- data/workshop/emacs.d/install-elisp.el +0 -366
- data/workshop/emacs.d/notes +0 -12
- data/workshop/emacs.d/processing-mode/processing-mode.el +0 -275
- data/workshop/emacs.d/recentf +0 -31
- data/workshop/emacs.d/wiki-mode/wiki.el +0 -976
@@ -1,202 +0,0 @@
|
|
1
|
-
;;; iceberg --- a dark blue theme
|
2
|
-
;;; Commentary:
|
3
|
-
;; _________________________________________
|
4
|
-
;; \_ _/ ____| ____| ___ \ ____| ___ \ ___/
|
5
|
-
;; | | |____| ____| ___ < ____| __ / |__ \
|
6
|
-
;; /___\_____|_____|_____/_____|_| \_\_____/
|
7
|
-
;;
|
8
|
-
;; cool-headed perspective for your coding
|
9
|
-
;;
|
10
|
-
;;
|
11
|
-
;; File: iceberg.el
|
12
|
-
;; Colorscheme: cocopon <cocopon@me.com>
|
13
|
-
;; Port: apnsngr <github.com/apnsngr>
|
14
|
-
;; License: MIT
|
15
|
-
;;
|
16
|
-
;; Special thanks to Bozhidar Batsov (bbatsov). I used his zenburn Emacs theme
|
17
|
-
;; as a guide for this theme.
|
18
|
-
|
19
|
-
;;; Code:
|
20
|
-
|
21
|
-
(deftheme iceberg)
|
22
|
-
|
23
|
-
(let
|
24
|
-
((class '((class color) (min-colors 89)))
|
25
|
-
(background "#161822")
|
26
|
-
(current-line "#1E2132")
|
27
|
-
(selection "#282D43")
|
28
|
-
(foreground "#C7C9D1")
|
29
|
-
(comment "#6B7089")
|
30
|
-
(cursor "#C7C9D1")
|
31
|
-
(line-number-fg "#454D73")
|
32
|
-
(red "#E27878")
|
33
|
-
(orange "#E2A478")
|
34
|
-
(green "#B4BE82")
|
35
|
-
(cyan "#89B8C2")
|
36
|
-
(blue "#84A0C6")
|
37
|
-
(purple "#A093C7")
|
38
|
-
(black "#0E0F14"))
|
39
|
-
|
40
|
-
(custom-theme-set-faces
|
41
|
-
'iceberg
|
42
|
-
|
43
|
-
;; Built-in
|
44
|
-
`(default ((t (:background ,background :foreground ,foreground))))
|
45
|
-
`(fringe ((t (:background ,current-line))))
|
46
|
-
`(minibuffer-prompt ((t (:foreground ,blue))))
|
47
|
-
`(menu ((t (:foreground ,foreground :background ,background))))
|
48
|
-
`(mode-line
|
49
|
-
((t (:background ,current-line
|
50
|
-
:foreground ,foreground
|
51
|
-
:box (:line-width -1 :style released-button)))))
|
52
|
-
`(mode-line-inactive
|
53
|
-
((t (:background ,current-line :foreground ,foreground))))
|
54
|
-
`(mode-line-buffer-id ((t (:foreground ,cyan :weight bold))))
|
55
|
-
`(region ((t (:background ,selection))))
|
56
|
-
`(highlight ((t (:background ,selection))))
|
57
|
-
`(success ((t (:foreground ,green :weight bold))))
|
58
|
-
`(warning ((t (:foreground ,red :weight bold))))
|
59
|
-
|
60
|
-
;; Font-lock
|
61
|
-
`(font-lock-builtin-face ((t (:foreground ,foreground :weight bold))))
|
62
|
-
`(font-lock-comment-face ((t (:foreground ,comment))))
|
63
|
-
`(font-lock-comment-delimiter-face ((t :foreground ,comment)))
|
64
|
-
`(font-lock-constant-face ((t (:foreground ,purple))))
|
65
|
-
`(font-lock-doc-face ((t (:foreground ,comment))))
|
66
|
-
`(font-lock-doc-string-face ((t (:foreground ,comment))))
|
67
|
-
`(font-lock-function-name-face ((t (:foreground ,orange))))
|
68
|
-
`(font-lock-keyword-face ((t (:foreground ,blue))))
|
69
|
-
`(font-lock-preprocessor-face ((t (:foreground ,green))))
|
70
|
-
`(font-lock-string-face ((t (:foreground ,cyan))))
|
71
|
-
`(font-lock-type-face ((t (:foreground ,cyan))))
|
72
|
-
`(font-lock-variable-name-face ((t (:foreground ,purple))))
|
73
|
-
`(font-lock-warning-face ((t (:foreground ,red))))
|
74
|
-
|
75
|
-
;; Everything else (ordered by alphabetically)
|
76
|
-
|
77
|
-
;; diff
|
78
|
-
`(diff-added ((,class (:foreground ,green :background nil))
|
79
|
-
(t (:foreground ,green :background nil))))
|
80
|
-
`(diff-changed ((t (:foreground ,orange))))
|
81
|
-
`(diff-removed ((,class (:foreground ,red :background nil))
|
82
|
-
(t (:foreground ,red :background nil))))
|
83
|
-
`(diff-refine-added ((t (:inherit diff-added :weight bold))))
|
84
|
-
`(diff-refine-change ((t (:inherit diff-changed :weight bold))))
|
85
|
-
`(diff-refine-removed ((t (:inherit diff-removed :weight bold))))
|
86
|
-
`(diff-header ((,class (:background ,current-line))
|
87
|
-
(t (:background ,foreground :foreground ,background))))
|
88
|
-
`(diff-file-header
|
89
|
-
((,class (:background ,current-line :foreground ,foreground :bold t))
|
90
|
-
(t (:background ,foreground :foreground ,background :bold t))))
|
91
|
-
|
92
|
-
;; diff-hl
|
93
|
-
`(diff-hl-change ((,class (:foreground ,orange :background ,current-line))))
|
94
|
-
`(diff-hl-delete ((,class (:foreground ,red :background ,current-line))))
|
95
|
-
`(diff-hl-insert ((,class (:foreground ,green :background ,current-line))))
|
96
|
-
`(diff-hl-unknown ((,class (:foreground ,cyan :background ,current-line))))
|
97
|
-
|
98
|
-
;; flycheck
|
99
|
-
`(flycheck-error
|
100
|
-
((((supports :underline (:style wave)))
|
101
|
-
(:underline (:style wave :color ,red) :inherit unspecified))
|
102
|
-
(t (:foreground ,red :weight bold :underline t))))
|
103
|
-
`(flycheck-warning
|
104
|
-
((((supports :underline (:style wave)))
|
105
|
-
(:underline (:style wave :color ,orange) :inherit unspecified))
|
106
|
-
(t (:foreground ,orange :weight bold :underline t))))
|
107
|
-
`(flycheck-info
|
108
|
-
((((supports :underline (:style wave)))
|
109
|
-
(:underline (:style wave :color ,blue) :inherit unspecified))
|
110
|
-
(t (:foreground ,blue :weight bold :underline t))))
|
111
|
-
`(flycheck-fringe-error ((t (:foreground ,red :weight bold))))
|
112
|
-
`(flycheck-fringe-warning ((t (:foreground ,orange :weight bold))))
|
113
|
-
`(flycheck-fringe-info ((t (:foreground ,blue :weight bold))))
|
114
|
-
|
115
|
-
;; hl-line-mode
|
116
|
-
`(hl-line ((t (:background ,current-line))))
|
117
|
-
|
118
|
-
;; ido-mode
|
119
|
-
`(do-first-match ((t (:foreground ,blue :weight bold))))
|
120
|
-
`(ido-only-match ((t (:foreground ,green :weight bold))))
|
121
|
-
`(ido-subdir ((t (:foreground ,cyan))))
|
122
|
-
|
123
|
-
;; isearch
|
124
|
-
`(isearch ((t (:foreground ,foreground :weight bold
|
125
|
-
:background ,selection))))
|
126
|
-
`(isearch-fail ((t (:foreground ,foreground :background ,red))))
|
127
|
-
`(lazy-highlight ((t (:foreground ,foreground :weight bold
|
128
|
-
:background ,current-line))))
|
129
|
-
|
130
|
-
;; linum-mode
|
131
|
-
`(linum ((t (:foreground ,line-number-fg :background ,current-line))))
|
132
|
-
|
133
|
-
;; org-mode
|
134
|
-
`(org-agenda-date-today
|
135
|
-
((t (:foreground ,foreground :slant italic :weight bold))) t)
|
136
|
-
`(org-agenda-structure
|
137
|
-
((t (:inherit font-lock-comment-face))))
|
138
|
-
`(org-archived ((t (:foreground ,foreground :weight bold))))
|
139
|
-
`(org-checkbox ((t (:background ,background :foreground ,foreground
|
140
|
-
:box (:line-width 1 :style released-button)))))
|
141
|
-
`(org-date ((t (:foreground ,purple))))
|
142
|
-
`(org-deadline-announce ((t (:foreground ,red))))
|
143
|
-
`(org-done ((t (:foreground ,green))))
|
144
|
-
`(org-formula ((t (:foreground ,orange))))
|
145
|
-
`(org-headline-done ((t (:foreground ,green))))
|
146
|
-
`(org-hide ((t (:foreground ,comment))))
|
147
|
-
`(org-level-1 ((t (:foreground ,blue))))
|
148
|
-
`(org-level-2 ((t (:foreground ,purple))))
|
149
|
-
`(org-level-3 ((t (:foreground ,cyan))))
|
150
|
-
`(org-level-4 ((t (:foreground ,green))))
|
151
|
-
`(org-level-5 ((t (:foreground ,red))))
|
152
|
-
`(org-level-6 ((t (:foreground ,orange))))
|
153
|
-
`(org-level-7 ((t (:foreground ,comment))))
|
154
|
-
`(org-level-8 ((t (:foreground ,foreground))))
|
155
|
-
`(org-link ((t (:foreground ,cyan))))
|
156
|
-
`(org-scheduled ((t (:foreground ,green))))
|
157
|
-
`(org-scheduled-previously ((t (:foreground ,red))))
|
158
|
-
`(org-scheduled-today ((t (:foreground ,blue))))
|
159
|
-
`(org-sexp-date ((t (:foreground ,blue :underline t))))
|
160
|
-
`(org-special-keyword ((t (:inherit font-lock-comment-face))))
|
161
|
-
`(org-table ((t (:foreground ,blue))))
|
162
|
-
`(org-tag ((t (:bold t :weight bold))))
|
163
|
-
`(org-time-grid ((t (:foreground ,blue))))
|
164
|
-
`(org-todo ((t (:bold t :foreground ,cyan :weight bold))))
|
165
|
-
`(org-upcoming-deadline ((t (:inherit font-lock-keyword-face))))
|
166
|
-
`(org-warning ((t (:bold t :foreground ,orange :weight bold :underline nil))))
|
167
|
-
`(org-column ((t (:background ,current-line))))
|
168
|
-
`(org-column-title ((t (:background ,background :underline t :weight bold))))
|
169
|
-
`(org-mode-line-clock-overrun ((t (:foreground ,background :background ,red))))
|
170
|
-
`(org-footnote ((t (:foreground ,cyan :underline t))))
|
171
|
-
|
172
|
-
;; rainbow-delimiters
|
173
|
-
`(rainbow-delimiters-depth-1-face ((t (:foreground ,purple))))
|
174
|
-
`(rainbow-delimiters-depth-2-face ((t (:foreground ,blue))))
|
175
|
-
`(rainbow-delimiters-depth-3-face ((t (:foreground ,cyan))))
|
176
|
-
`(rainbow-delimiters-depth-4-face ((t (:foreground ,green))))
|
177
|
-
`(rainbow-delimiters-depth-5-face ((t (:foreground ,orange))))
|
178
|
-
`(rainbow-delimiters-depth-6-face ((t (:foreground ,red))))
|
179
|
-
`(rainbow-delimiters-depth-7-face ((t (:foreground ,comment))))
|
180
|
-
`(rainbow-delimiters-depth-8-face ((t (:foreground ,line-number-fg))))
|
181
|
-
`(rainbow-delimiters-depth-9-face ((t (:foreground ,foreground))))
|
182
|
-
|
183
|
-
;; show-paren-mode
|
184
|
-
`(show-paren-match ((t (:background ,blue :foreground ,current-line))))
|
185
|
-
`(show-paren-mismatch ((t (:background ,orange :foreground ,current-line))))
|
186
|
-
|
187
|
-
)
|
188
|
-
|
189
|
-
(custom-theme-set-variables
|
190
|
-
'iceberg
|
191
|
-
;; TODO ANSI colors
|
192
|
-
))
|
193
|
-
|
194
|
-
;;;###autoload
|
195
|
-
(and load-file-name
|
196
|
-
(boundp 'custom-theme-load-path)
|
197
|
-
(add-to-list 'custom-theme-load-path
|
198
|
-
(file-name-as-directory
|
199
|
-
(file-name-directory load-file-name))))
|
200
|
-
|
201
|
-
(provide-theme 'iceberg)
|
202
|
-
;;; iceberg-theme.el ends here
|
@@ -1,133 +0,0 @@
|
|
1
|
-
;;; init-open-recentf.el --- Open recentf immediately after Emacs is started -*- coding: utf-8 ; lexical-binding: t -*-
|
2
|
-
|
3
|
-
;; Copyright (C) 2015 USAMI Kenta
|
4
|
-
|
5
|
-
;; Author: USAMI Kenta <tadsan@zonu.me>
|
6
|
-
;; Created: 26 Oct 2015
|
7
|
-
;; Version: 0.0.1
|
8
|
-
;; Homepage: https://github.com/zonuexe/init-open-recentf.el
|
9
|
-
;; Keywords: files recentf after-init-hook
|
10
|
-
;; Package-Requires: ((emacs "24.4"))
|
11
|
-
|
12
|
-
;; This file is NOT part of GNU Emacs.
|
13
|
-
|
14
|
-
;; This program is free software; you can redistribute it and/or modify
|
15
|
-
;; it under the terms of the GNU General Public License as published by
|
16
|
-
;; the Free Software Foundation, either version 3 of the License, or
|
17
|
-
;; (at your option) any later version.
|
18
|
-
|
19
|
-
;; This program is distributed in the hope that it will be useful,
|
20
|
-
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
21
|
-
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
22
|
-
;; GNU General Public License for more details.
|
23
|
-
|
24
|
-
;; You should have received a copy of the GNU General Public License
|
25
|
-
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
|
26
|
-
|
27
|
-
;;; Commentary:
|
28
|
-
;;
|
29
|
-
;; Open recentf immediately after Emacs is started.
|
30
|
-
;; Here are some example scenarios for when Emacs is started from the command line:
|
31
|
-
;; - If files are opened (e.g. '$ emacs file1.txt'), nothing out of the ordinary occurs-- the file is opened.
|
32
|
-
;; - However if a file is not indicated (e.g. '$ emacs '), recentf will be opened after emacs is initialized.
|
33
|
-
;; This script uses only the inbuilt advice function for startup. It does not require or use any interactive function.
|
34
|
-
;; (This approach is a dirty hack, but an alternative hook to accomplish the same thing does not exist.)
|
35
|
-
;;
|
36
|
-
;; Put the following into your .emacs file (~/.emacs.d/init.el)
|
37
|
-
;;
|
38
|
-
;; (init-open-recentf)
|
39
|
-
;;
|
40
|
-
;; `init-open-recentf' supports the following frameworks: helm, ido, anything (and the default Emacs setup without those frameworks).
|
41
|
-
;; The package determines the frameworks from your environment, but you can also indicate it explicitly.
|
42
|
-
;;
|
43
|
-
;; (setq init-open-recentf-interface 'ido)
|
44
|
-
;; (init-open-recentf)
|
45
|
-
;;
|
46
|
-
;; Another possible configuration is demonstrated below if you want to specify an arbitrary function.
|
47
|
-
;;
|
48
|
-
;; (setq init-open-recentf-function #'awesome-open-recentf)
|
49
|
-
;; (init-open-recentf)
|
50
|
-
;;
|
51
|
-
|
52
|
-
;;; Code:
|
53
|
-
(require 'cl-lib)
|
54
|
-
(require 'recentf)
|
55
|
-
|
56
|
-
(defgroup init-open-recentf nil
|
57
|
-
"init-open-recentf"
|
58
|
-
:group 'initialization)
|
59
|
-
|
60
|
-
(defcustom init-open-recentf-function
|
61
|
-
nil
|
62
|
-
"Function to open recentf files (or other)."
|
63
|
-
:type '(function :tag "Invoke recentf (or other) function")
|
64
|
-
:group 'init-open-recentf)
|
65
|
-
|
66
|
-
(defcustom init-open-recentf-interface
|
67
|
-
nil
|
68
|
-
"Interface to open recentf files."
|
69
|
-
:type '(radio (const :tag "Use ido interface" 'ido)
|
70
|
-
(const :tag "Use helm interface" 'helm)
|
71
|
-
(const :tag "Use anything interface" 'anything)
|
72
|
-
(const :tag "Use Ivy/counsel interface" 'counsel)
|
73
|
-
(const :tag "Use Emacs default (recentf-open-files)" 'default)
|
74
|
-
(const :tag "Select automatically" 'nil))
|
75
|
-
:group 'init-open-recentf)
|
76
|
-
|
77
|
-
(defvar init-open-recentf-before-hook nil
|
78
|
-
"Run hooks before `init-open-recentf-open'.")
|
79
|
-
|
80
|
-
(defvar init-open-recentf-after-hook nil
|
81
|
-
"Run hooks after `init-open-recentf-open'.")
|
82
|
-
|
83
|
-
(defun init-open-recentf-buffer-files ()
|
84
|
-
"Return list of opened file names."
|
85
|
-
(let ((found-files '()))
|
86
|
-
(dolist (buffer (buffer-list))
|
87
|
-
(with-current-buffer buffer
|
88
|
-
(when buffer-file-name
|
89
|
-
(cl-pushnew buffer-file-name found-files))))
|
90
|
-
found-files))
|
91
|
-
|
92
|
-
(defun init-open-recentf-interface ()
|
93
|
-
""
|
94
|
-
(or init-open-recentf-interface
|
95
|
-
(cond
|
96
|
-
((and (boundp 'helm-mode) helm-mode) 'helm)
|
97
|
-
((and (boundp 'ido-mode) ido-mode) 'ido)
|
98
|
-
((and (boundp 'counsel-mode) counsel-mode) 'counsel)
|
99
|
-
((fboundp 'anything-recentf) 'anything)
|
100
|
-
(:else 'default))))
|
101
|
-
|
102
|
-
(defun init-open-recentf-dwim ()
|
103
|
-
"Open recent file command you want (Do What I Mean)."
|
104
|
-
(if init-open-recentf-function
|
105
|
-
(call-interactively init-open-recentf-function)
|
106
|
-
(cl-case (init-open-recentf-interface)
|
107
|
-
((helm) (helm-recentf))
|
108
|
-
((ido) (find-file (ido-completing-read "Find recent file: " recentf-list)))
|
109
|
-
((counsel) (counsel-recentf))
|
110
|
-
((anything) (anything-recentf))
|
111
|
-
((default) (recentf-open-files)))))
|
112
|
-
|
113
|
-
(defun init-open-recentf-open (&rest dummy-args)
|
114
|
-
"If files are opened, does nothing. Open recentf otherwise.
|
115
|
-
`DUMMY-ARGS' is ignored."
|
116
|
-
(prog2
|
117
|
-
(run-hooks 'init-open-recentf-before-hook)
|
118
|
-
(cond
|
119
|
-
((init-open-recentf-buffer-files) t)
|
120
|
-
((recentf-enabled-p) (init-open-recentf-dwim))
|
121
|
-
(:else
|
122
|
-
(error "`recentf-mode' is not enabled")))
|
123
|
-
(run-hooks 'init-open-recentf-after-hook)
|
124
|
-
(advice-remove 'display-startup-screen #'init-open-recentf-open)))
|
125
|
-
|
126
|
-
;;;###autoload
|
127
|
-
(defun init-open-recentf ()
|
128
|
-
"Set 'after-init-hook ."
|
129
|
-
(advice-add 'command-line-1 :after #'init-open-recentf-open)
|
130
|
-
t)
|
131
|
-
|
132
|
-
(provide 'init-open-recentf)
|
133
|
-
;;; init-open-recentf.el ends here
|
@@ -1,366 +0,0 @@
|
|
1
|
-
;;; install-elisp.el --- Simple Emacs Lisp installer
|
2
|
-
;; $Id: install-elisp.el,v 1.18 2009/01/25 17:47:20 rubikitch Exp $
|
3
|
-
|
4
|
-
;; Copyright (C) 2007 rubikitch
|
5
|
-
|
6
|
-
;; Author: rubikitch <rubikitch@ruby-lang.org>
|
7
|
-
;; Keywords: lisp, convenience, maint
|
8
|
-
;; URL: http://www.emacswiki.org/cgi-bin/wiki/download/install-elisp.el
|
9
|
-
|
10
|
-
;; This file is free software; you can redistribute it and/or modify
|
11
|
-
;; it under the terms of the GNU General Public License as published by
|
12
|
-
;; the Free Software Foundation; either version 2, or (at your option)
|
13
|
-
;; any later version.
|
14
|
-
|
15
|
-
;; This file is distributed in the hope that it will be useful,
|
16
|
-
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
17
|
-
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
18
|
-
;; GNU General Public License for more details.
|
19
|
-
|
20
|
-
;; You should have received a copy of the GNU General Public License
|
21
|
-
;; along with GNU Emacs; see the file COPYING. If not, write to
|
22
|
-
;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
23
|
-
;; Boston, MA 02110-1301, USA.
|
24
|
-
|
25
|
-
;;; Commentary:
|
26
|
-
|
27
|
-
;; Automate Emacs Lisp installation.
|
28
|
-
;; (1) download Emacs Lisp
|
29
|
-
;; (!) confirm installation
|
30
|
-
;; (2) save to your repository
|
31
|
-
;; (3) byte compile
|
32
|
-
;; (4) load
|
33
|
-
;; (5) show Emacs Lisp
|
34
|
-
|
35
|
-
;;; Commands:
|
36
|
-
;;
|
37
|
-
;; Below are complete command list:
|
38
|
-
;;
|
39
|
-
;; `install-elisp'
|
40
|
-
;; Retrieve Emacs Lisp program from URL and save and byte-compile and load.
|
41
|
-
;; `install-elisp-from-emacswiki'
|
42
|
-
;; Install Emacs Lisp program from the EmacsWiki.
|
43
|
-
;; `install-elisp-from-gist'
|
44
|
-
;; Install Emacs Lisp program from gist.
|
45
|
-
;; `dired-install-elisp-from-emacswiki'
|
46
|
-
;; Upgrade the current Emacs Lisp program from the EmacsWiki.
|
47
|
-
;; `install-elisp-confirmation-minor-mode'
|
48
|
-
;; Emacs Lisp install confirmation.
|
49
|
-
;;
|
50
|
-
;;; Customizable Options:
|
51
|
-
;;
|
52
|
-
;; Below are customizable option list:
|
53
|
-
;;
|
54
|
-
;; `install-elisp-repository-directory'
|
55
|
-
;; Directory to save Emacs Lisp programs downloaded by install-elisp.el.
|
56
|
-
;; default = "~/.emacs.d/"
|
57
|
-
;; `install-elisp-use-view-mode'
|
58
|
-
;; If non-nil, turn on `view-mode' for installed Emacs Lisp program.
|
59
|
-
;; default = t
|
60
|
-
;; `install-elisp-use-url-retrieve'
|
61
|
-
;; If nil, use external command-line HTTP client instead.
|
62
|
-
;; default = (fboundp (quote url-retrieve-synchronously))
|
63
|
-
;; `install-elisp-confirm-flag'
|
64
|
-
;; If non-nil, do install confirmation.
|
65
|
-
;; default = t
|
66
|
-
;; `install-elisp-retrieval-program'
|
67
|
-
;; URL retrieving program used when `install-elisp-use-url-retrieve' is nil.
|
68
|
-
;; default = "wget -q -O- '%s'"
|
69
|
-
|
70
|
-
;;; Installation:
|
71
|
-
|
72
|
-
;; If you use Emacs21 and under, you must have wget or other
|
73
|
-
;; command-line HTTP client.
|
74
|
-
|
75
|
-
;; You need to add to .emacs:
|
76
|
-
;; (require 'install-elisp)
|
77
|
-
;; (setq install-elisp-repository-directory "~/.emacs.d/")
|
78
|
-
|
79
|
-
;;; Usage:
|
80
|
-
|
81
|
-
;; M-x install-elisp
|
82
|
-
;; M-x install-elisp-from-emacswiki
|
83
|
-
;; M-x install-elisp-from-gist
|
84
|
-
;; M-x dired-install-elisp-from-emacswiki
|
85
|
-
;;
|
86
|
-
;; It is convenient to add to your Emacs Lisp programs:
|
87
|
-
;; (install-elisp "http://your.site/hogehoge.el")
|
88
|
-
;; because users have only to evaluate this sexp by C-x C-e.
|
89
|
-
|
90
|
-
;; If you want to complete EmacsWiki pagename, eval:
|
91
|
-
;; (install-elisp "http://www.emacswiki.org/cgi-bin/wiki/download/oddmuse.el")
|
92
|
-
;; It is very convenient to access EmacsWiki with oddmuse.el.
|
93
|
-
|
94
|
-
;;; Upgrade this program:
|
95
|
-
|
96
|
-
;; Simply eval:
|
97
|
-
;; (install-elisp-from-emacswiki "install-elisp.el")
|
98
|
-
|
99
|
-
;;; Related project:
|
100
|
-
|
101
|
-
;; Emacs Lisp Package Archive: http://tromey.com/elpa/
|
102
|
-
;; auto-install.el is successor of this:
|
103
|
-
;; http://www.emacswiki.org/cgi-bin/wiki/download/auto-install.el
|
104
|
-
|
105
|
-
;;; Bug Report:
|
106
|
-
;;
|
107
|
-
;; If you have problem, send a bug report via M-x install-elisp-send-bug-report.
|
108
|
-
;; The step is:
|
109
|
-
;; 0) Setup mail in Emacs, the easiest way is:
|
110
|
-
;; (setq user-mail-address "your@mail.address")
|
111
|
-
;; (setq user-full-name "Your Full Name")
|
112
|
-
;; (setq smtpmail-smtp-server "your.smtp.server.jp")
|
113
|
-
;; (setq mail-user-agent 'message-user-agent)
|
114
|
-
;; (setq message-send-mail-function 'message-smtpmail-send-it)
|
115
|
-
;; 1) Be sure to use the LATEST version of install-elisp.el.
|
116
|
-
;; 2) Enable debugger. M-x toggle-debug-on-error or (setq debug-on-error t)
|
117
|
-
;; 3) Use Lisp version instead of compiled one: (load "install-elisp.el")
|
118
|
-
;; 4) Do it!
|
119
|
-
;; 5) If you got an error, please do not close *Backtrace* buffer.
|
120
|
-
;; 6) M-x install-elisp-send-bug-report and M-x insert-buffer *Backtrace*
|
121
|
-
;; 7) Describe the bug using a precise recipe.
|
122
|
-
;; 8) Type C-c C-c to send.
|
123
|
-
;; # If you are a Japanese, please write in Japanese:-)
|
124
|
-
|
125
|
-
;;; History:
|
126
|
-
|
127
|
-
;; $Log: install-elisp.el,v $
|
128
|
-
;; Revision 1.18 2009/01/25 17:47:20 rubikitch
|
129
|
-
;; New command: `install-elisp-from-gist'
|
130
|
-
;;
|
131
|
-
;; Revision 1.17 2009/01/24 18:54:54 rubikitch
|
132
|
-
;; Fixed unbound `find-function-source-path'.
|
133
|
-
;;
|
134
|
-
;; Revision 1.16 2009/01/21 10:19:57 rubikitch
|
135
|
-
;; Restore `mode-line-format' when installation is done.
|
136
|
-
;;
|
137
|
-
;; Revision 1.15 2008/12/27 10:56:25 rubikitch
|
138
|
-
;; Use font-lock.
|
139
|
-
;;
|
140
|
-
;; Revision 1.14 2008/12/27 10:45:11 rubikitch
|
141
|
-
;; Make install-elisp find the package's directory,
|
142
|
-
;; if found use package's directory, otherwise use `install-elisp-repository-directory'.
|
143
|
-
;; patched by Andy Stewart (with slightly modified), thanks.
|
144
|
-
;;
|
145
|
-
;; Revision 1.13 2008/12/27 09:14:42 rubikitch
|
146
|
-
;; "Get elisp from..." message
|
147
|
-
;;
|
148
|
-
;; Revision 1.12 2007/07/25 20:38:08 rubikitch
|
149
|
-
;; use defgroup.
|
150
|
-
;; install-elisp-retrieval-program: "wget -q -O- '%s'" by default.
|
151
|
-
;;
|
152
|
-
;; Revision 1.11 2007/07/25 19:43:22 rubikitch
|
153
|
-
;; New variable: install-elisp-retrieval-program
|
154
|
-
;;
|
155
|
-
;; use `defcustom'.
|
156
|
-
;;
|
157
|
-
;; Revision 1.10 2007/07/25 19:27:43 rubikitch
|
158
|
-
;; update Commentary and Usage
|
159
|
-
;;
|
160
|
-
;; Revision 1.9 2007/07/25 19:20:08 rubikitch
|
161
|
-
;; install-elisp-confirmation-minor-mode: pretty mode-line-format
|
162
|
-
;;
|
163
|
-
;; Revision 1.8 2007/07/25 19:11:50 rubikitch
|
164
|
-
;; EmacsWiki HTTP workaround
|
165
|
-
;;
|
166
|
-
;; Revision 1.7 2007/07/25 19:02:57 rubikitch
|
167
|
-
;; Install confirmation for security.
|
168
|
-
;;
|
169
|
-
;; Revision 1.6 2007/07/25 17:58:39 rubikitch
|
170
|
-
;; New command: dired-install-elisp-from-emacswiki
|
171
|
-
;;
|
172
|
-
;; Revision 1.5 2007/07/25 17:50:30 rubikitch
|
173
|
-
;; `install-elisp-repository-directory': "~/.emacs.d/" by default.
|
174
|
-
;;
|
175
|
-
;; Revision 1.4 2007/07/25 17:47:21 rubikitch
|
176
|
-
;; rename function: %install-elisp-from -> install-elisp-from
|
177
|
-
;;
|
178
|
-
;; Revision 1.3 2007/07/25 17:46:13 rubikitch
|
179
|
-
;; use `url-retrieve-synchronously' if available
|
180
|
-
;;
|
181
|
-
;; Revision 1.2 2007/07/24 10:44:31 rubikitch
|
182
|
-
;; Fixed a serious bug.
|
183
|
-
;; New variable: install-elisp-use-view-mode
|
184
|
-
;;
|
185
|
-
;; Revision 1.1 2007/07/24 10:39:40 rubikitch
|
186
|
-
;; Initial revision
|
187
|
-
;;
|
188
|
-
|
189
|
-
;;; Code:
|
190
|
-
|
191
|
-
(require 'find-func)
|
192
|
-
|
193
|
-
(defgroup install-elisp nil
|
194
|
-
"Simple Emacs Lisp installer."
|
195
|
-
:group 'hypermedia)
|
196
|
-
|
197
|
-
(defcustom install-elisp-repository-directory "~/.emacs.d/"
|
198
|
-
"Directory to save Emacs Lisp programs downloaded by install-elisp.el. "
|
199
|
-
:group 'install-elisp)
|
200
|
-
|
201
|
-
(defcustom install-elisp-use-view-mode t
|
202
|
-
"If non-nil, turn on `view-mode' for installed Emacs Lisp program."
|
203
|
-
:group 'install-elisp)
|
204
|
-
|
205
|
-
(defcustom install-elisp-use-url-retrieve (fboundp 'url-retrieve-synchronously)
|
206
|
-
"If nil, use external command-line HTTP client instead.
|
207
|
-
See also `install-elisp-retrieval-program'."
|
208
|
-
:group 'install-elisp)
|
209
|
-
|
210
|
-
(defcustom install-elisp-confirm-flag t
|
211
|
-
"If non-nil, do install confirmation.
|
212
|
-
You should set it non-nil for security reason."
|
213
|
-
:group 'install-elisp)
|
214
|
-
|
215
|
-
(defcustom install-elisp-retrieval-program "wget -q -O- '%s'"
|
216
|
-
"URL retrieving program used when `install-elisp-use-url-retrieve' is nil.
|
217
|
-
If you use curl, set it to \"curl --silent '%s'\"."
|
218
|
-
:group 'install-elisp)
|
219
|
-
|
220
|
-
(defvar install-elisp-filename nil)
|
221
|
-
(make-variable-buffer-local 'install-elisp-filename)
|
222
|
-
|
223
|
-
(defvar install-elisp-confirmation-minor-mode-map (make-sparse-keymap))
|
224
|
-
|
225
|
-
(defun %install-elisp-create-buffer (url)
|
226
|
-
(message "Get elisp from %s" url)
|
227
|
-
(cond (install-elisp-use-url-retrieve
|
228
|
-
(switch-to-buffer (url-retrieve-synchronously url))
|
229
|
-
(goto-char (point-min))
|
230
|
-
(re-search-forward "^$" nil 'move)
|
231
|
-
(delete-region (point-min) (1+ (point)))
|
232
|
-
(%install-elisp-emacswiki-http-workaround))
|
233
|
-
(t
|
234
|
-
(let ((buffer (generate-new-buffer " *install-elisp-tmp*")))
|
235
|
-
(shell-command (format install-elisp-retrieval-program url) buffer)
|
236
|
-
(switch-to-buffer buffer))))
|
237
|
-
(emacs-lisp-mode)
|
238
|
-
(setq font-lock-mode t)
|
239
|
-
(font-lock-fontify-buffer))
|
240
|
-
|
241
|
-
;; I do not know why!!
|
242
|
-
(defun %install-elisp-emacswiki-http-workaround ()
|
243
|
-
(save-excursion
|
244
|
-
(let (buffer-read-only)
|
245
|
-
(goto-char (1- (point-max)))
|
246
|
-
(when (eq (char-before) ?\C-m)
|
247
|
-
(delete-backward-char 2)))))
|
248
|
-
|
249
|
-
(defun install-elisp-proceed ()
|
250
|
-
(interactive)
|
251
|
-
(write-file install-elisp-filename)
|
252
|
-
(byte-compile-file buffer-file-name t)
|
253
|
-
(install-elisp-confirmation-minor-mode -1))
|
254
|
-
|
255
|
-
;;;###autoload
|
256
|
-
(defun install-elisp (url &optional filename)
|
257
|
-
"Retrieve Emacs Lisp program from URL and save and byte-compile and load.
|
258
|
-
If optional FILENAME is supplied, save URL as FILENAME, otherwise URL's basename."
|
259
|
-
(interactive "sInstall Emacs Lisp from URL: ")
|
260
|
-
(if (null install-elisp-repository-directory)
|
261
|
-
(with-output-to-temp-buffer "*Help*"
|
262
|
-
(princ "You must prepare to use install-elisp program!
|
263
|
-
Set `install-elisp-repository-directory' to your local Emacs Lisp repository directory in your ~/.emacs.
|
264
|
-
|
265
|
-
For example: (setq install-elisp-repository-directory \"~/emacs/lisp/\")"))
|
266
|
-
(%install-elisp-create-buffer url)
|
267
|
-
(and install-elisp-use-view-mode (view-mode 1))
|
268
|
-
(setq install-elisp-filename
|
269
|
-
(%install-elisp-get-filename (or filename (file-name-nondirectory url))))
|
270
|
-
(if (not install-elisp-confirm-flag)
|
271
|
-
(install-elisp-proceed)
|
272
|
-
(install-elisp-confirmation-minor-mode 1)
|
273
|
-
(message "Type C-c C-c to do installation!"))))
|
274
|
-
|
275
|
-
;; (%install-elisp-find-library-name "vc.el")
|
276
|
-
;; (%install-elisp-find-library-name "vc.elc")
|
277
|
-
(defun %install-elisp-find-library-name (library)
|
278
|
-
"Return the absolute file name of the Lisp source of LIBRARY."
|
279
|
-
;; If the library is byte-compiled, try to find a source library by
|
280
|
-
;; the same name.
|
281
|
-
(if (string-match "\\.el\\(c\\(\\..*\\)?\\)\\'" library)
|
282
|
-
(setq library (replace-match "" t t library)))
|
283
|
-
(locate-file library
|
284
|
-
(or find-function-source-path load-path)
|
285
|
-
(append (find-library-suffixes) load-file-rep-suffixes)))
|
286
|
-
|
287
|
-
;; (%install-elisp-get-filename "vc.el")
|
288
|
-
;; (%install-elisp-get-filename "vc.elc")
|
289
|
-
;; (%install-elisp-get-filename "icicles.el")
|
290
|
-
;; (%install-elisp-get-filename "hoge.el")
|
291
|
-
(defun %install-elisp-get-filename (filename)
|
292
|
-
(let ((lib-file (%install-elisp-find-library-name filename)))
|
293
|
-
(if (and lib-file (file-writable-p lib-file))
|
294
|
-
;; use current directory,
|
295
|
-
;; if file is not in `install-elisp-repository-directory'.
|
296
|
-
lib-file
|
297
|
-
;; otherwise use `install-elisp-repository-directory'.
|
298
|
-
(expand-file-name filename install-elisp-repository-directory))))
|
299
|
-
|
300
|
-
(defun install-elisp-from (baseurl)
|
301
|
-
"Return higher-order function installing from BASEURL, which accepts an argument FILENAME."
|
302
|
-
`(lambda (filename)
|
303
|
-
(install-elisp (concat ,baseurl filename) filename)))
|
304
|
-
|
305
|
-
;;;###autoload
|
306
|
-
(defun install-elisp-from-emacswiki (filename)
|
307
|
-
"Install Emacs Lisp program from the EmacsWiki."
|
308
|
-
(interactive (list (if (fboundp 'oddmuse-read-pagename)
|
309
|
-
(oddmuse-read-pagename "EmacsWiki")
|
310
|
-
(read-string "PageName: "))))
|
311
|
-
(funcall (install-elisp-from "http://www.emacswiki.org/cgi-bin/wiki/download/") filename))
|
312
|
-
|
313
|
-
;;;###autoload
|
314
|
-
(defun install-elisp-from-gist (gistid &optional filename)
|
315
|
-
"Install Emacs Lisp program from gist."
|
316
|
-
(interactive "sInstall Emacs Lisp from gist ID: ")
|
317
|
-
(install-elisp (concat "http://gist.github.com/" (format "%s" gistid) ".txt")
|
318
|
-
(or filename
|
319
|
-
(format "gist-%s.el" gistid))))
|
320
|
-
|
321
|
-
;;;###autoload
|
322
|
-
(defun dired-install-elisp-from-emacswiki (&optional filename)
|
323
|
-
"Upgrade the current Emacs Lisp program from the EmacsWiki."
|
324
|
-
(interactive (list (dired-get-filename t)))
|
325
|
-
(install-elisp-from-emacswiki filename))
|
326
|
-
|
327
|
-
(define-key install-elisp-confirmation-minor-mode-map "\C-c\C-c" 'install-elisp-proceed)
|
328
|
-
|
329
|
-
(define-minor-mode install-elisp-confirmation-minor-mode
|
330
|
-
"Emacs Lisp install confirmation."
|
331
|
-
nil "" install-elisp-confirmation-minor-mode-map
|
332
|
-
(if install-elisp-confirmation-minor-mode
|
333
|
-
(setq mode-line-format
|
334
|
-
(format "%s: Type C-c C-c to install!"
|
335
|
-
(file-name-nondirectory install-elisp-filename)))
|
336
|
-
(setq mode-line-format default-mode-line-format)))
|
337
|
-
|
338
|
-
;;;; Bug report
|
339
|
-
(defvar install-elisp-maintainer-mail-address
|
340
|
-
(concat "rubiki" "tch@ru" "by-lang.org"))
|
341
|
-
(defvar install-elisp-bug-report-salutation
|
342
|
-
"Describe bug below, using a precise recipe.
|
343
|
-
|
344
|
-
When I executed M-x ...
|
345
|
-
|
346
|
-
How to send a bug report:
|
347
|
-
1) Be sure to use the LATEST version of install-elisp.el.
|
348
|
-
2) Enable debugger. M-x toggle-debug-on-error or (setq debug-on-error t)
|
349
|
-
3) Use Lisp version instead of compiled one: (load \"install-elisp.el\")
|
350
|
-
4) If you got an error, please paste *Backtrace* buffer.
|
351
|
-
5) Type C-c C-c to send.
|
352
|
-
# If you are a Japanese, please write in Japanese:-)")
|
353
|
-
(defun install-elisp-send-bug-report ()
|
354
|
-
(interactive)
|
355
|
-
(reporter-submit-bug-report
|
356
|
-
install-elisp-maintainer-mail-address
|
357
|
-
"install-elisp.el"
|
358
|
-
(apropos-internal "^install-elisp-" 'boundp)
|
359
|
-
nil nil
|
360
|
-
install-elisp-bug-report-salutation))
|
361
|
-
|
362
|
-
(provide 'install-elisp)
|
363
|
-
|
364
|
-
;; How to save (DO NOT REMOVE!!)
|
365
|
-
;; (emacswiki-post "install-elisp.el")
|
366
|
-
;;; install-elisp.el ends here
|