;;;////////////////////////////////////////////////////////////////
;;; Speedbar Beta
;;;////////////////////////////////////////////////////////////////
(if (eq z-emacs-type 'fsf_emacs) ;; Emacs
(if (eq z-location 'home)
(progn
(setq load-path (cons "h:/usr/share/emacs-21.1/site-lisp/speedbar-014beta4" load-path))
)))
;;;////////////////////////////////////////////////////////////////
;;; ELIB
;;;////////////////////////////////////////////////////////////////
(if (eq z-emacs-type 'fsf_emacs) ;; Emacs
(if (eq z-location 'home)
(progn
(setq load-path (cons "h:/usr/share/emacs-21.1/site-lisp/elib" load-path))
)))
;; ---( Autoload )---------------------------------------------------------
;; (load "psgml-init") ;; psgml-auto-setup-1.2.1-5
(load "all") ;; xedit all
;; ---(gnuserv: single instance)-----------------------------------------------------
(require 'gnuserv)
(gnuserv-start)
;; ---( Support Functions )---------------------------------------------------------
;; both prolog and perl files are often called .pl;
;; this tries to do the right thing.
(defun prolog-or-perl-mode () (interactive)
(if
(or (string-match "/perl\\b" (buffer-string)) ; file with perl header
(= 1 (point-max))) ; new file
(progn
(cperl-mode)
(message "Ambiguous suffix .pl resolved to perl mode."))
(progn
(prolog-mode)
(message "Ambiguous suffix .pl resolved to prolog mode.")))
(sit-for 1))
;;; Dave Brennan <brennan@hal.com> has a copy; might as well forward
;;; him any improvements as well!
(defun zzz-insert-braces ()
"Insert matched braces, leave point inside."
(interactive "*")
(let (blink-paren-function) ;nil it temporarily
(execute-kbd-macro
(if (and (eq major-mode 'cc-c++-mode) (not (looking-at ";")))
"{};" "{}")))
(backward-sexp 1)
(if (save-excursion
(forward-char -1)
(looking-at "\\$"))
nil
(reindent-then-newline-and-indent)
(c-indent-exp)
(forward-char 1)
(newline-and-indent)))
(defun scroll-up-one ( )
"up-one."
(interactive)
(scroll-up 1))
(defun scroll-down-one ( )
"down-one."
(interactive)
(scroll-down 1))
(defun self-insert-back-accent ( )
"inserisce carattere `."
(interactive)
(insert-char ?` 1))
(defun self-insert-tilde ( )
"inserisce carattere ~."
(interactive)
(insert-char ?~ 1))
(defun self-insert-open-bracket ( )
"inserisce carattere {."
(interactive)
(insert-char ?{ 1))
(defun self-insert-close-bracket ( )
"inserisce carattere }."
(interactive)
(insert-char ?} 1))
(defvar accent-keys-bound nil
"accent keys binding state.")
(defun accent-keys-toggle ( )
"toggle accent keys binding."
(interactive)
(if (null accent-keys-bound)
(accent-keys-bind)
(accent-keys-unbind)))
(defun accent-keys-tex-bind ( )
"enable accent keys binding."
(interactive)
(if (eq z-emacs-type 'xemacs) ;; XEmacs
(progn
(keyboard-translate 232 ?` ) ;; e' gr
(global-set-key (quote[249]) '(lambda () (interactive) (recenter 1)) ) ;; u'
(global-set-key (quote[167]) 'recenter ) ;; par
(setq accent-keys-bound t)
)
(progn
(keyboard-translate 231 ?{ ) ;; ced
(keyboard-translate 176 ?} ) ;; -es
(keyboard-translate 167 ?` ) ;; -es
(keyboard-translate 163 ?~ ) ;; -es
(setq accent-keys-bound t)
)))
(defun accent-keys-unbind ( )
"enable accent keys binding."
(interactive)
(keyboard-translate 231 231 ) ;; ced
(keyboard-translate 176 176 ) ;; -es
(keyboard-translate 242 242 ) ;; o'
(keyboard-translate 224 224 ) ;; a'
(keyboard-translate 236 236 ) ;; i'
(keyboard-translate 233 233 ) ;; e'
(keyboard-translate 232 232 ) ;; e' gr
(global-unset-key (quote[249]) ) ;; u'
(global-unset-key (quote[167]) ) ;; par
(setq accent-keys-bound nil))
(if (eq z-emacs-type 'xemacs) ;; XEmacs
(progn
(accent-keys-full-bind)
)
(progn
(accent-keys-tex-bind)
))
;; cycle through buffers, ignoring uninteresting ones
(defun z-backward-buffer () (interactive)
"Switch to previously selected buffer."
(let* ((list (cdr (buffer-list)))
(buffer (car list)))
(while (and (cdr list) (string-match "\\*" (buffer-name buffer)))
(progn
(setq list (cdr list))
(setq buffer (car list))))
(bury-buffer)
(switch-to-buffer buffer)))
(defun z-forward-buffer () (interactive)
"Opposite of backward-buffer."
(let* ((list (reverse (buffer-list)))
(buffer (car list)))
(while (and (cdr list) (string-match "\\*" (buffer-name buffer)))
(progn
(setq list (cdr list))
(setq buffer (car list))))
(switch-to-buffer buffer)))
(defun buffer-tab-find-prev-rec (buffer-list prev-buffer)
(when buffer-list
(if (aref (car buffer-list) 3)
prev-buffer
(buffer-tab-find-prev-rec (cdr buffer-list) (car buffer-list))
)
)
)
(defun buffer-tab-find-prev ()
(let ((buffer-list ( buffers-tab-items )))
(let ((prev-buffer (buffer-tab-find-prev-rec buffer-list nil)))
(if prev-buffer
prev-buffer
(car (last buffer-list))
)))
)
(defun buffer-tab-find-next-rec (buffer-list)
(when buffer-list
(if (aref (car buffer-list) 3)
(cadr buffer-list)
(buffer-tab-find-next-rec (cdr buffer-list))
)
))
(defun buffer-tab-find-next-z ()
(let ((buffer-list ( buffers-tab-items )))
(let ((next-buffer (buffer-tab-find-next-rec buffer-list)))
(if next-buffer
next-buffer
(last buffer-list))
))
)
(defun buffer-tab-find-next () ;; buggy
(let ((buffer-list (reverse ( buffers-tab-items ))))
(let ((prev-buffer (buffer-tab-find-prev-rec buffer-list nil)))
(if prev-buffer
prev-buffer
(car (last buffer-list))
)))
)
(defun buffer-tab-advance (&optional direction )
"Switch to next/prev buffer in Buffer Tab List."
(interactive)
(let ((target-buffer
(if direction
(buffer-tab-find-prev)
(buffer-tab-find-next))))
(eval (aref target-buffer 1))))
;; Toggles between line wrapping in the current buffer.
(defun toggle-line-wrapping ()
"Toggles between line wrapping in the current buffer."
(interactive)
(if (eq truncate-lines nil)
(progn
(setq truncate-lines t)
(redraw-display)
(message "Setting truncate-lines to t"))
(setq truncate-lines nil)
(redraw-display)
(message "Setting truncate-lines to nil"))
)
;; Untabifies entire buffer.
(defun untabify-buffer ()
"Untabifies entire buffer."
(interactive)
(point-to-register 1)
(goto-char (point-min))
(untabify (point-min) (point-max))
(register-to-point 1)
)
;; Tabifies entire buffer.
(defun tabify-buffer ()
"Tabifies entire buffer."
(interactive)
(point-to-register 1)
(goto-char (point-min))
(tabify (point-min) (point-max))
(register-to-point 1)
)
(defun remove-trailing-ctl-M ()
"Propose to remove trailing ^M from a file."
(interactive)
(save-excursion
(goto-char (point-min))
(if (and (not (string-match ".gz$" (buffer-file-name)))
(search-forward-regexp "
$" nil t))
;: a ^M is found
(if (or (= (preceding-char) ?\^J)
(= (following-char) ?\^J) )
(if (y-or-n-p (format "Remove trailing ^M from %s? "
(buffer-file-name)))
(progn (goto-char (point-min))
(perform-replace "
" "" nil nil nil)
(pop-mark)
(save-buffer))
(message "No transformation."))))))
(defun toggle-menubar ()
(interactive)
(set-specifier
menubar-visible-p
(not (specifier-instance menubar-visible-p))))
(defun toggle-modeline ()
(interactive)
(set-specifier
has-modeline-p
(not (specifier-instance has-modeline-p))))
(defun toggle-toolbar ()
(interactive)
(set-specifier
default-toolbar-visible-p
(not (specifier-instance default-toolbar-visible-p))))
;; Toggle Gutter Bar
(if (eq z-emacs-type 'xemacs) ;; XEmacs
(defun toggle-gutter-bar ()
"Tabifies entire buffer."
(interactive)
(customize-set-variable 'gutter-buffers-tab-visible-p
(not gutter-buffers-tab-visible-p))
)
)
;; ---( PC Select )-----------------------------------------------------------
(if (eq z-emacs-type 'xemacs) ;; XEmacs
(progn
(if (eq system-type 'usg-unix-v) ;; Sun Solaris
(progn
(require 'pc-select)
(pc-select-mode t)
)
(progn
))
)
(progn
))
;; ---( Keyboard Mapping )----------------------------------------------------
(global-set-key [backspace] 'backward-delete-char )
(global-set-key [(control backspace)] 'backward-kill-word )
(global-set-key [(meta backspace)] 'undo )
(global-set-key [(meta home)] 'delete-other-windows )
(global-set-key [(meta end)] 'bury-buffer )
(global-set-key [(control prior)] 'other-frame )
(global-set-key [(control next)] 'other-window )
(global-set-key [(meta control prior)] 'outline-previous-visible-heading )
(global-set-key [(meta control next)] 'outline-next-visible-heading )
(global-set-key [(control up)] 'scroll-down-one )
(global-set-key [(control down)] 'scroll-up-one )
(global-set-key [(meta up)] 'backward-block-of-lines )
(global-set-key [(meta down)] 'forward-block-of-lines )
(if (eq z-system 'winnt)
(progn
(global-set-key [(control right)] 'forward-word )
(global-set-key [(control left)] 'backward-word )
(global-set-key [(control meta right)] 'backward-sexp )
(global-set-key [(control meta left)] 'forward-sexp )
)
(progn ;; reserve control h-arrow for WM
))
;;; WM Desktop !!!
(global-unset-key [(control right)])
(global-unset-key [(control left)])
(global-set-key [(meta right)] 'forward-word )
(global-set-key [(meta left)] 'backward-word )
(global-set-key [clear] '(lambda () (interactive) (recenter 1)))
(define-key global-map [(control clear)] 'recenter)
(define-key global-map [(control kp-space)] 'recenter)
(define-key global-map [kp-home] 'scroll-cursor-to-bottom)
(define-key global-map [kp-end] 'scroll-cursor-to-top)
(define-key global-map [kp-left] 'backward-char-command)
(define-key global-map [kp-right] 'forward-char-command)
(define-key global-map [(control kp-left)] 'scroll-left)
(define-key global-map [(control kp-right)] 'scroll-right)
(define-key global-map [kp-up] 'scroll-down-one)
(define-key global-map [kp-down] 'scroll-up-one)
(define-key global-map [kp-multiply] 'scroll-left)
(define-key global-map [kp-delete] 'bury-buffer)
(define-key global-map [(control kp-delete)] 'kill-this-buffer)
(define-key global-map [(control kp-insert)] 'other-frame)
(define-key global-map [(meta kp-insert)] 'make-frame)
(define-key global-map [(meta kp-delete)] 'delete-frame)
;---(buffers)-----
(require 'bs)
(define-key global-map [kp-insert] 'bs-show)
;;(setq bs-default-configuration "files")
(global-set-key [(control shift tab)] 'bs-cycle-previous)
(global-set-key [(control tab)] 'bs-cycle-next)
;;(global-set-key [(control tab)] 'switch-to-other-buffer )
;;(global-set-key [(control tab)] '(lambda ()
;; (interactive) (buffer-tab-advance t)) )
;;(global-set-key [(control meta tab)] '(lambda ()
;; (interactive) (buffer-tab-advance t)) )
;;(global-set-key [(control shift tab)] '(lambda ()
;; (interactive) (buffer-tab-advance nil)) )
;; better buffer cycling
;; (global-set-key [(control return)] 'forward-buffer)
;; (global-set-key [(shift return)] 'backward-buffer)
(if (eq z-emacs-type 'xemacs) ;; XEmacs
(progn
(define-key global-map [(control kp-insert)] 'toggle-line-wrapping)
(setq truncate-lines t)
)
(progn
(define-key global-map [(control kp-insert)] 'toggle-truncate-lines)
; (toggle-truncate-lines)
))
(define-key global-map [(control kp-prior)] 'shrink-window)
(define-key global-map [(control kp-next)]
'(lambda () (interactive) (shrink-window -1)))
(define-key global-map [(meta kp-prior)]
'(lambda () (interactive) (set-frame-height (selected-frame) (- (frame-height) 1))))
(define-key global-map [(meta kp-next)]
'(lambda () (interactive) (set-frame-height (selected-frame) (+ (frame-height) 1))))
(define-key global-map [(control meta kp-prior)]
'(lambda () (interactive) (set-frame-width (selected-frame) (- (frame-width) 1))))
(define-key global-map [(control meta kp-next)]
'(lambda () (interactive) (set-frame-width (selected-frame) (+ (frame-width) 1))))
(if (eq z-emacs-type 'xemacs);; XEmacs
(progn
(define-key global-map [(control meta kp-up)]
'(lambda () (interactive)
(set-frame-position (selected-frame)
(frame-property (selected-frame) 'left)
(- (frame-property (selected-frame) 'top) 5))))
(define-key global-map [(control meta kp-down)]
'(lambda () (interactive)
(set-frame-position (selected-frame)
(frame-property (selected-frame) 'left)
(+ (frame-property (selected-frame) 'top) 5))))
(define-key global-map [(control meta kp-left)]
'(lambda () (interactive)
(set-frame-position (selected-frame)
(- (frame-property (selected-frame) 'left) 5)
(frame-property (selected-frame) 'top))))
(define-key global-map [(control meta kp-right)]
'(lambda () (interactive)
(set-frame-position (selected-frame)
(+ (frame-property (selected-frame) 'left) 5)
(frame-property (selected-frame) 'top))))
)
(progn
(define-key global-map [(control meta kp-up)]
'(lambda () (interactive)
(set-frame-position (selected-frame)
(frame-parameter (selected-frame) 'left)
(- (frame-parameter (selected-frame) 'top) 5))))
(define-key global-map [(control meta kp-down)]
'(lambda () (interactive)
(set-frame-position (selected-frame)
(frame-parameter (selected-frame) 'left)
(+ (frame-parameter (selected-frame) 'top) 5))))
(define-key global-map [(control meta kp-left)]
'(lambda () (interactive)
(set-frame-position (selected-frame)
(- (frame-parameter (selected-frame) 'left) 5)
(frame-parameter (selected-frame) 'top))))
(define-key global-map [(control meta kp-right)]
'(lambda () (interactive)
(set-frame-position (selected-frame)
(+ (frame-parameter (selected-frame) 'left) 5)
(frame-parameter (selected-frame) 'top))))
))
(global-set-key [f11] 'make-frame )
(global-set-key [(control f11)] 'delete-frame )
(global-set-key [f12] 'buffer-menu )
(global-set-key [(control f12)] 'dired )
(global-set-key [(control meta f12)] 'revert-buffer )
(if (eq z-emacs-type 'xemacs) ;; XEmacs
(progn
(global-set-key [(control f10)] 'toggle-menubar)
(global-set-key [(meta f10)] 'toggle-gutter-bar)
(global-set-key [(control meta f10)] 'toggle-modeline)
(toggle-menubar)
;; (customize-set-variable 'gutter-buffers-tab-visible-p nil)
)
(progn
(global-set-key [(control f10)] 'menu-bar-mode )
(menu-bar-mode 0)
))
(define-key esc-map "o" 'dired-other-frame )
(define-key esc-map "n" 'goto-line )
(global-set-key [(control f9)] 'gdb )
(global-set-key [f9] 'compile )
(define-key global-map [(control kp-add)] 'kill-rectangle)
(define-key global-map [(control kp-subtract)] 'delete-rectangle)
(define-key global-map [(control kp-enter)] 'yank-rectangle)
(global-set-key [kp-subtract]
'(lambda () (interactive)
(copy-rectangle-to-register ?r (region-beginning) (region-end) t )))
(global-set-key [kp-add]
'(lambda () (interactive)
(copy-rectangle-to-register ?r (region-beginning) (region-end))))
(global-unset-key [kp-enter])
(global-set-key [kp-enter]
'(lambda () (interactive)
(insert-register ?r)
(let ((col (current-column)))
(forward-line)
(move-to-column col t))))
(global-set-key [(meta kp-enter)]
'(lambda () (interactive)
(insert-register ?r)))
(global-set-key [f4] 'call-last-kbd-macro)
(global-set-key [(control f4)] 'start-kbd-macro )
(global-set-key [(meta f4)] 'end-kbd-macro )
(global-set-key [(shift f4)] 'kbd-macro-query )
(global-set-key [(control meta f4)] 'edit-last-kbd-macro )
;;(global-set-key [(control f4)] 'untabify-buffer)
;;(global-set-key [(meta f4)] 'tabify-buffer)
;;(global-set-key [f5] 'tags-search)
;;(global-set-key [(shift f5)] 'tags-query-replace)
;;(global-set-key [(control f5)] 'list-tags)
;;(global-set-key [(meta f5)] 'tags-apropos)
;;(global-set-key [(control meta f5)] 'visit-tags-table)
;; Hit f9 to force a re-fontify
;;(global-set-key (quote [f9]) (quote font-lock-fontify-buffer))
;;;---(Bookmarks and Session)
(global-set-key [f1] 'bookmark-set )
(global-set-key [f2] ' bookmark-bmenu-list)
(require 'desktop)
(require 'desktop-menu)
(global-set-key [(control f1)]
'(lambda () (interactive)
(and (yes-or-no-p "Save Desktop?")
(desktop-save "~/"))))
(global-set-key [(control f2)] 'desktop-read)
;; add hook save on exit ?
; ;;;_ + desktop
; (load "desktop")
; (load "desktop-save")
; (defcustom initial-desktop-directory "~/"
; "*The directory where the main desktop file is stored."
; :type 'file
; :group 'desktop)
; (setq escreen-data-file
; (expand-file-name ".escreen" initial-desktop-directory))
; (add-hook 'desktop-save-hook 'escreen-save-state)
; (add-hook 'desktop-save-hook 'escreen-save-current-screen-configuration)
; (add-hook 'desktop-save-hook 'session-save-session)
; (add-hook 'desktop-save-hook
; (function
; (lambda ()
; (if (fboundp 'eshell-save-some-history)
; (eshell-save-some-history)))))
; (add-hook 'desktop-save-hook
; (function
; (lambda ()
; (if (fboundp 'eshell-save-some-last-dir)
; (eshell-save-some-last-dir)))))
; (defun setup-desktop ()
; "Setup Emacs by reading from a set of persistent state files."
; (add-hook
; 'eshell-first-time-mode-hook
; (function
; (lambda ()
; (remove-hook 'kill-emacs-hook 'eshell-save-some-history)
; (remove-hook 'kill-emacs-hook 'eshell-save-some-last-dir))))
; (let ((default-directory initial-desktop-directory))
; (desktop-load-default)
; (desktop-read))
; (if (file-readable-p escreen-data-file)
; (escreen-restore-state escreen-data-file))
; (add-hook 'kill-emacs-hook
; (function
; (lambda ()
; (let ((buf (get-buffer "*Process List*")))
; (when (and buf (buffer-live-p buf))
; (if (get-buffer-window buf)
; (delete-window (get-buffer-window buf)))
; (kill-buffer buf))))))
; (add-hook 'kill-emacs-hook 'kill-encrypted-buffers)
; (run-with-idle-timer (* 60 5) t 'desktop-kill)
; (run-with-idle-timer (* 60 30) t 'desktop-kill))
; (if (and (file-exists-p (concat initial-desktop-directory
; desktop-basefilename))
; (null noninteractive))
; (add-hook 'after-init-hook 'setup-desktop))
; ;;;_ + escreen
; (setq escreen-prefix-char [(control backspace)])
; (load "escreen")
; (escreen-install)
; (add-hook 'escreen-goto-screen-hook
; (function
; (lambda ()
; (if (fboundp 'eshell-refresh-windows)
; (eshell-refresh-windows)))))
(global-set-key [(meta control f1)]
'(lambda () (interactive)
(point-to-register 'p)))
(global-set-key [(meta control f2)]
'(lambda () (interactive)
(jump-to-register 'p)))
(global-set-key [(control space)]
'(lambda () (interactive)
(set-mark-command nil)
(zmacs-deactivate-region)
))
(global-set-key [(control return)]
'(lambda () (interactive)
(set-mark-command t)
))
(global-set-key [(meta return)] 'ffap-other-frame)
(global-set-key [(control meta return)] 'pop-global-mark )
(if (eq z-emacs-type 'xemacs) ;; XEmacs
(progn
(bookmark-load bookmark-default-file)
)
(progn
))
(global-set-key [f5] 'isearch-forward-regexp )
(global-set-key [(control f5)] 'make-search-dialog )
(global-set-key [f3] 'isearch-repeat-forward )
(global-set-key [(control f3)] 'isearch-repeat-backward )
(global-set-key [f6] 'query-replace )
(global-set-key [(control f6)] 'query-replace-regexp )
(global-set-key [f7] 'occur )
(global-set-key [(control f7)] 'grep )
(global-set-key [(meta f7)] 'compare-windows )
(global-set-key [(control meta f7)] 'ediff )
(global-set-key [f8] 'speedbar )
;;(define-key speedbar-key-map [button1] 'dframe-click)
;; ---( meta f )--------------------------------------------------------------
(global-unset-key [(meta f)])
(define-prefix-command 'z-meta-f-prefix)
(defvar z-meta-f-map (symbol-function 'z-meta-f-prefix))
(define-key global-map [(meta f)] 'z-meta-f-prefix)
(define-key z-meta-f-map [s] 'save-buffer)
(define-key z-meta-f-map [(meta s)] 'save-buffer)
(define-key z-meta-f-map [v] '(lambda ()
(interactive) (save-some-buffers t)) )
(define-key z-meta-f-map [(meta v)] '(lambda ()
(interactive) (save-some-buffers t)) )
(define-key bookmark-map [return] 'bookmark-bmenu-select)
;; ---( Mouse )---------------------------------------------------------------
;; Paste at point NOT at cursor
;(setq mouse-yank-at-point 't)
;; ---( Themes )----------------------------------------------------------------
;;(require 'color-theme)
(require 'color-theme-zcoll)
(global-unset-key [kp-divide])
(global-unset-key [(control kp-divide)])
(global-unset-key [(control /)])
(define-key global-map [kp-divide] 'color-theme-select)
(define-key global-map [(control kp-divide)] 'color-theme-select)
(define-key global-map [(control /)] 'color-theme-select)
;(global-set-key '(control kp-divide) 'color-theme-select )
;(global-set-key '(control divide) 'color-theme-select )
;;(set-face-background 'zmacs-region "DarkGreen")
;;(set-face-foreground 'zmacs-region "white")
;(setq default-frame-alist
; '(
; (top . 10)
; (left . 10)
; (width . 80)
; (height . 45)))
(if (eq z-emacs-type 'xemacs) ;; XEmacs
(progn
(setq color-theme-is-global t)
)
(progn
(setq color-theme-is-global nil)
))
;; ---( Extra Color )---------------------------------------------------------
(if (eq z-emacs-type 'xemacs) ;; XEmacs
(progn
(set-face-background 'zmacs-region "Green")
(set-face-foreground 'zmacs-region "Black")
)
(progn
))
;; ---( Custom Fonts )---------------------------------------------------------
(require 'ergo-font)
(ergo-font-default-binding)
;; ----------------------------------------------------------------------------
;; ---( OS Dependent )---------------------------------------------------------
;; ----------------------------------------------------------------------------
(if (eq z-emacs-type 'xemacs)
(cond ;;--- XEmacs ---------------------------------------------------
((eq system-type 'windows-nt) ;; WinNT
(cond
(t
(progn
(custom-set-faces
'(default ((t (:size "9pt" :family "Lucida Sans Typewriter"))) t))
(setq default-frame-plist
'(
(width . 90)
(height . 55)
(background-color . "#041e4b")
(background-mode . dark)
(foreground-color . "cornsilk")
(cursor-color . "red")
)
)
(setq initial-frame-plist
'(
(top . 30)
(left . 450)
(width . 90)
(height . 65)
; (background-color . "#041e4b")
; (background-mode . dark)
; (foreground-color . "cornsilk")
; (cursor-color . "red")
)
)
(setq color-theme-is-global t)
;; (color-theme-z-ryerson) ;; default
;; (setq color-theme-is-global nil)
(color-theme-z-gnome2) ;; inital
)
)))
((eq system-type 'gnu/linux);; GNU-Linux
(cond
((string= (getenv "DISPLAY") ":0.0")
(progn
)
)
(t
(progn
)
)))
((eq system-type 'usg-unix-v);; Sun Solaris
(cond
((string= (getenv "DISPLAY") ":0.0")
(progn
(setq delete-key-deletes-forward t)
(setq initial-frame-plist '(top 25 left 400 width 85 height 53))
(setq default-frame-plist '(width 80 height 50))
(custom-set-faces
'(default ((t (:size "15pt" :family "Clean"))) t))
(color-theme-z-billw)
)
)
(t
(progn
(setq delete-key-deletes-forward t)
(setq default-frame-plist '(width 90 height 45))
(custom-set-faces
'(default ((t (:size "13pt" :family "Clean"))) t))
(color-theme-z-billw)
)
)))
)
(cond ;;--- FSF-Emacs ---------------------------------------------------
((eq system-type 'windows-nt) ;; WinNT
(cond
(t
(progn
(setq default-frame-alist
'(
(top . 70)
; (left . 40)
(width . 85)
(height . 40)
(background-color . "#303010")
(background-mode . dark)
(foreground-color . "cornsilk")
(border-color . "black")
(cursor-color . "white")
(mouse-color . "black")
;; (font . "-*-Andale Mono-normal-r-*-*-11-*-*-*-c-*-iso8859-1")
;; (font . "-*-Lucida Sans Typewriter-normal-r-*-*-11-*-*-*-c-*-iso8859-1")
(font . "-*-Lucida Sans Unicode-normal-r-*-*-12-*-*-*-c-*-iso8859-1")
)
)
(setq color-theme-is-global t)
(color-theme-z-gnome3) ;; default
;; (color-theme-z-billw) ;; initial
(setq color-theme-is-global nil)
;; (color-theme-z-billw) ;; initial
(color-theme-z-gnome3-d) ;; default
(setq initial-frame-alist
(append
'(
(top . 30)
(left . 350)
(width . 85)
(height . 29)
;; (height . 49)
;; (background-color . "#1A4F15" )
;; (foreground-color . "#CDE7CD" )
;; (cursor-color . "red")
;; (border-color . "blue")
(background-color . "#203030")
;; (foreground-color . "#00D0D0")
(foreground-color . "#CDE7CD" )
(cursor-color . "red")
(border-color . "white")
;; (border-color . "#00007F")
;; (font . "-*-Raize-normal-r-normal-normal-16-120-96-96-c-90-iso8859-15")
;; (font . "-*-SimSun-normal-r-*-*-16-*-*-*-c-*-iso8859-1")
;; (font . "-*-r_ansi-normal-r-*-*-16-*-*-*-c-*-iso8859-1")
(font . "-*-Need Glasses ?-normal-r-*-*-18-*-*-*-c-*-iso8859-1")
;; (font . "-*-r_ansi-normal-r-*-*-14-*-*-*-c-*-iso8859-1")
;; (font . "-*-Andale Mono-normal-r-*-*-14-*-*-*-c-*-iso8859-1")
;; (font . "-*-Letter Gothic 12 Pitch BT-normal-r-*-*-15-*-*-*-c-*-iso8859-1")
)
initial-frame-alist ))
)
)))
((eq system-type 'gnu/linux);; GNU-Linux
(cond
((string= (getenv "DISPLAY") ":0.0")
(progn
)
)
(t
(progn
(setq default-frame-alist
'(
; (top . 45)
; (left . 40)
; (width . 80)
; (height . 40)
(background-color . "#002035")
(background-mode . dark)
(foreground-color . "cornsilk")
(border-color . "black")
(cursor-color . "white")
(mouse-color . "black")
(font . "-misc-screen-medium-r-normal-*-*-120-*-*-c-*-iso8859-7")
)
)
(setq color-theme-is-global t)
(color-theme-z-ryerson) ;; default
;; #ifdef COLOR
;; *customization: -color
;; #endif
;;
;; !!emacs*Foreground: Wheat
;; !!emacs*Background: Gray10
;; !!emacs*Foreground: Wheat
;; !!emacs*Background: DarkSlateGray
;; !!emacs*Foreground: Ivory3
;; !!emacs*Background: MidnightBlue
;; !!emacs*Foreground: DarkSeaGreen3
;; !!emacs*Background: Gray13
;; !!emacs*Foreground: PowderBlue
;; !!emacs*Background: Gray10
;; !!emacs*reverseVideo: on
;; emacs*pointerColor: Orchid
;; emacs*cursorColor: Orchid
;; emacs*bitmapIcon: on
;; !!emacs*font: -misc-screen-medium-R-normal--14-120-78-78-C-90-ISO8859-7
;; !!emacs*font: -greek-smserif-medium-r-semicondensed-*-*-160-*-*-m-*-iso8859-7
;; !!emacs*font: 10x20
;; !!emacs*font: -Sun-Serif-Medium-R-Normal-Serif-16-160-72-72-M-90-ISO8859-1
;; !!emacs*font: -adobe-courier-bold-r-normal--*-140-*-*-m-*-iso8859-1
;; emacs*font: -B&H-LucidaTypewriter-Medium-R-Normal-Sans-12-120-75-75-M-70-ISO8859-1
;; emacs*menubar.font:-adobe-helvetica-bold-r-normal-*-*-120-*-*-*-*-*-*
;; emacs.geometry: 80x25
; (setq initial-frame-alist
; (append
; '(
; (width . 90)
; (height . 52)
; ( background-color . "#103045" )
; ( foreground-color . "LightCyan1" )
; ( cursor-color . "Yellow")
; ( background-mode . dark)
; (font . "-b&h-lucidatypewriter-medium-r-normal-*-*-120-*-*-m-*-iso8859-9")
; )
; initial-frame-alist ))
; (setq initial-frame-alist
; '(
; (width . 90)
; (height . 52)
; ( background-color . "#103045" )
; ( foreground-color . "LightCyan1" )
; ( cursor-color . "Yellow")
; ( background-mode . dark)
; (font . "-b&h-lucidatypewriter-medium-r-normal-*-*-120-*-*-m-*-iso8859-9")
; ))
(setq initial-frame-alist
'(
; (top . 25)
; (left . 200)
; (width . 80)
; (height . 25)
( background-color . "#103045" )
( foreground-color . "LightCyan1" )
( cursor-color . "Yellow")
( background-mode . dark)
(font . "-b&h-lucidatypewriter-medium-r-normal-*-*-120-*-*-m-*-iso8859-9")
))
(setq color-theme-is-global nil)
(color-theme-z-jonadabian) ;; initial
)
)))
((eq system-type 'usg-unix-v);; Sun Solaris
(cond
((string= (getenv "DISPLAY") ":0.0")
(progn
)
)
(t
(progn
)
)))
)
)
;; ---( Backup Files )--------------------------------------------------------
(setq backup-by-copying t)
;(require 'backups)
;(move-backups t)
(setq backup-directory "~/.backups")
(or (directory-files backup-directory)
(make-directory backup-directory))
(require 'backup-dir)
(setq bkup-backup-directory-info
`(
(t ,(concat backup-directory "/") full-path prepend-name search-upward)
; (t ,(concat backup-directory "/"))
))
(if (eq z-emacs-type 'xemacs)
(cond ;;--- XEmacs ---------------------------------------------------
((eq system-type 'windows-nt) ;; WinNT
(cond
(t
(progn
(setq backup-by-copying nil)
)
)))
((eq system-type 'gnu/linux);; GNU-Linux
(cond
(t
(progn
(setq backup-by-copying t)
)
)))
((eq system-type 'usg-unix-v);; Sun Solaris
(cond
(t
(progn
(setq backup-by-copying t)
)
)))
)
(cond ;;--- FSF-Emacs ---------------------------------------------------
((eq system-type 'windows-nt) ;; WinNT
(cond
(t
(progn
(setq backup-by-copying nil)
)
)))
((eq system-type 'gnu/linux);; GNU-Linux
(cond
(t
(progn
(setq backup-by-copying t)
)
)))
((eq system-type 'usg-unix-v);; Sun Solaris
(cond
(t
(progn
(setq backup-by-copying t)
)
)))
)
)
;; ----------------------------------------------------------------------------
;; ---( GenericAddons )---------------------------------------------------------
;; ----------------------------------------------------------------------------
;; ---( AutoRevert )---------------------------------------------------------
(autoload 'auto-revert-mode "autorevert" nil t)
(autoload 'turn-on-auto-revert-mode "autorevert" nil nil)
(autoload 'global-auto-revert-mode "autorevert" nil t)
;; (global-auto-revert-mode 1) ;--- enable autorevert -------------
(add-hook 'java-mode-hook 'turn-on-auto-revert-mode)
(setq auto-revert-interval 5) ;--- check interval: 5 sec. -------------
;; ----------------------------------------------------------------------------
;; ---( Miscellanea )---------------------------------------------------------
;; ----------------------------------------------------------------------------
;; ---( Unclass )---------------------------------------------------------
(setq initial-scratch-message nil)
;;;_ + mule
;;(set-terminal-coding-system 'iso-latin-1)
;; Enable uppercase or lowercase conversions
(put 'downcase-region 'disabled nil)
(put 'upcase-region 'disabled nil)
;; Disable narrowing, whatever the hell it is.
;;(put 'narrow-to-region 'disabled nil)
;; Scrolling
;;(setq scroll-step 1)
;; Tell emacs where my diary file is
(setq diary-file "~/diary/.diary")
;; Replace "yes or no" with y or n
(defun yes-or-no-p (arg)
"An alias for y-or-n-p, because I hate having to type 'yes' or 'no'."
(y-or-n-p arg))
;; Tell emacs where central backup directory is, and turn it on
;; (setq backup-directory "~/backups")
;; (require 'backups)
;; (move-backups t)
;; =====================================================================
;; PRINT CONFIGURATION
;; =====================================================================
;; This requires GhostScript which is available at this URL:
;; http://www.cs.wisc.edu/~ghost/aladdin To print, just hit C-cp. This
;; produces a file called printme.ps in the spool directory. Open this
;; in GhostView and print from there. This works even on
;; non-postscript printers.
;; --- (setq ps-printer-name "~/spool/printme.ps")
;; --- (define-key global-map "\C-cp" 'ps-print-buffer)
;; Printing. For Windows, using w32-print. For Unix, using built-in.
(defun z-print-setup () ;
(if
;; Win32
(eq system-type 'windows-nt)
(progn
(add-to-list 'load-path (concat my-site-lisp "/w32-print-1.3"))
(setq-default
;; General
w32-print-use-faces nil ; disable color, etc
w32-print-zap-spool-file t ; delete temp file
w32-print-paper-type 'letter
w32-print-with-line-numbers t
w32-print-enable-keymappings nil ; disable keyboard shortcuts
;; Postscript
w32-print-ps-preview nil ; disable print preview
w32-print-ps-destination (if (eq my-location 'home)
"lpt1"
"//romsvr1/hplj4050")
w32-print-ps-text-font-size 14.0
w32-print-psnup-path (concat my-site-lisp "/w32-print-1.3/bin")
w32-print-psnup-margin "0in"
w32-print-psnup-enable t
;; Ghostscript
w32-print-gs-destination (if (eq my-location 'home)
"lpt1"
"//romsvr1/hplj4050")
w32-print-gs-device (if (eq my-location 'home) "deskjet" "ljet4")
w32-print-gs-device-dpi (if (eq my-location 'home) '300 '600)
w32-print-gs-version "6.01"
w32-print-gs-path (concat my-gnu-home "/ghostscript/gs6.01/bin")
w32-print-gs-view-path (concat my-gnu-home "/ghostscript/gsview")
;; Plain old printer
w32-print-lpr-destination (if (eq my-location 'home)
"lpt1"
"//romsvr1/hplj4050")
w32-print-lpr-path (concat my-site-lisp "/w32-print-1.2/bin")
)
;; Let's use it
(load "w32-print")
)
;; Unix system. Nothing to do since I can't print from unix.
()
)
)
;; =====================================================================
;; GREP/DIFF RELATED SETTINGS
;; =====================================================================
;; Ignore case by default:
;;(setq igrep-options "-i")
;;(setq grep-command "egrep -n")
;; To search subdirectories by default:
;;(setq igrep-find t)
;;(setq ediff-ignore-similar-regions t)
;;(setq ediff-use-last-dir t)
;;(setq ediff-diff-options " -b ")
;; =====================================================================
;; CODE RELATED SETTINGS
;; =====================================================================
(if (eq z-emacs-type 'xemacs) ;; XEmacs
(progn
(require 'paren)
;; Turn on paren mode - this highlight matching under point
;; (show-paren-mode 1)
;;(setq paren-mode nil)
;;(setq paren-mode 'blink-paren)
(setq paren-mode 'paren)
;;(setq paren-mode 'sexp)
(paren-activate)
)
(progn
(show-paren-mode)
))
;; Make the % key jump to the matching {}[]() if on another, like VI
;;(global-set-key "%" 'match-paren)
(defun match-paren (arg)
"Go to the matching parenthesis if on parenthesis otherwise insert %."
(interactive "p")
(cond ((looking-at "\\s\(") (forward-list 1) (backward-char 1))
((looking-at "\\s\)") (forward-char 1) (backward-list 1))
(t (self-insert-command (or arg 1)))))
;; =====================================================================
;; =====================================================================
;; Saving Emacs Sessions - Useful when you have a bunch of source
;; files open and you don't want to go and manually open each one,
;; especially when they are in various directories. Page 377 of the
;; GNU Emacs Manual says: "The first time you save the state of the
;; Emacs session, you must do it manually, with the command M-x
;; desktop-save. Once you have dome that, exiting Emacs will save the
;; state again -- not only the present Emacs session, but also
;; subsequent sessions. You can also save the state at any time,
;; without exiting Emacs, by typing M-x desktop-save again.
;; =====================================================================
;;(load "desktop")
;;(desktop-load-default)
;;(desktop-read)
;; =====================================================================
;; =====================================================================
;; USEFUL NOTES AND OTHER STUFF
;; =====================================================================
;; How to record and display a keyboard macro
;; Just open a buffer and type C-x ( Then start typing in your macro.
;; Once you are finished defining your macro type C-x ) Then type M-x
;; name-last-kbd-macro. This will allow you to call your macro
;; whatever you want. Next open up your .emacs file and position your
;; cursor where you want the code for the macro to appear. Type M-x
;; insert-kbd-macro and type in the name. The code will automatically
;; be generated.
;; =====================================================================
;; =====================================================================
;; Use shell-command-on-region M-| to send region to external
;; process. If you use a prefix argument , C-u M-| this will replace
;; the region with the output of the external process. Good for
;; sending something to stdin and reading from stdout.
;; =====================================================================
;; =====================================================================
;; To copy to named register: C-x r s a - Where a is the name of the
;; register ( a - z ) to save the text to.
;; To paste from named register: C-x r i a - Where a is the name of
;; the register ( a - z ) to paste the saved text from.
;; To remember current point: C-x r spc a - Where a is the name of the
;; register to save point to.
;; To jump to named point: C-x r j a - Where a is the name of the
;; register holding desired point to jump to
;; =====================================================================
;; SOME GOOD URL's FOR EMACS SOURCES
;; =====================================================================
;; http://www.splode.com/users/friedman/software/emacs-lisp/
;; http://www.anc.ed.ac.uk/~stephen/emacs/ell.html
;; =====================================================================
;; =====================================================================
;;----------------------------------------------------------------------------
;; Set up hooks for often-used major modes
;;----------------------------------------------------------------------------
;;;////////////////////////////////////////////////////////////////
;;; IDL (RSI)
;;;////////////////////////////////////////////////////////////////
;;(setq speedbar-supported-extension-expressions
;; (cons ".pro" speedbar-supported-extension-expressions))
(setq auto-mode-alist (cons '("\\.pro\\'" . idlwave-mode)
(cons '("\\.pro\\'" . idlwave-mode) auto-mode-alist)))
(add-hook 'idlwave-mode-hook
(function
(lambda ()
(local-unset-key [(meta backspace)])
)))
;;;////////////////////////////////////////////////////////////////
;;; R
;;;////////////////////////////////////////////////////////////////
(if (eq z-emacs-type 'fsf_emacs) ;; Emacs
(if (eq z-location 'home)
(progn
(setq load-path (cons "h:/usr/share/R/ess/ess-5.1.19/lisp" load-path))
(require 'ess-site)
)))
;;;////////////////////////////////////////////////////////////////
;;; AUCTEX
;;;////////////////////////////////////////////////////////////////
(if (eq z-emacs-type 'fsf_emacs) ;; Emacs
(if (eq z-location 'home)
(progn
(require 'tex-site)
;;(setq-default TeX-master nil) ;-- Query for master file
;;(setq-default TeX-master "Thesis") ;-- Fixed Master File
;;(setq-default TeX-master "Slider") ;-- Fixed Master File
;;(setq-default TeX-master "Abstract") ;-- Fixed Master File
(setq Tex-parse-self t) ; Parse on Load
(setq Tex-auto-save t) ; Parse on save
(setq outline-minor-mode-prefix "\C-o") ; Outline minor Prefix
(add-hook 'LaTeX-mode-hook 'outline-minor-mode)
)))
;;;////////////////////////////////////////////////////////////////
;;; PSGML/xslide
;;;////////////////////////////////////////////////////////////////
(if (eq z-emacs-type 'fsf_emacs) ;; Emacs
(if (eq z-location 'home)
(progn
(setq load-path (cons "h:/usr/share/emacs-21.1/site-lisp/psgml-1.2.5" load-path))
(autoload 'sgml-mode "psgml" "Major mode to edit SGML files." t)
(autoload 'xml-mode "psgml" "Major mode to edit XML files." t)
(setq load-path (cons "h:/usr/share/emacs-21.1/site-lisp/xslide" load-path))
(autoload 'xsl-mode "xslide" "Major mode for XSL stylesheets." t)
(setq load-path (cons "h:/usr/share/emacs-21.1/site-lisp/xslt-process-2.1/lisp" load-path))
(autoload 'xslt-process-mode "xslt-process" "Emacs XSLT processing" t)
(autoload 'xslt-process-install-docbook "xslt-process"
"Register the DocBook package with XSLT-process" t)
(add-hook 'sgml-mode-hook 'xslt-process-mode)
(add-hook 'xml-mode-hook 'xslt-process-mode)
(add-hook 'xsl-mode-hook 'xslt-process-mode)
(defadvice xml-mode (after run-xml-mode-hooks act)
"Invoke `xml-mode-hook' hooks in the XML mode."
(run-hooks 'xml-mode-hook))
(autoload 'css-mode "css-mode")
(setq auto-mode-alist
(cons '("\\.css\\'" . css-mode) auto-mode-alist))
;; Turn on font lock when in XSL mode
(add-hook 'xsl-mode-hook
'turn-on-font-lock)
;; Set up file-extension/mode associations.
;; Note that I use xml-mode for html... that's because i'm writing
;; XHTML and I want my html to conform to XML.
(setq auto-mode-alist
(append '(
("\\.sgml" . sgml-mode)
("\\.idd" . sgml-mode)
("\\.ide" . sgml-mode)
("\\.htm" . sgml-mode)
("\\.html" . sgml-mode)
("\\.xhtml" . xml-mode)
("\\.xml" . xml-mode)
("\\.xsd" . xml-mode)
("\\.xul" . xml-mode)
("\\.rdf" . xml-mode)
;; ("\\.xsl" . xml-mode)
;; ("\\.fo" . xml-mode)
("\\.fo" . xsl-mode)
("\\.xsl" . xsl-mode)
)
auto-mode-alist
)
)
;; Set up and enable syntax coloring.
;; Create faces to assign markup categories.
(make-face 'sgml-doctype-face)
(make-face 'sgml-pi-face)
(make-face 'sgml-comment-face)
(make-face 'sgml-sgml-face)
(make-face 'sgml-start-tag-face)
(make-face 'sgml-end-tag-face)
(make-face 'sgml-entity-face)
;; Assign attributes to faces. Background of white assumed.
(set-face-foreground 'sgml-doctype-face "blue1")
(set-face-foreground 'sgml-sgml-face "cyan1")
(set-face-foreground 'sgml-pi-face "magenta")
(set-face-foreground 'sgml-comment-face "purple")
(set-face-foreground 'sgml-start-tag-face "Red")
(set-face-foreground 'sgml-end-tag-face "Red")
(set-face-foreground 'sgml-entity-face "Blue")
;; Assign faces to markup categories.
(setq sgml-markup-faces
'((doctype . sgml-doctype-face)
(pi . sgml-pi-face)
(comment . sgml-comment-face)
(sgml . sgml-sgml-face)
(comment . sgml-comment-face)
(start-tag . sgml-start-tag-face)
(end-tag . sgml-end-tag-face)
(entity . sgml-entity-face)))
;; PSGML - enable face settings
(setq sgml-set-face t)
;; Auto-activate parsing the DTD when a document is loaded.
;; If this isn't enabled, syntax coloring won't take affect until
;; you manually invoke "DTD->Parse DTD"
(setq sgml-auto-activate-dtd t)
;; Set up my "DTD CATALOG".
;; defined in "/usr/local/lib/sgml/CATALOG.cat"
;; (add-to-list 'sgml-catalog-files "/usr/local/lib/sgml/HTML4/HTML4.cat")
;; (add-to-list 'sgml-catalog-files "/usr/local/lib/sgml/XHTML1/xhtml1.soc")
;; Set up my "DTD->Insert DTD" menu.
(setq sgml-custom-dtd '
(
( "DITA concept"
"<?xml version=\"1.0\"?>\n<!DOCTYPE concept SYSTEM \"concept.dtd\">" )
( "DITA task"
"<?xml version=\"1.0\"?>\n<!DOCTYPE task SYSTEM \"task.dtd\">" )
( "DITA reftopic"
"<?xml version=\"1.0\"?>\n<!DOCTYPE reftopic SYSTEM \"reftopic.dtd\">" )
( "DITA APIdesc"
"<?xml version=\"1.0\"?>\n<!DOCTYPE APIdesc SYSTEM \"apidesc.dtd\">" )
( "DITA topic"
"<?xml version=\"1.0\"?>\n<!DOCTYPE topic SYSTEM \"ditabase.dtd\">" )
( "HOD Script"
"<?xml version=\"1.0\"?>\n<!DOCTYPE HASCRIPT SYSTEM \"HAScript.dtd\">" )
( "XHTML 1.0 Strict"
"<?xml version=\"1.0\"?>\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"xhtml1-strict.dtd\">" )
( "XHTML 1.0 Transitional"
"<?xml version=\"1.0\"?>\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"xhtml1-transitional.dtd\">" )
( "XHTML 1.0 Frameset"
"<?xml version=\"1.0\"?>\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Frameset//EN\" \"xhtml1-frameset.dtd\">" )
( "HTML 4.01 Transitional"
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">" )
( "HTML 4.01 Strict"
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\">" )
( "HTML 4.01 Frameset"
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Frameset//EN\">" )
( "IBMIDDoc"
"<!DOCTYPE ibmiddoc PUBLIC \"+//ISBN 0-933186::IBM//DTD IBMIDDoc//EN\" [\n]>")
( "DOCBOOK XML 4.1.2"
"<?xml version=\"1.0\"?>\n<!DOCTYPE book PUBLIC \"-//OASIS//DTD DocBook XML V4.1.2//EN\" \"http://www.oasis-open.org/docbook/xml/4.0/docbookx.dtd\" [\n]>")
)
)
;; From Lennart Staflin - re-enabling launch of browser (from original HTML mode)
(defun my-psgml-hook ()
(local-set-key "\C-c\C-b" 'browse-url-of-buffer)
)
(add-hook 'sgml-mode-hook 'my-psgml-hook)
;; Set up Validation support
;; First, for sgml-mode, if you always use the same declaration, uncomment
;; the following line and set the path to your declaration. If you use
;; more than one SGML declaration, leave it unset and use OpenSP as your
;; validator and include DTDDECL entries in your catalog files.
;; (setq sgml-declaration "<path to your SGML declaration>")
(setq sgml-validate-command "onsgmls -s %s %s")
;; For xml-mode, override the default validate command by providing a
;; mode-hook and setting the SGML declaration to the one
;; provided with either SP or OpenSP.
(defun my-psgml-xml-hook ()
(setq sgml-validate-command "onsgmls -s %s %s")
;; (setq sgml-declaration "d:/SP/pubtext/xml.dcl")
(setq sgml-declaration "d:/OpenSP/pubtext/xml.dcl")
)
(add-hook 'xml-mode-hook 'my-psgml-xml-hook)
)))
;;;////////////////////////////////////////////////////////////////
;;; gnuserv
;;;////////////////////////////////////////////////////////////////
(if (eq z-emacs-type 'fsf_emacs) ;; Emacs
(if (eq system-type 'windows-nt)
(if (eq z-location 'home)
(progn
(require 'gnuserv)
(gnuserv-start)
(setq gnuserv-frame (selected-frame)
)))))
;;;////////////////////////////////////////////////////////////////
;;; COBOL
;;;////////////////////////////////////////////////////////////////
(if
(eq z-location 'work)
(progn
(autoload 'cobol-mode "cobol")
(setq auto-mode-alist
(cons '("\\.cbl\\'" . cobol-mode)
(cons '("\\.cpy\\'" . cobol-mode)
auto-mode-alist )))
(add-hook 'cobol-mode-hook 'ffap-bindings)
))
;;(setq speedbar-supported-extension-expressions
;; (append '(".cbl" ".cpy") speedbar-supported-extension-expressions))
;;;////////////////////////////////////////////////////////////////
;;; DELPHI
;;;////////////////////////////////////////////////////////////////
(autoload 'delphi-mode "delphi")
(setq auto-mode-alist
(cons '("\\.\\(pas\\|dpr\\|dpk\\)$" . delphi-mode) auto-mode-alist))
;;(setq speedbar-supported-extension-expressions
;; (append '(".pas" ".dpr" ".dpk") speedbar-supported-extension-expressions))
(add-hook 'delphi-mode-hook 'turn-on-font-lock)
;;;////////////////////////////////////////////////////////////////
;;; C/C++
;;;////////////////////////////////////////////////////////////////
;;;_ + cc-mode
(defconst borland-c-style
'((c-backslash-column . 72)
(c-basic-offset . 4)
(c-block-comment-prefix . "")
(c-hanging-semi&comma-criteria . nil)
(c-comment-continuation-stars . "")
(c-comment-only-line-offset . 0)
(c-electric-pound-behavior . (alignleft))
(c-cleanup-list
. (defun-close-semi list-close-comma scope-operator))
(c-hanging-colons-alist
. ((inher-intro)
(member-init-intro before)
(case-label after)
(label after)
(access-key after)))
(c-hanging-braces-alist
. ((brace-list-open before)
(brace-list-close before)
(substatement-open before)
(substatement-case-open before)
(else-clause before)
(defun-open before)
(defun-close before)
(class-open before)
(class-close before)
(block-open after)
(block-close before)
(inline-open after)
(inline-close before)))
(c-offsets-alist
. ((string . c-lineup-dont-change)
(c . c-lineup-C-comments)
(defun-open . 0)
(defun-close . 0)
(defun-block-intro . +)
(class-open . 0)
(class-close . 0)
(inline-open . +)
(inline-close . 0)
(func-decl-cont . +)
(knr-argdecl-intro . +)
(knr-argdecl . 0)
(topmost-intro . 0)
(topmost-intro-cont . 0)
(member-init-intro . +)
(member-init-cont . 0)
(inher-intro . +)
(inher-cont . c-lineup-multi-inher)
(block-open . 0)
(block-close . 0)
(brace-list-open . 0)
(brace-list-close . 0)
(brace-list-intro . +)
(brace-list-entry . 0)
(brace-entry-open . 0)
(statement-block-intro . +)
(statement-case-intro . +)
(statement-case-open . 0)
(substatement . +)
(case-label . 0)
(access-label . -)
(label . 2)
(do-while-closure . 0)
(else-clause . 0)
(catch-clause . 0)
(comment-intro . c-lineup-comment)
(arglist-intro . +)
(arglist-cont . 0)
(arglist-close . +)
(stream-op . c-lineup-streamop)
(inclass . +)
(cpp-macro . -1000)
(cpp-macro-cont . c-lineup-dont-change)
(friend . 0)
(objc-method-intro . -1000)
(objc-method-args-cont . c-lineup-ObjC-method-args)
(objc-method-call-cont . c-lineup-ObjC-method-call)
(extern-lang-open . 0)
(extern-lang-close . 0)
(inextern-lang . +)
(namespace-open . 0)
(namespace-close . 0)
(innamespace . +)
; (template-args-cont . c-lineup-template-args)
; (inlambda . c-lineup-inexpr-block)
; (lambda-intro-cont . +)
; (inexpr-statement . 0)
; (inexpr-class . +)
(arglist-cont-nonempty . c-lineup-arglist)
(substatement-open . 0)
(statement . c-lineup-runin-statements)
(statement-cont . c-lineup-runin-statements))))
"Borland C programming style")
(defun my-c-mode-common-hook ()
(c-add-style "borland" borland-c-style t)
(c-set-style "borland")
(turn-on-auto-fill)
(set (make-local-variable 'fill-nobreak-predicate)
(function
(lambda nil
(not (eq (get-text-property (point) (quote face))
(quote font-lock-comment-face))))))
(setq c-indent-comments-syntactically-p t
tab-width 8 indent-tabs-mode t) ; allow the use of tabs
(define-key c-mode-base-map "\C-m" 'newline-and-indent)
(set (make-local-variable 'comment-start) "// ")
(set (make-local-variable 'comment-end) ""))
;;(add-hook 'c-mode-common-hook 'my-c-mode-common-hook)