castanyes blaves

Random ramblings about some random stuff, and things; but more stuff than things -- all in a mesmerizing and kaleidoscopic soapbox-like flow of words.

1/23/2005

 
Because we can Emacs' it

;; Red Hat Linux default .emacs initialization file ; -*- mode: emacs-lisp -*-

;; Happy hacking short-shortcuts

;; 'Supr' key deletes selected region

;; (pending-delete-mode 1)

;; Don't show the bars

(tool-bar-mode nil)

(menu-bar-mode nil)

;; Title bar shows name of the buffer

(setq frame-title-format '("emacs %*%+ %b"))

;; Uses y/n instead of yes/no

(fset 'yes-or-no-p 'y-or-n-p)

;; Open compressed files in gzip and bzip2 format

(auto-compression-mode 1)

;; WEBLOGGER

;; If you already have a weblog, and your weblog supports RSD

;; (http://archipelago.phrasewise.com/rsd), you can use

;;

;; M-x weblogger-discover-server RET url RET

;;

;; where url is the URL of your weblog. This will set up a

;; ~/.webloggerrc file for you if you let it.

;; (add-to-list 'load-path "/home/avb/instalats/emacs/weblogger")

;; (load-library "/home/avb/instalats/emacs/weblogger/weblogger.el")

;; (load-file "/data2/instalats/emacs/weblogger.el")

;; (global-set-key "\C-cbs" 'weblogger-start-entry)

;; Shows line and column number

(line-number-mode 't)

(column-number-mode 't)

(require 'icomplete)

;; Iseach only char by char

(defun isearch-yank-char ()

"Pull next char from buffer into search string."

(interactive)

(isearch-yank-string

(save-excursion

(and (not isearch-forward) isearch-other-end

(goto-char isearch-other-end))

(buffer-substring-no-properties

(point) (progn (forward-char 1) (point))))))

(define-key isearch-mode-map (kbd "C-f") 'isearch-yank-char)

;; (define-key isearch-mode-map (kbd "C-b") 'isearch-delete-char)

;; (add-to-list 'default-frame-alist '(foreground-color . "black"))

;; (add-to-list 'default-frame-alist '(background-color . "white"))

;; (add-to-list 'default-frame-alist '(cursor-color . "coral"))

;; Adding csde (csharp complete) mode

;; ;; Adding speedbar

;; (add-to-list 'load-path "~/instalats/emacs/speedbar-0.14beta4")

;; (autoload 'speedbar-frame-mode "speedbar" "Popup a speedbar frame" t)

;; (autoload 'speedbar-get-focus "speedbar" "Jump to speedbar frame" t)

;; (define-key-after (lookup-key global-map [menu-bar tools])

;; [speedbar] '("Speedbar" . speedbar-frame-mode) [calendar])

;; ;; Adding eieio

;; (add-to-list 'load-path "~/instalats/emacs/eieio-0.17")

;; ;; Adding semantic

;; (add-to-list 'load-path "~/instalats/emacs/semantic-1.4.4")

;; (setq semantic-load-turn-everything-on t)

;; (require 'semantic-load)

;; ;; Adding elib

;; (setq load-path (append (list "~/instalats/emacs/elib-1.0/")

;; load-path))

;; ;; Configuration variables here:

;; (setq semantic-load-turn-useful-things-on t)

;; ;; Load CEDET

;; (load-file "~/instalats/emacs/cedet-1.0beta1c/common/cedet.el")

;; (add-to-list 'load-path (expand-file-name "~/instalats/emacs/csharp/csharp"))

;; ;; (require 'csde)

;; ;; End of csde (csharp complete) mode

;; (add-to-list 'load-path "/home/avb/instalats/emacs/nxml/nxml-mode-20031031")

;; (add-to-list 'load-path "/home/avb/instalats/emacs/cperl")

;; (add-to-list 'load-path "/home/avb/instalats/emacs/csharp")

;; (require 'csharp-mode)

;; (load-library "/home/avb/instalats/emacs/nxml/nxml-mode-20031031/rng-auto.el")

;; (autoload 'xml-mode "nxml-mode" "Major mode to edit XML files." t)

;; Set up the keyboard so the delete key on both the regular keyboard

;; and the keypad delete the character under the cursor and to the right

;; under X, instead of the default, backspace behavior.

(global-set-key [delete] 'delete-char)

(global-set-key [kp-delete] 'delete-char)

;; DynamicAbbreviations

;; Description

;; This is one of the coolest functions in emacs. A dynamic abbreviation (dabbrev) is almost like a normal abbreviation that you define, with the following differences:

;; 1. You do not have to define it

;; 2. You need to call the dabbrev-expand command explicitly to use it

;; What it does is to look at the "word" to the left of point and try to expand that word by looking for text in the current buffer, and if not found there, in all open buffers.

;; Did I say that this is extremely cool?

;; Examples

;; Let's say you define

;; thisLongVariableName

;; somewhere in the code. Somewhere further down in the code you want to write the variable name again. Instead of doing this, just type a few letters, for example "this", and then activate the dabbrev-expand command.

;; Instant magic!

;; If the expansion is not what you wanted, you can cycle through all possible expansions by repeatedly executing the command again.

;; This works on all kinds of text in all buffers.

;; (global-set-key (kbd "\M-l") 'dabbrev-expand)

;; (define-key minibuffer-local-map (kbd "\M-l") 'dabbrev-expand)

(global-set-key "\M-g" 'goto-line)

(global-set-key "\C-c\C-c" 'comment-region)

(global-set-key "\M-j" 'other-window)

(global-set-key "\M-m" 'switch-to-buffer)

(global-set-key "\C-c\c" 'compile)

;; ;; Save last session:

;; (desktop-load-default)

;; (setq history-length 250)

;; (add-to-list 'desktop-globals-to-save 'file-name-history)

;; (desktop-read)

;; (setq desktop-enable t)

;; ;; AND run M-x desktop-save before leaving

(defun close-all-files ()

"Kill all buffers that are visiting a file."

(interactive)

(let ((buffers (buffer-list)))

(while buffers

(if (buffer-file-name (car buffers))

(kill-buffer (car buffers)))

(setq buffers (cdr buffers)))))

(defun nuke-all-buffers ()

"kill all buffers, leaving *scratch* only"

(interactive)

(mapcar (lambda (x) (kill-buffer x))

(buffer-list))

(delete-other-windows))

;; turn on font-lock mode

(global-font-lock-mode t)

;; enable visual feedback on selections

(setq-default transient-mark-mode t)

;; always end a file with a newline

(setq require-final-newline t)

;; stop at the end of the file, not just add lines

(setq next-line-add-newlines nil)

(when window-system

;; enable wheelmouse support by default

(mwheel-install)

;; use extended compound-text coding for X clipboard

(set-selection-coding-system 'compound-text-with-extensions))

;; parenthesis highlighting

(show-paren-mode)

;;linux-c-mode linux kernel mode

;; (defun linux-c-mode ()

;; "C mode with adjusted defaults for use with the Linux kernel."

;; (interactive)

;; (c-mode)

;; (setq c-indent-level 8)

;; (setq c-brace-imaginary-offset 0)

;; (setq c-brace-offset -8)

;; (setq c-argdecl-indent 8)

;; (setq c-label-offset -8)

;; (setq c-continued-statement-offset 8)

;; (setq indent-tabs-mode nil)

;; (setq tab-width 8))

(setq c-default-style "linux")

;; (defvar my-c-style nil)

;; (defun my-change-c-style-maybe ()

;; (when my-c-style

;; (c-set-style "Linux")

;; )

;; )

;; LastWave scripts mode setup

(assoc "\\.lws$" auto-mode-alist)

(setq auto-mode-alist (cons '("\\.lws$" . makefile-mode) auto-mode-alist))

;; Diary mode setup

(assoc "\\.ebi$" auto-mode-alist)

(setq auto-mode-alist (cons '("\\.ebi$" . auto-fill-mode) auto-mode-alist))

;; Glade mode set up

(assoc "\\.glade$" auto-mode-alist)

(setq auto-mode-alist (cons '("\\.glade$" . nxml-mode) auto-mode-alist))

;; Csharp mode set up

(assoc "\\.cs$" auto-mode-alist)

(setq auto-mode-alist (cons '("\\.cs$" . csharp-mode) auto-mode-alist))

;; Mail mode set up

(assoc "\\.mbox$" auto-mode-alist)

(setq auto-mode-alist (cons '("\\.mbox$" . mail-mode) auto-mode-alist))

;; Perl mode set up

(assoc "\\.pl$" auto-mode-alist)

(setq auto-mode-alist (cons '("\\.pl$" . perl-mode) auto-mode-alist))

(assoc "\\.pm$" auto-mode-alist)

(setq auto-mode-alist (cons '("\\.pm$" . perl-mode) auto-mode-alist))

;; CPerl Mode for Bioperl and other perly stuff

(defalias 'perl-mode 'cperl-mode)

(load-library "cperl-mode")

;; (autoload 'cperl-mode "cperl-mode" "Another perl mode" t)

;; ; the following line calls hhe's PERL

;; ; mode

;; (autoload 'perl-mode "cperl-mode" "alternate mode for editing Perl programs" t)

;; (global-unset-key [(begin)])

;; ;; Make F1 invoke help

;; (global-unset-key [f1])

;; (global-set-key [f1] 'man-follow)

(define-key cperl-mode-map "\C-c\C-h" 'cperl-get-help)

(define-key cperl-mode-map "\C-c\C-f" 'cperl-perldoc-at-point)

(custom-set-variables

'(cperl-indent-level 4)

'(cperl-continued-statement-offset 4)

'(cperl-tab-always-indent t)

'(indent-tabs-mode nil)

)

;; perldb.el starts here

(require 'shell)

(defvar perldb-prompt-pattern "^ DB<[0-9]+> "

"A regexp to recognize the prompt for perldb.")

(defvar perldb-mode-map nil

"Keymap for perldb-mode.")

(if perldb-mode-map

nil

(setq perldb-mode-map (copy-keymap shell-mode-map))

(define-key perldb-mode-map "\C-l" 'perldb-refresh))

(defun cperl-run ()

(interactive)

(if (buffer-modified-p)

(if (y-or-n-p "Save buffer? ")

(save-buffer)

(error "Failed to save buffer.")))

(perldb (concat "/usr/local/bin/perl -w "

(buffer-file-name))))

;; (setq Info-default-directory-list

;; (append Info-default-directory-list

;; '("/usr/bin/info")))

;; (setenv "PERL5LIB" (concat (getenv "PERL5LIB")

;; ":/usr/lib/site_perl/5.6.0"))

(defmacro def-perldb (name key &optional doc)

(let* ((fun (intern (concat "perldb-" name))))

(` (progn

(defun (, fun) (arg)

(, (or doc ""))

(interactive "p")

(perldb-call (if (not (= 1 arg))

(concat (, name) arg)

(, name))))

(define-key perldb-mode-map (, key) (quote (, fun)))))))

(def-perldb "s" "\M-s" "Step one source line with display")

(def-perldb "n" "\M-n" "Step one source line (skip functions)")

(def-perldb "c" "\M-c" "Continue with display")

(def-perldb "r" "\C-c\C-r" "Return from current subroutine")

(def-perldb "A" "\C-c\C-a" "Delete all actions")

;; perldb.el ends here

;;python debugger

(custom-set-variables

;; custom-set-variables was added by Custom -- don't edit or cut/paste it!

;; Your init file should contain only one such instance.

'(gud-pdb-command-name "/usr/local/pdb/pdb.py"))

(custom-set-faces

;; custom-set-faces was added by Custom -- don't edit or cut/paste it!

;; Your init file should contain only one such instance.

)

;; Jason's bioperl templates

(defun perl-insert-start ()

"Places #!..perl at the start of the script"

(interactive)

(goto-char (point-min))

(insert "#!/usr/local/bin/perl\n"))

(defun perl-documentation-general (perl-object-name perl-caretaker-name caretaker-email)

"Places standard bioperl object notation headers and footers"

(interactive "sName: \nsName of caretaker: \nsEmail: ")

(insert "# " perl-object-name "\n#\n# Cared for by " perl-caretaker-name " <" caretaker-email ">\n#\n# Copyright " perl-caretaker-name "\n#\n# You may distribute this module under the same terms as perl itself\n\n")

(insert "# POD documentation - main docs before the code\n\n")

(insert "=head1 NAME\n\n" perl-object-name " - DESCRIPTION \n\n")

(insert "=head1 SYNOPSIS\n\nGive standard usage here\n\n")

(insert "=head1 DESCRIPTION\n\nDescribe the object here\n\n")

(insert "=head1 AUTHOR - " perl-caretaker-name "\n\nEmail " caretaker-email "\n\nDescribe contact details here\n\n")

(insert "=head1 CONTRIBUTORS\n\nAdditional contributors names and emails here\n\n")

(insert "=cut\n\n")

(insert "\n# Let the code begin...\n\n")

(insert "use strict;\n")

(insert "\n\n1;")

)

;; #<<<<<

;; print "test ----\n";

;; print Dumper $var;

;; print "\ntest ----\n";

;; #<<<<<

(defun bioperl-object-start (perl-object-name perl-caretaker-name caretaker-email)

"Places standard bioperl object notation headers and footers"

(interactive "sName of Object: \nsName of caretaker: \nsEmail: ")

(insert "\n# BioPerl module for " perl-object-name "\n#\n# Cared for by " perl-caretaker-name " <" caretaker-email ">\n#\n# Copyright " perl-caretaker-name "\n#\n# You may distribute this module under the same terms as perl itself\n\n")

(insert "# POD documentation - main docs before the code\n\n")

(insert "=head1 NAME\n\n" perl-object-name " - DESCRIPTION of Object\n\n")

(insert "=head1 SYNOPSIS\n\nGive standard usage here\n\n")

(insert "=head1 DESCRIPTION\n\nDescribe the object here\n\n")

(insert "=head1 FEEDBACK\n\n=head2 Mailing Lists\n\n")

(insert "User feedback is an integral part of the evolution of this and other\nBioperl modules. Send your comments and suggestions preferably to\nthe Bioperl mailing list. Your participation is much appreciated.\n\n")

(insert " bioperl-l@bioperl.org - General discussion\n http://bioperl.org/MailList.shtml - About the mailing lists\n\n")

(insert "=head2 Reporting Bugs\n\nReport bugs to the Bioperl bug tracking system to help us keep track\nof the bugs and their resolution. Bug reports can be submitted via\nthe web:\n\n")

(insert " http://bugzilla.bioperl.org/\n\n")

(insert "=head1 AUTHOR - " perl-caretaker-name "\n\nEmail " caretaker-email "\n\nDescribe contact details here\n\n")

(insert "=head1 CONTRIBUTORS\n\nAdditional contributors names and emails here\n\n")

(insert "=head1 APPENDIX\n\nThe rest of the documentation details each of the object methods.\nInternal methods are usually preceded with a _\n\n=cut\n\n")

(insert "\n# Let the code begin...\n\n")

(insert "\npackage " perl-object-name ";\n")

(insert "use vars qw(@ISA);\n")

(insert "use strict;\n")

(insert "\n# Object preamble - inherits from Bio::Root::Root\n")

(insert "\nuse Bio::Root::Root;\n\n")

(insert "\n@ISA = qw(Bio::Root::Root );\n\n")

(insert "=head2 new\n\n Title : new\n Usage : my $obj = new "

perl-object-name "();\n Function: Builds a new "

perl-object-name " object \n Returns : an instance of "

perl-object-name "\n Args :\n\n\n=cut\n\n")

(insert "sub new {\n my($class,@args) = @_;\n\n my $self = $class->SUPER::new(@args);\n return $self;\n}\n")

(insert "\n\n1;")

)

(defun bioperl-interface-start (perl-object-name perl-caretaker-name

caretaker-email)

"Places standard bioperl object notation headers and footers"

(interactive "sName of Object: \nsName of caretaker: \nsEmail: ")

(insert "# $Id $\n#\n# BioPerl module for " perl-object-name "\n#\n# Cared for by " perl-caretaker-name " <" caretaker-email ">\n#\n# Copyright " perl-caretaker-name "\n#\n# You may distribute this module under the same terms as perl itself\n\n")

(insert "# POD documentation - main docs before the code\n\n")

(insert "=head1 NAME\n\n" perl-object-name " - DESCRIPTION of Interface\n\n")

(insert "=head1 SYNOPSIS\n\nGive standard usage here\n\n")

(insert "=head1 DESCRIPTION\n\nDescribe the interface here\n\n")

(insert "=head1 FEEDBACK\n\n=head2 Mailing Lists\n\n")

(insert "User feedback is an integral part of the evolution of this and other\nBioperl modules. Send your comments and suggestions preferably to\nthe Bioperl mailing list. Your participation is much appreciated.\n\n")

(insert " bioperl-l@bioperl.org - General discussion\n http://bioperl.org/MailList.shtml - About the mailing lists\n\n")

(insert "=head2 Reporting Bugs\n\nReport bugs to the Bioperl bug tracking system to help us keep track\nof the bugs and their resolution. Bug reports can be submitted via\nemail or the web:\n\n")

(insert " http://bugzilla.bioperl.org/\n\n")

(insert "=head1 AUTHOR - " perl-caretaker-name "\n\nEmail " caretaker-email "\n\nDescribe contact details here\n\n")

(insert "=head1 CONTRIBUTORS\n\nAdditional contributors names and emails here\n\n")

(insert "=head1 APPENDIX\n\nThe rest of the documentation details each of the object methods.\nInternal methods are usually preceded with a _\n\n=cut\n\n")

(insert "\n# Let the code begin...\n\n")

(insert "\npackage " perl-object-name ";\n")

(insert "use vars qw(@ISA);\n")

(insert "use strict;\n\nuse Bio::Root::RootI;\n\n")

(insert "@ISA = qw( Bio::Root::RootI );")

(insert "\n\n1;")

)

(defun bioperl-method (method-name)

"puts in a bioperl method complete with pod boiler-plate"

(interactive "smethod name:")

(insert "=head2 " method-name "\n\n Title : " method-name "\n Usage :\n Function:\n Example :\n Returns : \n Args :\n\n\n=cut\n\n")

;; (insert "sub " method-name "{\n my ($self,@args) = @_;\n")

(insert "sub " method-name "{\n my $self = shift;\n")

(save-excursion

(insert "\n\n}\n"))

)

(defun bioperl-getset (field-name)

"puts in a bioperl method for a get/set method complete with pod boiler-plate"

(interactive "sfield name:")

(insert "=head2 " field-name "\n\n Title : " field-name "\n Usage : $obj->" field-name "($newval)\n Function: \n Example : \n Returns : value of " field-name " (a scalar)\n Args : on set, new value (a scalar or undef, optional)\n\n\n=cut\n\n")

(insert "sub " field-name "{\n my $self = shift;\n\n return $self->{'" field-name "'} = shift if @_;\n return $self->{'" field-name "'};")

(insert "\n}\n"))

(defun bioperl-array-getset (field-name class-name)

"puts in a bioperl method for array get/add/remove methods complete with pod boiler-plate"

(interactive "sarray base object: \nstype of element: ")

(insert "=head2 get_" field-name "s\n\n Title : get_" field-name "s\n Usage : @arr = get_" field-name "s()\n Function: Get the list of " field-name "(s) for this object.\n Example :\n Returns : An array of " class-name " objects\n Args :\n\n\n=cut\n\n")

(insert "sub get_" field-name "s{\n my $self = shift;\n\n return @{$self->{'_" field-name "s'}} if exists($self->{'_" field-name "s'});\n return ();\n}\n\n")

(insert "=head2 add_" field-name "\n\n Title : add_" field-name "\n Usage :\n Function: Add one or more " field-name "(s) to this object.\n Example :\n Returns : \n Args : One or more " class-name " objects.\n\n\n=cut\n\n")

(insert "sub add_" field-name "{\n my $self = shift;\n\n $self->{'_" field-name "s'} = [] unless exists($self->{'_" field-name "s'});\n push(@{$self->{'_" field-name "s'}}, @_);\n}\n\n")

(insert "=head2 remove_" field-name "s\n\n Title : remove_" field-name "s\n Usage :\n Function: Remove all " field-name "s for this class.\n Example :\n Returns : The list of previous " field-name "s as an array of\n " class-name " objects.\n Args :\n\n\n=cut\n\n")

(insert "sub remove_" field-name "s{\n my $self = shift;\n\n my @arr = $self->get_" field-name "s();\n $self->{'_" field-name "s'} = [];\n return @arr;\n}\n\n"))

(defun bioperl-abstract-method (method-name)

"puts in a bioperl abstract method for interface classes"

(interactive "smethod-name:")

(save-excursion

(insert "=head2 " method-name "\n\n Title : " method-name "\n Usage :\n Function:\n Example :\n Returns : \n Args :\n\n\n=cut\n\n")

(insert "sub " method-name "{\n my ($self) = @_;\n\n $self->throw(\"Abstract method " method-name " implementing class did not provide method\");\n")

(insert "\n\n}\n")

)

)

;; Still not working :-(

(setq perl-mode-hook

'(lambda ()

(define-key perl-mode-map "\C-c\C-h" 'perl-insert-start)

(define-key perl-mode-map "\C-c\C-b" 'bioperl-object-start)

(define-key perl-mode-map "\C-c\C-i" 'bioperl-interface-start)

(define-key perl-mode-map "\C-c\C-v" 'bioperl-getset)

(define-key perl-mode-map "\C-c\C-r" 'bioperl-arrray-getset)

(define-key perl-mode-map "\C-c\C-b" 'bioperl-method)

(define-key perl-mode-map "\C-c\C-a\C-m" 'bioperl-abstract-method)

(define-key perl-mode-map "\C-c\C-z" 'compile)

(define-key perl-mode-map [menu-bar] (make-sparse-keymap))

(define-key perl-mode-map [menu-bar p]

(cons "BioPerl" (make-sparse-keymap "BioPerl")))

(define-key perl-mode-map [menu-bar p perl-script-start]

'("Insert script template" . perl-script-start))

(define-key perl-mode-map [menu-bar p bioperl-object-start]

'("bioperl object template" . bioperl-object-start))

(define-key perl-mode-map [menu-bar p bioperl-interface-start]

'("bioperl interface template" . bioperl-interface-start))

(define-key perl-mode-map [menu-bar p bioperl-getset]

'("bioperl field func" . bioperl-getset))

(define-key perl-mode-map [menu-bar p bioperl-array-getset]

'("bioperl array get/add/remove" . bioperl-array-getset))

(define-key perl-mode-map [menu-bar p bioperl-method]

'("bioperl method" . bioperl-method))

))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;; C# Mode support

;;;

;; (add-to-list 'load-path "/home/avb/instalats/emacs/CsMode4_PlusHtml_21/site-lisp")

;; (load-library "/home/avb/instalats/emacs/CsMode4_PlusHtml_21/site-lisp/cc-mode.el")

(autoload 'csharp-mode "cc-mode")

(c-add-style "myC#Style"

'("C#"

(c-basic-offset . 2)

(c-comment-only-line-offset . (0 . 0))

(c-offsets-alist . (

(c . c-lineup-C-comments)

(inclass . 0)

(namespace-open . +)

(namespace-close . +)

(innamespace . 0)

(class-open . +)

(class-close . +)

(inclass . 0)

(defun-open . +)

(defun-block-intro . 0)

(inline-open . +)

(inline-close . 0)

(statement-block-intro . 0)

(statement-cont . +)

(brace-list-intro . +)

(topmost-intro-cont . 0)

(block-open . +)

(block-close . 0)

(arglist-intro . +)

; (arglist-cont . 0)

(arglist-close . 0)

))

))

(defun my-csharp-mode-hook ()

(cond (window-system

(turn-on-font-lock)

(c-set-style "myC#Style")

)))

(add-hook 'csharp-mode-hook 'my-csharp-mode-hook)

(setq auto-mode-alist

(append '(

("\\.cs$" . csharp-mode)

) auto-mode-alist ))

;; (setq compilation-error-regexp-alist

;; (append '(

;; ;C# Compiler

;; ;t.cs(6,18): error SC1006: Name of constructor must match name of class

;; ;

;; ("\\(\\([a-zA-Z]:\\)?[^:(\t\n]+\\)(\\([0-9]+\\)[,]\\([0-9]+\\)): \\(error\\|warning\\) CS[0-9]+:" 1 3 4)

;; )

;; compilation-error-regexp-alist))

;; ;;;

;; ;;; C# Mode support

;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; extension to mode mapping

;


Comments: Post a Comment

Subscribe to Post Comments [Atom]





<< Home

Archives

200409   200412   200501   200502   200503   200504   200505   200506   200507   200508   200509   200510   200511   200512   200601   200602   200603   200604   200605   200606   200607   200608   200609   200610   200611   200612   200701   200702   200703   200704   200705   200707   200708   200709   200710   200711   200712   200801   200802   200803   200804   200805   200806   200807   200808   200809   200810   200811   200812   200901   200902   200903   200904   200905   200906   200907   200908   200909   200912   201001   201002   201003   201004   201007   201009   201011   201102  

This page is powered by Blogger. Isn't yours?

Subscribe to Posts [Atom]