adding all of botlist, initial add
[botlist.git] / botclient / botnetclient / lisp / lib / java / abcl / examples / init.lisp
blob364630faca70d87db5bf784bc68c41694286661b
1 ;;; init.lisp
2 ;;; $Id: init.lisp,v 1.36 2007/03/04 19:08:11 piso Exp $
4 ;;; ~/.j/init.lisp (if it exists) is loaded automatically when j starts up.
6 (defun java-version ()
7 (jstatic "getProperty" "java.lang.System" "java.version"))
9 (defun adjust-appearance ()
10 (when (member (subseq (java-version) 0 5)
11 '("1.4.0" "1.4.1" "1.4.2" "1.5.0" "1.6.0" "1.7.0")
12 :test #'string=)
13 (set-global-property "adjustAscent" -2)
14 (set-global-property "adjustLeading" -2)
15 (reset-display)))
17 ;; Do it now!
18 (adjust-appearance)
20 ;; Turn off the remove-trailing-whitespace preference for files in the
21 ;; directory ~/gcl/ansi-tests.
22 (defun my-open-file-hook (buf)
23 (let ((pathname (buffer-pathname buf)))
24 (when (and pathname
25 (string= (directory-namestring pathname)
26 "/home/peter/gcl/ansi-tests/"))
27 (set-buffer-property "removeTrailingWhitespace" nil))))
29 (add-hook 'open-file-hook 'my-open-file-hook)
31 ;; Helper function for MY-BUFFER-ACTIVATED-HOOK.
32 (defun sub-p (namestring dirname)
33 "Returns T if NAMESTRING is in DIRNAME or one of its subdirectories"
34 (let ((dirname-length (length dirname)))
35 (and (> (length namestring) dirname-length)
36 (string= (subseq namestring 0 dirname-length) dirname))))
38 (defun my-buffer-activated-hook (buf)
39 (let ((pathname (buffer-pathname buf)))
40 ;; PATHNAME might be NIL (not all buffers have associated files).
41 (when pathname
42 (let ((type (pathname-type pathname)))
43 ;; We only care about Lisp and Java buffers.
44 (cond ((string= type "el")
45 (set-buffer-property
46 "tagPath"
47 "/home/peter/emacs-21.3/lisp:/home/peter/emacs-21.3/lisp/emacs-lisp"))
48 ((member type '("lisp" "lsp" "cl" "java") :test 'string=)
49 (let* ((namestring (namestring pathname))
50 (tagpath
51 (cond ((sub-p namestring "/home/peter/cmucl/src/")
52 "/home/peter/cmucl/src/code:/home/peter/cmucl/src/compiler:/home/peter/cmucl/src/pcl")
53 ((sub-p namestring "/home/peter/cl-bench/")
54 "/home/peter/cl-bench:/home/peter/cl-bench/files:/home/peter/depot/j/src/org/armedbear/lisp")
55 ((sub-p namestring "/home/peter/gcl/ansi-tests/")
56 "/home/peter/gcl/ansi-tests:/home/peter/depot/j/src/org/armedbear/lisp")
57 ((sub-p namestring "/home/peter/phemlock")
58 "/home/peter/phemlock/src/core:/home/peter/phemlock/src/user")
59 ((sub-p namestring "/home/peter/sbcl")
60 "/home/peter/sbcl/src/code:/home/peter/sbcl/src/compiler")
61 (t ; default case: no change
62 nil))))
63 ;; If we end up here with a non-NIL TAGPATH, use it to set the
64 ;; buffer-specific value of the TAG-PATH preference for the current
65 ;; buffer.
66 (when tagpath
67 (set-buffer-property "tagPath" tagpath)))))))))
69 ;; Install our hook function.
70 (add-hook 'buffer-activated-hook 'my-buffer-activated-hook)
72 ;; Call ADJUST-APPEARANCE after saving ~/.j/prefs.
73 (defun my-after-save-hook (buf)
74 (let ((pathname (buffer-pathname buf)))
75 (when (equal pathname #p"/home/peter/.j/prefs")
76 (adjust-appearance))))
78 (add-hook 'after-save-hook 'my-after-save-hook)
80 (defun reset-incoming-filters ()
81 (jstatic "resetIncomingFilters" "org.armedbear.j.mail.IncomingFilter"))
83 (defun add-incoming-filter (mailbox pattern action parameter)
84 (jstatic "addIncomingFilter" "org.armedbear.j.mail.IncomingFilter"
85 mailbox pattern action parameter))
87 (add-hook 'mailbox-mode-hook
88 (lambda ()
89 (reset-incoming-filters)
90 (add-incoming-filter "inbox"
91 "~C linux-kernel"
92 "move"
93 "mail/linux-kernel")
94 (add-incoming-filter "inbox"
95 "~C ix.netcom.com"
96 "move"
97 "mail/netcom")))
99 (defun maybe-load (pathname)
100 (when (probe-file pathname)
101 (load pathname)))
103 (maybe-load "/home/peter/.j/key-pressed.lisp")
104 (maybe-load "/home/peter/.j/update-check-enabled.lisp")
106 (maybe-load #+windows "c:/cygwin/home/peter/j/build-abcl.lisp"
107 #-windows "/home/peter/j/build-abcl.lisp")
109 (map-key-for-mode ")" "electricCloseParen" "Lisp Shell")
111 (map-key-for-mode "[" "insertParentheses" "Lisp")
112 (map-key-for-mode "]" "movePastCloseAndReindent" "Lisp")