--- ciao-1.10p8/emacs-mode/ciao.el.body 2004-12-07 01:31:42.000000000 +0100 +++ ciao-1.10p8-wc/emacs-mode/ciao.el.body 2008-03-13 01:49:50.000000000 +0100 @@ -2578,7 +2578,12 @@ "Help menu for Ciao/Prolog mode.") -;; MH Tool bar stuff (21.1 onwards) +(defun ciao-setup-tool-bar-helper (command icon in-map &optional from-map &rest props) + (if (fboundp 'tool-bar-local-item-from-menu) + (tool-bar-local-item-from-menu command icon in-map from-map props) + (tool-bar-add-item-from-menu command icon from-map props))) + +;; MH Tool bar stuff (21.1 onwards, but not 22.1) ;; Made a function, so that it is done when maps and menus are active. ;; - This one is for adding to the default toolbar (but modifies ;; others :-( ). @@ -2601,76 +2606,78 @@ ;; General stuff (tool-bar-add-item "icons/ciaopl" 'find-file 'find-file :help "Open or create a (Prolog) file") - (tool-bar-add-item-from-menu 'dired "open") - (tool-bar-add-item-from-menu 'kill-this-buffer "close") - (tool-bar-add-item-from-menu 'save-buffer "save" nil + ;; use the icon "diropen" for Emacs 22, which is consistent with the standard + ;; toolbar, while use "open" for Emacs 21, where "diropen" does not exists + (ciao-setup-tool-bar-helper 'dired (if (>= emacs-major-version 22) "diropen" "open") tool-bar-map) + (ciao-setup-tool-bar-helper 'kill-this-buffer "close" tool-bar-map) + (ciao-setup-tool-bar-helper 'save-buffer "save" tool-bar-map nil :visible '(or buffer-file-name (not (eq 'special (get major-mode 'mode-class))))) - (tool-bar-add-item-from-menu 'write-file "saveas" nil + (ciao-setup-tool-bar-helper 'write-file "saveas" tool-bar-map nil :visible '(or buffer-file-name (not (eq 'special (get major-mode 'mode-class))))) - (tool-bar-add-item-from-menu 'undo "undo" nil + (ciao-setup-tool-bar-helper 'undo "undo" tool-bar-map nil :visible '(not (eq 'special (get major-mode 'mode-class)))) - (tool-bar-add-item-from-menu 'kill-region "cut" nil + (ciao-setup-tool-bar-helper 'kill-region "cut" tool-bar-map nil :visible '(not (eq 'special (get major-mode 'mode-class)))) - (tool-bar-add-item-from-menu 'menu-bar-kill-ring-save "copy") - (tool-bar-add-item-from-menu 'yank "paste" nil + (ciao-setup-tool-bar-helper 'menu-bar-kill-ring-save "copy" tool-bar-map) + (ciao-setup-tool-bar-helper 'yank "paste" tool-bar-map nil :visible '(not (eq 'special (get major-mode 'mode-class)))) - (tool-bar-add-item-from-menu - 'nonincremental-search-forward "search") - (tool-bar-add-item-from-menu 'print-buffer "print") + (ciao-setup-tool-bar-helper + 'nonincremental-search-forward "search" tool-bar-map) + (ciao-setup-tool-bar-helper 'print-buffer "print" tool-bar-map) ;; Ciao-specific stuff - (tool-bar-add-item-from-menu - 'run-ciao-toplevel "icons/ciao" ciao-mode-map) - (tool-bar-add-item-from-menu - 'ciao-fontify-buffer "icons/ciaorehighlight" ciao-mode-map) - (tool-bar-add-item-from-menu - 'ciao-load-buffer "icons/ciaoload" ciao-mode-map) - (tool-bar-add-item-from-menu - 'ciao-find-last-run-errors "jump_to" ciao-mode-map) - (tool-bar-add-item-from-menu - 'ciao-unmark-last-run-errors "icons/clear" ciao-mode-map) - (tool-bar-add-item-from-menu - 'ciao-check-buffer-syntax "icons/ciaoasr" ciao-mode-map) - (tool-bar-add-item-from-menu - 'ciao-check-types-modes "icons/checkassertions" ciao-mode-map) - (tool-bar-add-item-from-menu + (ciao-setup-tool-bar-helper + 'run-ciao-toplevel "icons/ciao" tool-bar-map ciao-mode-map) + (ciao-setup-tool-bar-helper + 'ciao-fontify-buffer "icons/ciaorehighlight" tool-bar-map ciao-mode-map) + (ciao-setup-tool-bar-helper + 'ciao-load-buffer "icons/ciaoload" tool-bar-map ciao-mode-map) + (ciao-setup-tool-bar-helper + 'ciao-find-last-run-errors "jump_to" tool-bar-map ciao-mode-map) + (ciao-setup-tool-bar-helper + 'ciao-unmark-last-run-errors "icons/clear" tool-bar-map ciao-mode-map) + (ciao-setup-tool-bar-helper + 'ciao-check-buffer-syntax "icons/ciaoasr" tool-bar-map ciao-mode-map) + (ciao-setup-tool-bar-helper + 'ciao-check-types-modes "icons/checkassertions" tool-bar-map ciao-mode-map) + (ciao-setup-tool-bar-helper 'ciao-preprocess-buffer-menu - "icons/ciaopreprocask" ciao-mode-map) - (tool-bar-add-item-from-menu - 'ciao-preprocess-buffer "icons/ciaopreproc" ciao-mode-map) - (tool-bar-add-item-from-menu + "icons/ciaopreprocask" tool-bar-map ciao-mode-map) + (ciao-setup-tool-bar-helper + 'ciao-preprocess-buffer "icons/ciaopreproc" tool-bar-map ciao-mode-map) + (ciao-setup-tool-bar-helper 'ciao-preprocess-buffer-and-show-output - "icons/ciaopreprocsee" ciao-mode-map) - (tool-bar-add-item-from-menu - 'ciao-debug-buffer "icons/ciaodebug" ciao-mode-map) - (tool-bar-add-item-from-menu - 'ciao-gen-buffer-doc "icons/lpdoc" ciao-mode-map) - (tool-bar-add-item-from-menu - 'ciao-start-viewer "icons/lpdocview" ciao-mode-map) - (tool-bar-add-item-from-menu - 'ciao-make-exec "icons/ciaoexeout" ciao-mode-map) - (tool-bar-add-item-from-menu - 'ciao-insert-script-header "icons/ciaoscrt" ciao-mode-map) -;; (tool-bar-add-item-from-menu -;; 'ciao-make-po "icons/ciaopo" ciao-mode-map) -;; (tool-bar-add-item-from-menu -;; 'ciao-make-exec "icons/ciaoitf" ciao-mode-map) + "icons/ciaopreprocsee" tool-bar-map ciao-mode-map) + (ciao-setup-tool-bar-helper + 'ciao-debug-buffer "icons/ciaodebug" tool-bar-map ciao-mode-map) + (ciao-setup-tool-bar-helper + 'ciao-gen-buffer-doc "icons/lpdoc" tool-bar-map ciao-mode-map) + (ciao-setup-tool-bar-helper + 'ciao-start-viewer "icons/lpdocview" tool-bar-map ciao-mode-map) + (ciao-setup-tool-bar-helper + 'ciao-make-exec "icons/ciaoexeout" tool-bar-map ciao-mode-map) + (ciao-setup-tool-bar-helper + 'ciao-insert-script-header "icons/ciaoscrt" tool-bar-map ciao-mode-map) +;; (ciao-setup-tool-bar-helper +;; 'ciao-make-po "icons/ciaopo" tool-bar-map ciao-mode-map) +;; (ciao-setup-tool-bar-helper +;; 'ciao-make-exec "icons/ciaoitf" tool-bar-map ciao-mode-map) ;; (tool-bar-add-item "ciaomanuals" (tool-bar-add-item "icons/manuals" 'ciao-goto-ciao-manuals 'ciao-goto-ciao-manuals :help "Go to area containing the Ciao system manuals") - (tool-bar-add-item-from-menu - 'ciao-help-on-current-symbol "icons/wordhelp" ciao-mode-map) - (tool-bar-add-item-from-menu - 'ciao-complete-current-symbol "icons/complete" ciao-mode-map) + (ciao-setup-tool-bar-helper + 'ciao-help-on-current-symbol "icons/wordhelp" tool-bar-map ciao-mode-map) + (ciao-setup-tool-bar-helper + 'ciao-complete-current-symbol "icons/complete" tool-bar-map ciao-mode-map) (tool-bar-add-item "preferences" (lambda () (interactive) @@ -2782,52 +2789,52 @@ (tool-bar-add-item "icons/ciaopl" 'find-file 'find-file :help "Open or create a (Prolog) file") ;; General entries - (tool-bar-add-item-from-menu 'dired "open") - (tool-bar-add-item-from-menu 'kill-this-buffer "close") -;; (tool-bar-add-item-from-menu 'save-buffer "save" nil + (ciao-setup-tool-bar-helper 'dired (if (>= emacs-major-version 22) "diropen" "open") tool-bar-map) + (ciao-setup-tool-bar-helper 'kill-this-buffer "close" tool-bar-map) +;; (ciao-setup-tool-bar-helper 'save-buffer "save" tool-bar-map nil ;; :visible '(or buffer-file-name ;; (not (eq 'special ;; (get major-mode ;; 'mode-class))))) - (tool-bar-add-item-from-menu 'write-file "saveas" nil + (ciao-setup-tool-bar-helper 'write-file "saveas" tool-bar-map nil :visible '(or buffer-file-name (not (eq 'special (get major-mode 'mode-class))))) - (tool-bar-add-item-from-menu 'undo "undo" nil + (ciao-setup-tool-bar-helper 'undo "undo" tool-bar-map nil :visible '(not (eq 'special (get major-mode 'mode-class)))) - (tool-bar-add-item-from-menu 'kill-region "cut" nil + (ciao-setup-tool-bar-helper 'kill-region "cut" tool-bar-map nil :visible '(not (eq 'special (get major-mode 'mode-class)))) - (tool-bar-add-item-from-menu 'menu-bar-kill-ring-save "copy") - (tool-bar-add-item-from-menu 'yank "paste" nil + (ciao-setup-tool-bar-helper 'menu-bar-kill-ring-save "copy" tool-bar-map) + (ciao-setup-tool-bar-helper 'yank "paste" tool-bar-map nil :visible '(not (eq 'special (get major-mode 'mode-class)))) - (tool-bar-add-item-from-menu - 'nonincremental-search-forward "search") -;; (tool-bar-add-item-from-menu 'print-buffer "print") + (ciao-setup-tool-bar-helper + 'nonincremental-search-forward "search" tool-bar-map) +;; (ciao-setup-tool-bar-helper 'print-buffer "print"tool-bar-map ) ;; Ciao-specific entries - (tool-bar-add-item-from-menu - 'run-ciao-toplevel "icons/ciao" ciao-mode-map) - (tool-bar-add-item-from-menu - 'ciao-fontify-buffer "icons/ciaorehighlight" ciao-mode-map) - (tool-bar-add-item-from-menu - 'ciao-help-on-current-symbol "icons/wordhelp" ciao-mode-map) - (tool-bar-add-item-from-menu - 'ciao-complete-current-symbol "icons/complete" ciao-mode-map) -;; (tool-bar-add-item-from-menu -;; 'ciao-load-buffer "icons/ciaoload" ciao-mode-map) - (tool-bar-add-item-from-menu - 'ciao-find-last-run-errors "jump_to" ciao-mode-map) - (tool-bar-add-item-from-menu - 'ciao-unmark-last-run-errors "icons/clear" ciao-mode-map) - (tool-bar-add-item-from-menu - 'ciao-set-query "icons/ciaostorequery" ciao-mode-map) - (tool-bar-add-item-from-menu - 'ciao-load-query "icons/ciaoprompt" ciao-mode-map) - (tool-bar-add-item-from-menu - 'ciao-clear-query "icons/ciaoclearquery" ciao-mode-map) + (ciao-setup-tool-bar-helper + 'run-ciao-toplevel "icons/ciao" tool-bar-map ciao-mode-map) + (ciao-setup-tool-bar-helper + 'ciao-fontify-buffer "icons/ciaorehighlight" tool-bar-map ciao-mode-map) + (ciao-setup-tool-bar-helper + 'ciao-help-on-current-symbol "icons/wordhelp" tool-bar-map ciao-mode-map) + (ciao-setup-tool-bar-helper + 'ciao-complete-current-symbol "icons/complete" tool-bar-map ciao-mode-map) +;; (ciao-setup-tool-bar-helper +;; 'ciao-load-buffer "icons/ciaoload" tool-bar-map ciao-mode-map) + (ciao-setup-tool-bar-helper + 'ciao-find-last-run-errors "jump_to" tool-bar-map ciao-mode-map) + (ciao-setup-tool-bar-helper + 'ciao-unmark-last-run-errors "icons/clear" tool-bar-map ciao-mode-map) + (ciao-setup-tool-bar-helper + 'ciao-set-query "icons/ciaostorequery" tool-bar-map ciao-mode-map) + (ciao-setup-tool-bar-helper + 'ciao-load-query "icons/ciaoprompt" tool-bar-map ciao-mode-map) + (ciao-setup-tool-bar-helper + 'ciao-clear-query "icons/ciaoclearquery" tool-bar-map ciao-mode-map) (tool-bar-add-item "icons/stop" 'comint-interrupt-subjob 'comint-interrupt-subjob :help "Interrupt toplevel") @@ -2837,22 +2844,22 @@ (tool-bar-add-item "right_arrow" 'comint-next-input 'comint-next-input :help "Insert later inputs at prompt") -;; (tool-bar-add-item-from-menu -;; 'ciao-check-buffer-syntax "icons/ciaoasr" ciao-mode-map) -;; (tool-bar-add-item-from-menu -;; 'ciao-debug-buffer "icons/ciaodebug" ciao-mode-map) -;; (tool-bar-add-item-from-menu -;; 'ciao-gen-buffer-doc "icons/new" ciao-mode-map) -;; (tool-bar-add-item-from-menu -;; 'ciao-start-viewer "icons/lpdocview" ciao-mode-map) -;; (tool-bar-add-item-from-menu -;; 'ciao-make-exec "icons/ciaoexeout" ciao-mode-map) -;; (tool-bar-add-item-from-menu -;; 'ciao-insert-script-header "icons/ciaoscrt" ciao-mode-map) -;; (tool-bar-add-item-from-menu -;; 'ciao-make-po "icons/ciaopo" ciao-mode-map) -;; (tool-bar-add-item-from-menu -;; 'ciao-make-exec "icons/ciaoitf" ciao-mode-map) +;; (ciao-setup-tool-bar-helper +;; 'ciao-check-buffer-syntax "icons/ciaoasr" tool-bar-map ciao-mode-map) +;; (ciao-setup-tool-bar-helper +;; 'ciao-debug-buffer "icons/ciaodebug" tool-bar-map ciao-mode-map) +;; (ciao-setup-tool-bar-helper +;; 'ciao-gen-buffer-doc "icons/new" tool-bar-map ciao-mode-map) +;; (ciao-setup-tool-bar-helper +;; 'ciao-start-viewer "icons/lpdocview" tool-bar-map ciao-mode-map) +;; (ciao-setup-tool-bar-helper +;; 'ciao-make-exec "icons/ciaoexeout" tool-bar-map ciao-mode-map) +;; (ciao-setup-tool-bar-helper +;; 'ciao-insert-script-header "icons/ciaoscrt" tool-bar-map ciao-mode-map) +;; (ciao-setup-tool-bar-helper +;; 'ciao-make-po "icons/ciaopo" tool-bar-map ciao-mode-map) +;; (ciao-setup-tool-bar-helper +;; 'ciao-make-exec "icons/ciaoitf" tool-bar-map ciao-mode-map) ;; (tool-bar-add-item "icons/ciaomanuals" (tool-bar-add-item "icons/manuals" 'ciao-goto-ciao-manuals 'ciao-goto-ciao-manuals @@ -3843,7 +3850,7 @@ '(ciao-mode-font-lock-keywords t nil nil ;; Use all buffer refontifying... - 'beginning-of-buffer + beginning-of-buffer (font-lock-mark-block-function . ;; Alternative: mark-paragraph ;; Use whole buffer for refontifying... @@ -3968,7 +3975,7 @@ '(ciao-inferior-font-lock-keywords t nil nil ;; Use all buffer refontifying... - 'beginning-of-buffer + beginning-of-buffer (font-lock-mark-block-function . ;; Alternative: mark-paragraph ;; Use whole buffer for refontifying...