diff options
Diffstat (limited to 'emacs.d/nxhtml/nxhtml/nxhtml-menu.el')
-rw-r--r-- | emacs.d/nxhtml/nxhtml/nxhtml-menu.el | 1658 |
1 files changed, 0 insertions, 1658 deletions
diff --git a/emacs.d/nxhtml/nxhtml/nxhtml-menu.el b/emacs.d/nxhtml/nxhtml/nxhtml-menu.el deleted file mode 100644 index 09c7f4b..0000000 --- a/emacs.d/nxhtml/nxhtml/nxhtml-menu.el +++ /dev/null @@ -1,1658 +0,0 @@ -;;; nxhtml-menu.el --- Defines menus for nXhtml -;; -;; Author: Lennart Borgman (lennart O borgman A gmail O com) -;; Created: Sat Apr 21 2007 -;; Moved version to autostart.el. -;; Last-Updated: 2010-01-04 Mon -;; URL: -;; Keywords: -;; Compatibility: -;; -;; Features that might be required by this library: -;; -;; None -;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; -;;; Commentary: -;; -;; Menus for nXhtml to be used in different major modes. -;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; -;;; Change log: -;; -;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; -;; This program is free software; you can redistribute it and/or -;; modify it under the terms of the GNU General Public License as -;; published by the Free Software Foundation; either version 2, or -;; (at your option) any later version. -;; -;; This program is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -;; General Public License for more details. -;; -;; You should have received a copy of the GNU General Public License -;; along with this program; see the file COPYING. If not, write to -;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth -;; Floor, Boston, MA 02110-1301, USA. -;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; -;;; Code: - -(eval-when-compile (require 'cl)) -(eval-when-compile (require 'cus-edit)) -(eval-when-compile (require 'dired)) -(eval-when-compile (require 'gimpedit nil t)) -(eval-when-compile (require 'html-site nil t)) -(eval-when-compile (when (fboundp 'nxml-mode) (require 'nxhtml-mode nil t))) -(eval-when-compile (require 'css-color nil t)) -(eval-when-compile (require 'flymake)) -;;(eval-when-compile (require 'flymake-php)) -(eval-when-compile (require 'flymake-js nil t)) -(eval-when-compile (require 'mumamo nil t)) -(eval-when-compile (require 'nxhtml-base)) -(eval-when-compile (require 'udev-ecb nil t)) -;;(eval-when-compile (require 'udev-cedet)) -(eval-when-compile (require 'udev-rinari nil t)) - -(defun nxhtml-nxhtml-in-buffer () - (or (derived-mode-p 'nxhtml-mode) - (when (and (boundp 'mumamo-multi-major-mode) - mumamo-multi-major-mode) - (let ((major-mode (mumamo-main-major-mode))) - (derived-mode-p 'nxhtml-mode))))) - -(defun nxhtml-nxml-in-buffer () - (or (derived-mode-p 'nxml-mode) - (when (and (boundp 'mumamo-multi-major-mode) - mumamo-multi-major-mode) - (let ((major-mode (mumamo-main-major-mode))) - (derived-mode-p 'nxml-mode))))) - -(defun nxhtml-html-in-buffer () - (or (derived-mode-p 'html-mode) - (when (and (boundp 'mumamo-multi-major-mode) - mumamo-multi-major-mode) - (let ((major-mode (mumamo-main-major-mode))) - (derived-mode-p 'html-mode))) - (nxhtml-nxhtml-in-buffer))) - -(defun nxhtml-nxml-html-in-buffer () - (or (derived-mode-p 'html-mode) - (when (and (boundp 'mumamo-multi-major-mode) - mumamo-multi-major-mode) - (let ((major-mode (mumamo-main-major-mode))) - (derived-mode-p 'html-mode))) - (nxhtml-nxml-in-buffer))) - -(defun buffer-or-dired-file-name () - "Return buffer file name or file pointed to in dired." - (if (derived-mode-p 'dired-mode) - (dired-get-file-for-visit) - buffer-file-name)) - -(defun nxhtml-this-file-can-have-toc (&optional file) - (unless file - (setq file (buffer-or-dired-file-name))) - (and (nxhtml-buffer-possibly-local-viewable file) - (html-site-current-merge-dir) - (html-site-current-ensure-file-in-site file))) - -(defun nxhtml-buffer-possibly-local-viewable (&optional file) - (unless file - (setq file (buffer-or-dired-file-name))) - (or (and file - (member (file-name-extension file) - '("html" "htm" "gif" "png"))))) - -(defun nxhtml-buffer-possibly-remote-viewable () - ;; Fix-me - (let* ((fmt "nxhtml-buffer-possibly-remote-viewable.dgffv: %s") - (file (or buffer-file-name - (and (derived-mode-p 'dired-mode) - (condition-case err - (dired-get-file-for-visit) - (error - (message fmt (error-message-string err)) - nil)))))) - (and (featurep 'html-upl) - file - (member (downcase (file-name-extension file)) - '("html" "htm" "gif" "png" "pl" "php"))))) - -;; (nxhtml-insert-menu-dynamically 'temp) -(defun nxhtml-insert-menu-dynamically (real-binding) - (or (and (symbolp real-binding) - (boundp real-binding) - (symbol-value real-binding)) - (let ((map (make-sparse-keymap "Not loaded yet"))) - (define-key map [dummy] - (list 'menu-item "Not loaded yet" 'ignore)) - map) - ;; (easy-menu-filter-return - ;; (easy-menu-create-menu - ;; "Not ready" - ;; '(["Not Loaded Yet" ignore t]))) - )) - -(defun nxhtml-menu-image-file () - (or (get-char-property (point) 'image-file) - buffer-file-name)) - -(defun nxhtml-gimp-can-edit () - (or (not (featurep 'gimp)) - (gimpedit-can-edit (nxhtml-menu-image-file)))) - -;;;###autoload -(defun nxhtml-edit-with-gimp () - "Edit with GIMP buffer or file at point." - (interactive) - (gimpedit-edit-file (nxhtml-menu-image-file))) - -;;;###autoload -(defun nxhtml-browse-file (file) - "View file in web browser." - (interactive (list - (or (buffer-or-dired-file-name) - (read-file-name "File: ")))) - (let* ((buf (if (buffer-file-name) - (current-buffer) - (find-buffer-visiting file))) - (use-temp (and (buffer-file-name) - (or (and (boundp 'nxhtml-current-validation-header) - nxhtml-current-validation-header) - (buffer-modified-p) - (not buffer-file-name) - (not (file-exists-p buffer-file-name))))) - (file-to-browse file)) - (when use-temp - (setq file-to-browse (nxhtml-save-browseable-temp-file nil nil use-temp))) - ;; Fix-me: Workaround for Emacs bug on w32 - ;; http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=4015 - (if (eq system-type 'windows-nt) - (w32-shell-execute nil (concat "file:///" file-to-browse) nil 1) - (browse-url-of-file file-to-browse)) - )) - -;;;###autoload -(defun nxhtml-browse-region () - "View region in web browser." - (interactive) - (unless mark-active - (error "The region is not active")) - (browse-url (nxhtml-save-browseable-temp-file (region-beginning) (region-end)))) - -;;(defvar nxhtml-browseable-buffer-name "*nXhtml Browsing Buffer*") -(defvar nxhtml-browseable-buffer-file "~/.temp-nxhtml-browse.htm") -;; Fix-me: Handle base href here! -(defun nxhtml-save-browseable-temp-file (start end &optional doit-anyway) - "Return a temporary file for viewing in web browser." - ;; When using this either region should be active or there should be - ;; a validation header or both. - (or doit-anyway - (and start end) ;mark-active - (and (boundp 'nxhtml-validation-header-mode) - nxhtml-validation-header-mode - nxhtml-current-validation-header) - (error "Neither region nor validation header")) - (save-excursion - (let ((curbuf (current-buffer)) - (view-buffer (find-file-noselect nxhtml-browseable-buffer-file)) - header - content) - ;; Get header and content - (save-restriction - (widen) - (setq header - (if nxhtml-validation-header-mode - (let* ((key nxhtml-current-validation-header) - (rec (unless (listp key) - (assoc key nxhtml-validation-headers))) - (header (cdr rec))) - header) - (if (and doit-anyway (not start)) - "" - (goto-char (point-min)) - (save-match-data - (let ((body (re-search-forward "<body[^>]*>"))) - (if body - (buffer-substring-no-properties (point-min) (match-end 0)) - "")))))) - (setq content - (if start - (buffer-substring-no-properties start end) - (buffer-substring-no-properties (point-min) (point-max)))) - ) - ;; Switch to view buffer - (set-buffer view-buffer) - ;; (unless buffer-file-name - ;; (set-visited-file-name nxhtml-browseable-buffer-file) - ;; (rename-buffer nxhtml-valhead-view-buffer-name)) - (erase-buffer) - (insert header content) - ;;(when (fboundp 'emacsw32-eol-set) (emacsw32-eol-set nil)) - (nxhtml-mode) - (save-buffer) - ;;(current-buffer) - (kill-buffer view-buffer) - (expand-file-name nxhtml-browseable-buffer-file) - ))) - - - -(defvar nxhtml-menu-mode-menu-map - (let ((map (make-sparse-keymap "nxhtml-menu-mode-menu"))) - - (let ((help-map (make-sparse-keymap))) - (define-key help-map [emacs-Q-nxhtml] - (list 'menu-item "Start 'emacs -Q' and load nXhtml" 'emacs-Q-nxhtml)) - (define-key help-map [nxhtmltest-run] - (list 'menu-item "Run nXhtml Tests in Current Emacs" 'nxhtmltest-run)) - (define-key help-map [nxhtmltest-run-Q] - (list 'menu-item "Run nXhtml Tests in a Fresh Emacs" 'nxhtmltest-run-Q)) - (define-key help-map [nxhtml-report-bug] - (list 'menu-item "Report a Bug in nXhtml ..." 'nxhtml-report-bug)) - (define-key help-map [nxhtml-help-separator2] (list 'menu-item "--")) - (define-key help-map [nxhtml-byte-compile-nxhtml] - (list 'menu-item "Byte Compile nXhtml" 'nxhtmlmaint-start-byte-compilation)) - ;; Downloads - (let ((download-map (make-sparse-keymap))) - (define-key help-map [nxhtml-downloading] - (list 'menu-item "Download nXhtml Updates" download-map)) - (define-key download-map [nxhtml-web-download-log] - (list 'menu-item "View Download Log" 'web-vcs-log-edit)) - (define-key download-map [nxhtml-view-dl-log-separator] - (list 'menu-item "--" nil)) - (define-key download-map [nxhtml-web-auto-download] - (list 'menu-item "Auto download from Devel Sources" - 'nxhtml-autoload-web - :button '(:toggle . (and (boundp 'nxhtml-autoload-web) - nxhtml-autoload-web)))) - (define-key download-map [nxhtml-web-download] - (list 'menu-item "Update nXhtml (from devel sources)" 'nxhtml-update-existing-files)) - ) - (define-key help-map [nxhtml-features-check] - (list 'menu-item "Check Optional Features" 'nxhtml-features-check)) - (define-key help-map [nxhtml-list-multi-modes] - (list 'menu-item "List Available Multi Major Modes" 'mumamo-list-defined-multi-major-modes)) - (define-key help-map [nxhtml-customize] - (list 'menu-item "Customize nXhtml ..." 'nxhtml-customize)) -;;; (define-key help-map [nxhtml-quick-customize] -;;; (list 'menu-item "Quick Customize nXhtml ..." 'nxhtml-quick-customize)) - (define-key help-map [nxhtml-help-separator3] (list 'menu-item "--")) -;;; (define-key help-map [nxhtml-help] -;;; (list 'menu-item "nXhtml Help" 'nxhtml-help)) - (define-key help-map [nxhtml-tutorials] - (list 'menu-item "nXhtml Tutorials" 'nxhtml-tutorials)) - (define-key help-map [nxhtml-overview] - (list 'menu-item (concat "nXhtml Version " - (if (boundp 'nxhtml-menu:version) - nxhtml-menu:version - "(unknown)") - " Overview") - 'nxhtml-overview)) - (define-key help-map [nxhtml-welcome] - (list 'menu-item "Welcome to nXhtml" 'nxhtml-welcome)) - (define-key map [nxhtml-help-map] - (list 'menu-item "nXhtml Help and Setup" help-map)) - (define-key map [nxhtml-info-separator] (list 'menu-item "--")) - ) - - - - - (let ((tools-map (make-sparse-keymap))) - (define-key map [nxhtml-tools-map] - (list 'menu-item "Tools" tools-map)) - (define-key tools-map [nxhtml-last-resort] - (list 'menu-item "Last Resort" 'n-back-game)) - (define-key tools-map [nxhtml-pause] - (list 'menu-item "Life Reminder" 'pause-start-in-new-emacs)) - (define-key tools-map [nxhtml-last-resort-separator] - (list 'menu-item "--" nil)) - (define-key tools-map [nxhtml-viper-tut] - (list 'menu-item "Viper Try-Out Tutorial" - 'viper-tutorial)) - (define-key tools-map [nxhtml-viper-separator] - (list 'menu-item "--" nil)) - ;;(define-key tools-map [nxhtml-frame-win-separator] (list 'menu-item "--" nil)) - (define-key tools-map [nxhtml-resize-windows] - (list 'menu-item "Resize Windows" - 'resize-windows)) - - - - (define-key tools-map [nxhtml-ecb-separator] - (list 'menu-item "--" nil)) - - - (let ((ecb-map (make-sparse-keymap))) - (define-key tools-map [nxhtml-ecb-map] - (list 'menu-item "ECB" ecb-map)) - (define-key ecb-map [nxhtml-custom-important-ecb] - (list 'menu-item "Customize important ECB things" - (lambda () - "Customize group `ecb-most-important'." - (interactive) - (customize-group-other-window 'ecb-most-important)) - :enable '(featurep 'ecb))) - (define-key ecb-map [nxhtml-ecb-mode] - (list 'menu-item "ECB Minor Mode" - 'ecb-minor-mode - :button '(:toggle . (and (boundp 'ecb-minor-mode) - ecb-minor-mode)) - :enable '(boundp 'ecb-minor-mode))) - (define-key ecb-map [nxhtml-ecb-show-help] - (list 'menu-item "ECB Help" - 'ecb-show-help - :enable '(fboundp 'ecb-show-help))) - (define-key ecb-map [nxhtml-ecb-custom-separator] - (list 'menu-item "--" nil)) - (define-key ecb-map [nxhtml-custom-ecb] - (list 'menu-item "Customize ECB dev startup from nXhtml" - 'udev-ecb-customize-startup)) - (define-key ecb-map [nxhtml-update-ecb] - (list 'menu-item "Fetch/update ECB dev sources" - 'udev-ecb-update)) - (define-key ecb-map [nxhtml-ecb-home-separator] - (list 'menu-item "--" nil)) - (define-key ecb-map [nxhtml-rinari-homepage] - (list 'menu-item "ECB Home Page" - (lambda () - "Open ECB home page in your web browser." - (interactive) - (browse-url "http://ecb.sourceforge.net/")))) - ) - - - ;; (let ((cedet-map (make-sparse-keymap))) - ;; (define-key tools-map [nxhtml-cedet-map] - ;; (list 'menu-item "CEDET" cedet-map)) - ;; (define-key cedet-map [nxhtml-custom-cedet] - ;; (list 'menu-item "Customize CEDET dev startup from nXhtml" - ;; 'udev-cedet-customize-startup)) - ;; (define-key cedet-map [nxhtml-cedet-utest] - ;; (list 'menu-item "Run CEDET unit tests" - ;; 'udev-cedet-utest)) - ;; (define-key cedet-map [nxhtml-update-cedet] - ;; (list 'menu-item "Fetch/update and install CEDET dev sources" - ;; 'udev-cedet-update)) - ;; (define-key cedet-map [nxhtml-cedet-home-separator] - ;; (list 'menu-item "--" nil)) - ;; (define-key cedet-map [nxhtml-rinari-homepage] - ;; (list 'menu-item "CEDET Home Page" - ;; (lambda () - ;; "Open CEDET home page in your web browser." - ;; (interactive) - ;; (browse-url "http://cedet.sourceforge.net/")))) - ;; ) - - - (let ((rinari-map (make-sparse-keymap))) - (define-key tools-map [nxhtml-rinari-map] - (list 'menu-item "Rinari" rinari-map)) - (define-key rinari-map [nxhtml-custom-rinari] - (list 'menu-item "Customize Rinari startup from nXhtml" - (lambda () - "Customize Rinari dev nXhtml startup options." - (interactive) - (customize-group-other-window 'udev-rinari)))) - (define-key rinari-map [nxhtml-update-rinari] - (list 'menu-item "Fetch/update Rinari dev sources" - 'udev-rinari-update)) - (define-key rinari-map [nxhtml-rinari-home-separator] - (list 'menu-item "--" nil)) - (define-key rinari-map [nxhtml-rinari-homepage] - (list 'menu-item "Rinari Home Page" - (lambda () - "Open Rinari home page in your web browser." - (interactive) - (browse-url "http://rubyforge.org/projects/rinari/")))) - ) - (let ((mozrepl-map (make-sparse-keymap))) - (define-key tools-map [nxhtml-mozrepl-map] - (list 'menu-item "MozRepl - control Firefox" mozrepl-map)) - - (let ((mozrepl-low-map (make-sparse-keymap))) - (define-key mozrepl-map [nxhtml-mozrepl-map] - (list 'menu-item "MozRepl Basic Functions" mozrepl-low-map)) - (define-key mozrepl-low-map [nxhtml-mozrepl-run-mozilla] - (list 'menu-item "Display/Start MozRepl Process" 'run-mozilla - :enable '(fboundp 'moz-minor-mode))) - (define-key mozrepl-low-map [nxhtml-mozrepl-separator1] - (list 'menu-item "--" nil)) - (define-key mozrepl-low-map [nxhtml-mozrepl-save-and-send] - (list 'menu-item "Save Buffer and Send it" 'moz-save-buffer-and-send - :enable '(or (not (boundp 'mumamo-multi-major-mode)) - (not mumamo-multi-major-mode)))) - (define-key mozrepl-low-map [nxhtml-mozrepl-send-defun-and-go] - (list 'menu-item "Send Current Function, Go to MozRepl" - 'moz-send-defun-and-go - :enable '(and (boundp 'moz-minor-mode) moz-minor-mode))) - (define-key mozrepl-low-map [nxhtml-mozrepl-send-defun] - (list 'menu-item "Send Current Function" 'moz-send-defun - :enable '(and (boundp 'moz-minor-mode) moz-minor-mode))) - (define-key mozrepl-low-map [nxhtml-mozrepl-send-region] - (list 'menu-item "Send the Region" 'moz-send-region - :enable '(and mark-active - (boundp 'moz-minor-mode) moz-minor-mode)))) - - (define-key mozrepl-map [nxhtml-mozrepl-separator2] - (list 'menu-item "--" nil)) - (define-key mozrepl-map [nxhtml-mozrepl-refresh] - (list 'menu-item "Refresh Firefox on Save" 'mozadd-refresh-edited-on-save-mode - :button '(:toggle . (and (boundp 'mozadd-refresh-edited-on-save-mode) - mozadd-refresh-edited-on-save-mode)))) - (define-key mozrepl-map [nxhtml-mozrepl-mirror] - (list 'menu-item "Mirror Buffer in Firefox" 'mozadd-mirror-mode - :button '(:toggle . (and (boundp 'mozadd-mirror-mode) - mozadd-mirror-mode)))) - (define-key mozrepl-map [nxhtml-mozrepl-separator3] - (list 'menu-item "--" nil)) - (define-key mozrepl-map [nxhtml-mozrepl-home-page] - (list 'menu-item "MozLab/MozRepl Home Page" - (lambda () - "Open MozLab/MozRepl home page in your web browser." - (interactive) - (browse-url "http://hyperstruct.net/projects/mozlab")))) - ) - - (define-key tools-map [nxhtml-ediff-url] - (list 'menu-item "Compare download file" 'ediff-url)) - (define-key tools-map [nxhtml-investigate-elisp] - (list 'menu-item "Investigate Elisp File" 'web-vcs-investigate-elisp-file)) - - (define-key tools-map [nxhtml-tidy-separator] - (list 'menu-item "--" nil)) - (define-key tools-map [nxhtml-flymake] - (list 'menu-item "Flymake Mode" 'flymake-mode - :button '(:toggle . (and (boundp 'flymake-mode) - flymake-mode)) - :enable '(and buffer-file-name - (require 'flymake) - (fboundp 'flymake-get-init-function) - (flymake-get-init-function buffer-file-name) - ))) - (let ((flyspell-map (make-sparse-keymap))) - (define-key tools-map [nxhtml-flyspell-map] - (list 'menu-item "Flyspell" flyspell-map)) - (define-key flyspell-map [nxhtml-flyspell-goto-next] - (list 'menu-item "Flyspell Go To Next Error" 'flyspell-goto-next-error - :enable 'flyspell-mode)) - (define-key flyspell-map [nxhtml-flyspell-region] - (list 'menu-item "Flyspell Region" 'flyspell-region - :enable 'flyspell-mode)) - (define-key flyspell-map [nxhtml-flyspell-div-1] - (list 'menu-item "--")) - (define-key flyspell-map [nxhtml-flyspell] - (list 'menu-item "Flyspell Mode" 'flyspell-mode - :button '(:toggle . (and (boundp 'flyspell-mode) - flyspell-mode)))) - ) - (define-key tools-map [nxhtml-flyspell-separator] - (list 'menu-item "--")) - (let ((img-map (make-sparse-keymap))) - (define-key tools-map [nxhtml-img-map] - (list 'menu-item "Images" img-map)) - (define-key img-map [nxhtml-chartg] - (list 'menu-item "Make Chart" 'chartg-make-chart)) - (define-key img-map [nxhtml-chartg-separator] (list 'menu-item "--")) - (define-key img-map [nxhtml-gimp-edit] - (list 'menu-item "Edit with GIMP" 'nxhtml-edit-with-gimp - :enable '(nxhtml-gimp-can-edit))) - (define-key img-map [nxhtml-gimp-separator] (list 'menu-item "--")) - (define-key img-map [nxhtml-inlimg-toggle-display] - (list 'menu-item "Toggle Display of Image" 'inlimg-toggle-display)) - (define-key img-map [nxhtml-inlimg-toggle-slicing] - (list 'menu-item "Toggle Slicing of Image" 'inlimg-toggle-slicing)) - (define-key img-map [nxhtml-inlimg-mode] - (list 'menu-item "Show <img ...> Images" 'inlimg-mode - :button '(:toggle . (and (boundp 'inlimg-mode) - inlimg-mode))))) - (define-key tools-map [nxhtml-img-separator] - (list 'menu-item "--")) - (let ((some-help-map (make-sparse-keymap))) - (define-key tools-map [nxhtml-some-help-map] - (list 'menu-item "Help for Item at Point" some-help-map)) - (define-key some-help-map [nxhtml-css-help] - (list 'menu-item "CSS Help" 'xhtml-help-show-css-ref)) - (define-key some-help-map [nxhtml-tag-help] - (list 'menu-item "XHTML Tag Help" 'nxhtml-short-tag-help))) - - (let ((cssclr-map (make-sparse-keymap))) - (define-key tools-map [nxhtml-css-color] - (list 'menu-item "Color Help" cssclr-map)) - (define-key cssclr-map [nxhtml-css-color-mode] - (list 'menu-item "Css Color Mode" 'css-color-mode - :enable '(and font-lock-mode - ;; (or (not (boundp 'mumamo-multi-major-mode)) - ;; (not mumamo-multi-major-mode)) - ;; (featurep 'css-color) - ) - :button '(:toggle . (and (boundp 'css-color-mode) - css-color-mode)))) - (define-key cssclr-map [nxhtml-css-color-test] - (list 'menu-item "Color Test" 'css-color-test - ;; :enable '(featurep 'css-color) - ))) - - (define-key tools-map [nxhtml-help-separator] - (list 'menu-item "--")) - - - (let ((html-link-map (make-sparse-keymap))) - (define-key tools-map [nxhtml-link-map] - (list 'menu-item "HTML Links" html-link-map - :enable '(nxhtml-html-in-buffer))) - - (define-key html-link-map [nxhtml-chklnk] - (list 'menu-item "Check Links" 'html-chklnk-check-site-links - :enable '(featurep 'html-chklnk))) - - (let ((move-map (make-sparse-keymap))) - (define-key html-link-map [move-map] - (list 'menu-item "Moving Files" move-map)) - (define-key move-map [html-move-buffer-file] - (list 'menu-item "Move Buffer File" 'html-move-buffer-file - :help "Move buffer file and update links" - :enable '(and buffer-file-name - (featurep 'html-move)))) - (define-key html-link-map [move-map-separator] (list 'menu-item "--")) - ) - - - (define-key html-link-map [nxhtml-paste-link] - (list 'menu-item "Paste Saved Relative Link" 'nxhtml-paste-link - :help "Paste link" - :enable '(and (boundp 'nxhtml-saved-link-file) - nxhtml-saved-link-file))) - (define-key html-link-map [nxhtml-paste-link-as-a-tag] - (list 'menu-item "Paste Saved Relative Link as <a href=...>" 'nxhtml-paste-link-as-a-tag - :help "Paste link as <a ...> tag" - :enable '(and (boundp 'nxhtml-saved-link-file) - nxhtml-saved-link-file - (nxhtml-nxml-html-in-buffer)))) - (define-key html-link-map [nxhtml-save-link-to-here] - (list 'menu-item "Save Relative Link to Current File" 'nxhtml-save-link-to-here - :help "Save link info for current file" - :enable 'buffer-file-name)) - ) - - (let ((quick-map (make-sparse-keymap))) - (define-key tools-map [nxhtml-quick-map] - (list 'menu-item "Quick Inserts etc" quick-map - :visible '(or (derived-mode-p 'html-mode) - (nxhtml-nxhtml-in-buffer)))) - (let ((sometoc-map (make-sparse-keymap))) - (let ((toc-map (make-sparse-keymap))) - (define-key sometoc-map [nxhtml-toc-map] - (list 'menu-item "For Site" toc-map - :enable '(featurep 'html-toc))) - (define-key toc-map [nxhtml-html-wtoc] - (list 'menu-item "Merge Pages and TOC" - 'html-wtoc-write-pages-with-toc - :enable '(or (not (featurep 'html-site)) - (html-site-current-page-list)))) - (define-key toc-map [nxthml-html-toc] - (list 'menu-item "With Frames" 'html-toc-menu-map - :filter 'nxhtml-insert-menu-dynamically))) - (define-key sometoc-map [nxhtml-html-pagetoc] - (list 'menu-item "For Page" 'html-pagetoc-menu-map - :enable (boundp 'html-pagetoc-menu-map) - :filter 'nxhtml-insert-menu-dynamically - )) - (define-key quick-map [nxhtml-sometoc-map] - (list 'menu-item "Table of Contents" sometoc-map - :visible '(or (derived-mode-p 'html-mode) - (nxhtml-nxhtml-in-buffer))))) - (define-key quick-map [nxhtml-quick-sep-1] - (list 'menu-item "--")) - (define-key quick-map [nxhtml-spec-chars] - (list 'menu-item "Insert special character" - 'nxml-insert-named-char)) - (define-key quick-map [nxhtml-css-rollover] - (list 'menu-item "Insert CSS Rollover Images" - 'nxhtml-rollover-insert-2v))) - - - (define-key tools-map [nxhtml-html-write-mode] - (list 'menu-item "HTML Write Mode" - 'html-write-mode - :enable '(nxhtml-html-in-buffer) - :button '(:toggle . (and (boundp 'html-write-mode) - html-write-mode)))) - (define-key tools-map [nxhtml-tidy-map] - (list 'menu-item "Tidy XHTML" 'tidy-menu-symbol - ;; Seems like :visible is called before :filter so we - ;; can compute things in :visible. - :filter 'nxhtml-insert-menu-dynamically - :visible '(or (and (or (derived-mode-p 'html-mode) - (nxhtml-nxhtml-in-buffer)) - (fboundp 'tidy-build-menu) (tidy-build-menu)) - t) - :enable '(and (or (derived-mode-p 'html-mode) - (nxhtml-nxhtml-in-buffer)) - (fboundp 'tidy-build-menu) (tidy-build-menu)) - )) - (define-key tools-map [zencoding] - (list 'menu-item "Zen coding for HTML/CSS" 'zencoding-mode - :button '(:toggle . (and (boundp 'zencoding-mode) - zencoding-mode)) - :enable '(nxhtml-html-in-buffer))) - - (let ((where-map (make-sparse-keymap))) - (define-key tools-map [nxml-where] - (list 'menu-item "XML Path" where-map - :enable '(and (fboundp 'nxml-where-mode) - (or (derived-mode-p 'nxml-mode) - (nxhtml-nxhtml-in-buffer))))) - (define-key where-map [nxhtml-nxml-where-cust] - (list 'menu-item "Customize display of XML Path" - (lambda () - "Customize XML path, ie group `nxml-where'." - (interactive) - (customize-group-other-window 'nxml-where)))) - (define-key where-map [where-separator-2] (list 'menu-item "--")) - (define-key where-map [nxml-where-inner] - (list 'menu-item "Show inly inner tag" 'nxml-where-only-inner-toggle - :enable '(boundp 'nxml-where-only-inner) - :button '(:toggle . (and (boundp 'nxml-where-only-inner) - nxml-where-only-inner)))) - (define-key where-map [nxml-where-id] - (list 'menu-item "Show tag ids in path" 'nxml-where-tag+id-toggle - :enable '(boundp 'nxml-where-tag+id) - :button '(:toggle . (and (boundp 'nxml-where-tag+id) - nxml-where-tag+id)))) - (define-key where-map [nxml-where-header] - (list 'menu-item "Show XML path in header" 'nxml-where-header-toggle - :enable '(boundp 'nxml-where-header) - :button '(:toggle . (and (boundp 'nxml-where-header) - 'nxml-where-header)))) - (define-key where-map [nxml-where-marks] - (list 'menu-item "Show XML path marks" 'nxml-where-marks-toggle - :enable '(boundp 'nxml-where-marks) - :button '(:toggle . (and (boundp 'nxml-where-marks) - nxml-where-marks)))) - (define-key where-map [where-separator] (list 'menu-item "--")) - (define-key where-map [nxml-where-global-toggle] - (list 'menu-item "Show XML path" 'nxml-where-global-mode - :button '(:toggle . (and (boundp 'nxml-where-global-mode) - nxml-where-global-mode)))) - (define-key where-map [nxml-where-toggle] - (list 'menu-item "Show XML path in buffer" 'nxml-where-mode - :button '(:toggle . (and (boundp 'nxml-where-mode) - nxml-where-mode)))) - ) - - - (let ((cmpl-map (make-sparse-keymap))) - (define-key tools-map [nxhtml-cmpl-map] - (list 'menu-item "XHTML Completion and Validation" cmpl-map - ;; :enable '(or (derived-mode-p 'nxml-mode) (nxhtml-nxhtml-in-buffer)) - :visible `(not (derived-mode-p 'dired-mode)) - :enable ' (or (derived-mode-p 'nxml-mode) - (nxhtml-nxhtml-in-buffer)) - )) - (let ((val-map (make-sparse-keymap))) - (define-key cmpl-map [nxhtml-cmpl-val-map] - (list 'menu-item "Validation Helpers (for php etc)" val-map - :enable '(nxhtml-nxhtml-in-buffer) - :visible '(nxhtml-nxml-html-in-buffer))) -;;; (define-key val-map [nxhtml-strval-mode] -;;; (list 'menu-item "Allow attr=\"<?php...?>\" etc" -;;; 'nxhtml-strval-mode -;;; :button '(:toggle . nxhtml-strval-mode))) - (define-key val-map [mumamo-alt-php-tags] - (list 'menu-item "Use <?php -> (?php" - 'mumamo-alt-php-tags-mode - :button '(:toggle . (and (boundp 'mumamo-alt-php-tags-mode) - mumamo-alt-php-tags-mode)))) - (define-key val-map [mumamo-alt-tags-separator] (list 'menu-item "--")) - (define-key val-map [nxhtml-toggle-warnings] - (list 'menu-item "Hide Validation Errors" - 'nxhtml-toggle-visible-warnings - :button '(:toggle . (not (nxhtml-warnings-are-visible))) - )) - (define-key val-map [nxhtml-error-separator] (list 'menu-item "--")) - (define-key val-map [nxhtml-remove-saved-validation-header] - (list 'menu-item "Remove File's Fictive XHTML Validation Header" - 'nxhtml-remove-saved-validation-header - ;; Fix-me: maybe a better enable here? - :enable 'nxhtml-validation-header-mode)) - (define-key val-map [nxhtml-save-validation-header] - (list 'menu-item "Save File's Fictive XHTML Validation Header" - 'nxhtml-save-validation-header - :enable 'nxhtml-validation-header-mode)) - (define-key val-map [nxhtml-set-validation-header] - (list 'menu-item "Choose Fictive XHTML Validation Header for Buffer" - 'nxhtml-set-validation-header)) - (define-key val-map [nxhtml-update-validation-header] - (list 'menu-item "Update Fictive XHTML Validation Header for Buffer" - 'nxhtml-update-validation-header)) - (define-key val-map [nxhtml-use-saved-val-separator] (list 'menu-item "--")) -;;; (let ((afic-map (make-sparse-keymap))) -;;; (define-key val-map [nxhtml-afic-map] -;;; (list 'menu-item "Automatic Fictive XHTML Validation Header" afic-map)) -;;; (define-key afic-map [nxhtml-validation-header-mumamo-set] -;;; (list 'menu-item "Customize Automatic XHTML Validation Turn On" -;;; (lambda () (interactive) (customize-option 'nxhtml-validation-header-mumamo-modes)))) -;;; (define-key afic-map [nxhtml-validation-header-mumamo] -;;; (list 'menu-item "Turn on Fictive XHTML Validation Header with MuMaMo" -;;; 'nxhtml-validation-header-if-mumamo-toggle -;;; :button '(:toggle . nxhtml-validation-header-if-mumamo)))) - (define-key val-map [nxhtml-show-validation-header] - (list 'menu-item "Display Fictive XHTML Validation Header" - 'rngalt-display-validation-header-toggle - :help-echo "Displays the Fictive XHTML validation header (if any) at top of buffer" - :button '(:toggle . (and (boundp 'rngalt-display-validation-header) - rngalt-display-validation-header)))) - (define-key val-map [nxhtml-recheck-validation-header] - (list 'menu-item "Recheck Fictive XHTML Validation Header in Buffer" - 'nxhtml-recheck-validation-header - :enable 'nxhtml-validation-header-mode)) - (define-key val-map [nxhtml-validation-header-mode] - (list 'menu-item "Use Fictive XHTML Validation Header in Buffer" - 'nxhtml-validation-header-mode - :button '(:toggle . (and (boundp 'nxhtml-validation-header-mode) - nxhtml-validation-header-mode)))) - ) - (define-key cmpl-map [nxhtml-validation-separator] - (list 'menu-item "--" nil - :visible '(nxhtml-nxml-html-in-buffer))) - (let ((style-map (make-sparse-keymap))) - (define-key cmpl-map [nxhtml-cmpl-style-map] - (list 'menu-item "Completion Style" style-map - :visible '(nxhtml-nxml-html-in-buffer) - :enable '(nxhtml-nxhtml-in-buffer))) - (define-key style-map [popcmp-customize] - (list 'menu-item "Customize Completion Style" - (lambda () (interactive) (customize-group-other-window 'popcmp)))) - (define-key style-map [popcmp-style-div2] - (list 'menu-item "--")) - ;;(defun nxhtml-nxml-html-in-buffer () - (define-key style-map [popcmp-with-help] - (list 'menu-item "Show Short Help Beside Alternatives" - 'popcmp-short-help-beside-alts-toggle - :button '(:toggle . (and (boundp 'popcmp-short-help-beside-alts) - popcmp-short-help-beside-alts)))) - (define-key style-map [nxhtml-tag-do-also] - (list 'menu-item "Complete Tag Extras" - 'nxhtml-tag-do-also-toggle - :button '(:toggle . (and (boundp 'nxhtml-tag-do-also) - nxhtml-tag-do-also)))) - (define-key style-map [popcmp-group-alternatives] - (list 'menu-item "Group Alternatives" - 'popcmp-group-alternatives-toggle - :button '(:toggle . (and (boundp 'popcmp-group-alternatives) - popcmp-group-alternatives)))) - (define-key style-map [popcmp-style-div1] - (list 'menu-item "--")) - (define-key style-map [popcmp-anything-completion] - (list 'menu-item "Anything Style Completion" - (lambda () (interactive) (customize-set-variable 'popcmp-completion-style 'anything)) - :enable `(fboundp 'anything) - :button `(:radio . (eq popcmp-completion-style 'anything)))) - (define-key style-map [popcmp-company-completion] - (list 'menu-item "Company Mode Style Completion" - (lambda () (interactive) (customize-set-variable 'popcmp-completion-style 'company-mode)) - :enable `(fboundp 'company-mode) - :button `(:radio . (eq popcmp-completion-style 'company-mode)))) - (define-key style-map [popcmp-emacs-completion] - (list 'menu-item "Emacs Default Style Completion" - (lambda () (interactive) (customize-set-variable 'popcmp-completion-style 'emacs-default)) - :button `(:radio . (eq popcmp-completion-style 'emacs-default)))) - (define-key style-map [popcmp-popup-completion] - (list 'menu-item "Popup Style Completion" - (lambda () (interactive) (customize-set-variable 'popcmp-completion-style 'popcmp-popup)) - :button `(:radio . (eq popcmp-completion-style 'popcmp-popup)))) - ) - (define-key cmpl-map [nxhtml-cmpl-separator] - (list 'menu-item "--" nil - :visible '(nxhtml-nxml-html-in-buffer))) - (define-key cmpl-map [nxhtml-untag-element] - (list 'menu-item "Untag Element" 'nxml-untag-element - :enable '(nxhtml-nxhtml-in-buffer) - :visible '(nxhtml-nxml-html-in-buffer))) - (define-key cmpl-map [rngalt-finish-element] - (list 'menu-item "Insert End Tag" 'rngalt-finish-element - :enable '(nxhtml-nxhtml-in-buffer) - :visible '(nxhtml-nxml-html-in-buffer))) - (define-key cmpl-map [nxhtml-complete] - (list 'menu-item "Complete tag, attribute etc" 'nxml-complete - :enable '(nxhtml-nxml-in-buffer) - :visible '(nxhtml-nxml-html-in-buffer))) - ) - - - ) - - (let ((options-map (make-sparse-keymap))) - (define-key map [nxhtml-options-map] - (list 'menu-item "Options" options-map)) - - (define-key options-map [nxhtml-save-opt] - (list 'menu-item "Save All Changed Options" 'customize-save-customized)) - - (define-key options-map [nxhtml-save-sep] (list 'menu-item "--")) - - (define-key options-map [nxhtml-load-flymake] - (list 'menu-item "Use nXhtml CSS/JS Flymake" - 'nxhtml-flymake-setup - :button '(:toggle . (and (boundp 'nxhtml-flymake-setup) - nxhtml-flymake-setup)))) - - (define-key options-map [nxhtml-save-sep] (list 'menu-item "--")) - - (define-key options-map [nxhtml-winsav-mode] - (list 'menu-item "Save/restore Frames and Windows" - 'winsav-save-mode - :button '(:toggle . (and (boundp 'winsav-save-mode) - winsav-save-mode)))) - (define-key options-map [nxhtml-win-sep] (list 'menu-item "--")) - (define-key options-map [nxhtml-images-global] - (list 'menu-item "Display Images Inline" 'inlimg-global-mode - :button '(:toggle . (and (boundp 'inlimg-global-mode) - inlimg-global-mode)))) - (define-key options-map [nxhtml-opt-sep] (list 'menu-item "--")) - (define-key options-map [nxhtml-hl-needed-mode] - (list 'menu-item "Tell Me Where I Am" 'hl-needed-mode - :button '(:toggle . (and (boundp 'hl-needed-mode) - hl-needed-mode)))) - (define-key options-map [nxhtml-mark-nonascii] - (list 'menu-item "Mark Special Chars (default non-IDN)" 'markchars-global-mode - :button '(:toggle . (and (boundp 'markchars-global-mode) - markchars-global-mode)))) - (define-key options-map [nxhtml-sml-modeline-mode] - (list 'menu-item "Mode Line Scroll Indicator" 'sml-modeline-mode - :button '(:toggle . (and (boundp 'sml-modeline-mode) - sml-modeline-mode)))) - (define-key options-map [rebind-keys] - (list 'menu-item "Rebind My Choosen Keys" 'rebind-keys-mode - :button '(:toggle . (and (boundp 'rebind-keys-mode) - rebind-keys-mode)))) - (define-key options-map [nxhtml-appmenu] - (list 'menu-item "Context Sensitive AppMenu" - 'appmenu-mode - :button '(:toggle . (and (boundp 'appmenu-mode) - appmenu-mode)))) - (define-key options-map [nxhtml-menu-to-m-x] - (list 'menu-item "Add Menu Commands to M-x history" - 'ourcomments-M-x-menu-mode - :button '(:toggle . (and (boundp 'ourcomments-M-x-menu-mode) - ourcomments-M-x-menu-mode)))) - (define-key options-map [nxhtml-patch-converting] - (list 'menu-item "Paste with Convert" - 'ourcomments-paste-with-convert-mode - :button '(:toggle . (and (boundp 'ourcomments-paste-with-convert-mode) - ourcomments-paste-with-convert-mode)))) - - (define-key options-map [nxhtml-tab-separator] - (list 'menu-item "--" nil)) - (define-key options-map [nxhtml-ctrl-tab] - (list 'menu-item "Ctrl-TAB Buffer Switching" - 'ourcomments-ido-ctrl-tab - :button '(:toggle . (and (boundp 'ourcomments-ido-ctrl-tab) - ourcomments-ido-ctrl-tab)))) - (define-key options-map [nxhtml-tab-complete] - (list 'menu-item "Indent and then Complete (TabKey2 mode)" 'tabkey2-mode - :button '(:toggle . (and (boundp 'tabkey2-mode) - tabkey2-mode)))) - - - - (define-key options-map [nxhtml-majpri-separator] - (list 'menu-item "--" nil)) - (define-key options-map [nxhtml-as-external] - (list 'menu-item "External Editor Setup" - 'as-external-mode - :button '(:toggle . (and (boundp 'as-external-mode) - as-external-mode)))) - (define-key options-map [nxhtml-sex-mode] - (list 'menu-item "Open Files in External Apps" - 'sex-mode - :button '(:toggle . (and (boundp 'sex-mode) - sex-mode)))) - (let ((majpri-map (make-sparse-keymap))) - (define-key options-map [nxhtml-majpri-map] - (list 'menu-item "Major Modes Priorities" majpri-map)) - (define-key majpri-map [nxhtml-majpri-act] - (list 'menu-item "Apply Major Modes Priorities" - 'majmodpri-apply-priorities)) - (define-key majpri-map [nxhtml-majpri-cust] - (list 'menu-item "Customize Major Mode Priorities" - (lambda () - "Customize group Major Mode priorities." - (interactive) - (customize-group-other-window 'majmodpri)))) - ) - ) - - (let ((edit-map (make-sparse-keymap))) - (define-key map [nxhtml-edit-map] - (list 'menu-item "Edit" edit-map)) - - (let ((folding-map (make-sparse-keymap))) - (define-key edit-map [nxhtml-folding-map] - (list 'menu-item "Folding" folding-map)) - (define-key folding-map [nxhtml-fold-unhide-all] - (list 'menu-item "Unhide Everything" - 'fold-dwim-unhide-hs-and-outline)) - (define-key folding-map [nxhtml-fold-dwim] - (list 'menu-item "Maybe DWIM Folding" - 'fold-dwim-toggle)) - (define-key folding-map [nxhtml-separator2] (list 'menu-item "--" nil)) - (define-key folding-map [nxhtml-hs] - (list 'menu-item "Turn On Hide/Show and Hide" - 'fold-dwim-turn-on-hs-and-hide)) - (define-key folding-map [nxhtml-outline] - (list 'menu-item "Turn On Outline and Hide All" - 'fold-dwim-turn-on-outline-and-hide-all)) - (define-key folding-map [nxhtml-separator1] (list 'menu-item "--" nil)) - (define-key folding-map [nxhtml-foldit-mode] - (list 'menu-item "Folding Markers in Buffer" - 'foldit-mode - :button '(:toggle . (and (boundp 'foldit-mode) - foldit-mode)))) - (define-key folding-map [nxhtml-foldit-global-mode] - (list 'menu-item "Folding Markers Everywhere" - 'foldit-global-mode - :button '(:toggle . (and (boundp 'foldit-global-mode) - foldit-global-mode)))) - ) - - (define-key edit-map [nxhtml-folding-sep] (list 'menu-item "--")) - - (define-key edit-map [nxhtml-wrap-to-fill-column-mode] - (list 'menu-item "Wrap To Fill Column Mode" - 'wrap-to-fill-column-mode - :button '(:toggle . (and (boundp 'wrap-to-fill-column-mode) - wrap-to-fill-column-mode)))) - (define-key edit-map [nxhtml-fill-dwim] - (list 'menu-item "Fill DWIM" 'fill-dwim)) - - (define-key edit-map [nxhtml-fill-sep] (list 'menu-item "--")) - - - (let ((link-map (make-sparse-keymap))) - (define-key edit-map [nxhtml-link-map] - (list 'menu-item "Links" link-map - :enable '(not (derived-mode-p 'dired-mode)) - )) - - (define-key link-map [mlinks-goto-link-other-frame] - (list 'menu-item "Follow MLink Link in New Frame" 'mlinks-goto-other-frame - :enable '(and (boundp 'mlinks-mode) - mlinks-mode) - :help "Follow MLinks Link in New Frame")) - (define-key link-map [mlinks-goto-link-other-window] - (list 'menu-item "Follow MLink Link in Other Window" 'mlinks-goto-other-window - :enable '(and (boundp 'mlinks-mode) - mlinks-mode) - :help "Follow MLinks Link in Other Window")) - (define-key link-map [mlinks-goto-link] - (list 'menu-item "Follow MLink Link" 'mlinks-goto - :enable '(and (boundp 'mlinks-mode) - mlinks-mode) - :help "Follow MLinks Link")) - (define-key link-map [nxhtml-separator-follow-mlink] (list 'menu-item "--")) - (define-key link-map [mlinks-next-link] - (list 'menu-item "Next MLink Link" 'mlinks-forward-link - :enable '(and (boundp 'mlinks-mode) - mlinks-mode) - :help "Go to next MLinks link")) - (define-key link-map [mlinks-prev-link] - (list 'menu-item "Previous MLink Link" 'mlinks-backward-link - :enable '(and (boundp 'mlinks-mode) - mlinks-mode) - :help "Go to previous MLinks link")) - - ) - (define-key edit-map [nxhtml-edit-sep1] (list 'menu-item "--")) - (define-key edit-map [nxhtml-grep-replace] - (list 'menu-item "Replace in Grepped Files" 'grep-query-replace)) - (define-key edit-map [nxhtml-rdir-replace] - (list 'menu-item "Replace in Files in Tree" 'rdir-query-replace)) - (define-key edit-map [nxhtml-ldir-replace] - (list 'menu-item "Replace in Files in Directory" 'ldir-query-replace)) - - (define-key edit-map [nxhtml-edit-sep2] (list 'menu-item "--")) - (define-key edit-map [nxhtml-multi-occur] - (list 'menu-item "Occur in File Buffers" 'multi-occur-in-matching-buffers)) - (define-key edit-map [nxhtml-occur] - (list 'menu-item "Occur" 'occur)) - (define-key edit-map [nxhtml-edit-sep3] (list 'menu-item "--")) - (define-key edit-map [nxhtml-re-builder] - (list 'menu-item "Re-Builder" 're-builder)) - (define-key edit-map [nxhtml-edit-sep4] (list 'menu-item "--")) - (let ((copy+paste-map (make-sparse-keymap "copy+paste"))) - (define-key edit-map [nxhtml-copy+paste-map] - (list 'menu-item "Copy+Paste" copy+paste-map)) - (define-key copy+paste-map [nxhtml-copy+paste-do] - (list 'menu-item "Do Copy+Paste" 'ourcomments-copy+paste - :enable '(and (boundp 'ourcomments-copy+paste-mode) - ourcomments-copy+paste-mode))) - (define-key copy+paste-map [nxhtml-copy+paste-set] - (list 'menu-item "Start Copy+Paste" 'ourcomments-copy+paste-set-point - :button '(:toggle . (and (boundp 'ourcomments-copy+paste-mode) - ourcomments-copy+paste-mode)))) - ) - (define-key edit-map [nxhtml-anchored-transpose] - (list 'menu-item "Transpose Regions" 'anchored-transpose - :button '(:toggle . (and mouse-secondary-overlay - (overlay-buffer mouse-secondary-overlay))))) - ) - - (define-key map [nxhtml-help-tools-separator] - ;; Notice that removing nil below gives an error that is quite - ;; hard to catch: - ;; - ;; Wrong type argument: arrayp, not - (list 'menu-item "--" nil - :visible `(not (derived-mode-p 'dired-mode)) - )) - - - (let ((upl-map (make-sparse-keymap "html-upl"))) - (define-key map [nxhtml-upl-map] - (list 'menu-item "File Transfer" upl-map - ;;:enable '(featurep 'html-upl))) - :enable '(fboundp 'html-upl-upload-file))) - (define-key upl-map [nxhtml-upl-remote-dired] - (list 'menu-item "Remote Dired" 'html-upl-remote-dired)) - (define-key upl-map [nxhtml-upl-dired-sep] (list 'menu-item "--")) - (define-key upl-map [nxhtml-upl-edit-remote-wtoc] - (list 'menu-item "Edit Remote File With TOC" 'html-upl-edit-remote-file-with-toc - :visible '(or (not (featurep 'html-site)) - (nxhtml-this-file-can-have-toc)))) - (define-key upl-map [nxhtml-upl-edit-remote] - (list 'menu-item "Edit Remote File" 'html-upl-edit-remote-file)) - (define-key upl-map [nxhtml-upl-ediff-file] - (list 'menu-item "Ediff Remote/Local Files" 'html-upl-ediff-file)) - (define-key upl-map [nxhtml-upl-sep] (list 'menu-item "--")) - (define-key upl-map [nxhtml-upl-upload-site-with-toc] - (list 'menu-item "Upload Site with TOC" 'html-upl-upload-site-with-toc - :visible '(or (not (featurep 'html-site)) - (and (html-site-current-merge-dir) - (html-site-current-ensure-file-in-site file))))) - (define-key upl-map [nxhtml-upl-upload-site] - (list 'menu-item "Upload Site" 'html-upl-upload-site)) - (define-key upl-map [nxhtml-upl-upload-file] - (list 'menu-item "Upload Single File" 'html-upl-upload-file)) - ) - - - (let ((browse-map (make-sparse-keymap))) - (define-key map [nxhtml-browse-map] - (list 'menu-item "Browse" browse-map - '(or buffer-file-name - (eq major-mode 'nxhtml-mode)) - :enable '(nxhtml-buffer-possibly-local-viewable))) - (define-key browse-map [nxhtml-browse-region] - (list 'menu-item "Browse the Region Only" 'nxhtml-browse-region - :enable 'mark-active)) - (define-key browse-map [nxhtml-upl-sep3] (list 'menu-item "--")) - (define-key browse-map [nxhtml-upl-browse-remote-wtoc] - (list 'menu-item "Browse Uploaded File With TOC" 'html-upl-browse-remote-with-toc - :visible '(and (nxhtml-buffer-possibly-local-viewable) - (featurep 'html-wtoc) - (html-site-current-merge-dir) - (html-site-current-ensure-file-in-site file) - (nxhtml-buffer-possibly-remote-viewable) - ))) - (define-key browse-map [nxhtml-upl-browse-remote-frame-file] - (list 'menu-item "Browse Uploaded Frames File" 'html-upl-browse-remote-frames - :enable '(nxhtml-buffer-possibly-remote-viewable))) - (define-key browse-map [nxhtml-upl-browse-remote] - (list 'menu-item "Browse Uploaded File" 'html-upl-browse-remote - :enable '(nxhtml-buffer-possibly-remote-viewable))) - (define-key browse-map [nxhtml-upl-sep2] - (list 'menu-item "--")) - (define-key browse-map [nxhtml-browse-merged-file] - (list 'menu-item "Browse File With TOC" 'html-wtoc-browse-page-with-toc - :visible '(and (nxhtml-buffer-possibly-local-viewable) - (featurep 'html-wtoc) - (html-site-current-merge-dir) - (html-site-current-ensure-file-in-site file) - ))) - (define-key browse-map [nxhtml-browse-frame-file] - (list 'menu-item "Browse Frames File" 'html-toc-browse-frames-file - :enable '(and (featurep 'html-toc) - (nxhtml-buffer-possibly-local-viewable)))) - (define-key browse-map [nxhtml-browse-file] - (list 'menu-item "Browse File" 'nxhtml-browse-file - :enable '(nxhtml-buffer-possibly-local-viewable))) - ) - - - - (let ((site-map (make-sparse-keymap))) - (define-key map [nxhtml-site-map] - (list 'menu-item "Site" site-map)) - (define-key site-map [html-site-global-mode] - (list 'menu-item "HTML Site Global Mode" - 'html-site-global-mode - :button '(:toggle . (and (boundp 'html-site-global-mode) - html-site-global-mode)))) - (define-key site-map [nxhtml-site-separator] (list 'menu-item "--")) - (define-key site-map [nxhtml-customize-site-list] - (list 'menu-item "Edit Sites" (lambda () - "Customize option `html-size-list'." - (interactive) - (customize-option-other-window 'html-site-list)))) - (define-key site-map [nxhtml-set-site] - (list 'menu-item "Set Current Site" 'html-site-set-site)) - (define-key site-map [nxhtml-site-separator-1] (list 'menu-item "--")) - (define-key site-map [nxhtml-dired-site-top] - (list 'menu-item "Dired Site" 'html-site-dired-current)) - (define-key site-map [nxhtml-find-site-file] - (list 'menu-item "Find File in Site" 'html-site-find-file)) - (define-key site-map [nxhtml-site-search-separator] - (list 'menu-item "--" nil)) - (define-key site-map [nxhtml-replace-in-site] - (list 'menu-item "Replace in Site Files" 'html-site-query-replace)) - (define-key site-map [nxhtml-rgrep-in-site] - (list 'menu-item "Search Site Files" 'html-site-rgrep)) - ) - - (define-key map [nxhtml-insert-separator] - (list 'menu-item "--" nil - :visible `(not (derived-mode-p 'dired-mode)) - )) - (let ((chunk-map (make-sparse-keymap))) - (define-key map [nxhtml-chunk-map] - (list 'menu-item "Multi Major Modes" chunk-map - :visible `(not (derived-mode-p 'dired-mode)) - )) - (define-key chunk-map [nxhtml-customize-mumamo] - (list 'menu-item "Customize MuMaMo" - (lambda () (interactive) (customize-group-other-window 'mumamo)))) - (define-key chunk-map [nxhtml-list-mumamo] - (list 'menu-item "List defined Multi Major Modes" - 'mumamo-list-defined-multi-major-modes)) - (define-key chunk-map [nxhtml-chunks-separator2] - (list 'menu-item "--" nil)) - (define-key chunk-map [nxhtml-chunk-no-colors] - (list 'menu-item "Remove Chunk Colors Temporarily" - 'mumamo-no-chunk-coloring - :button '(:toggle . (and (boundp 'mumamo-no-chunk-coloring) - mumamo-no-chunk-coloring)))) - (define-key chunk-map [nxhtml-chunk-margin-info] - (list 'menu-item "Display Chunk Info in Margin" - 'mumamo-margin-info-global-mode - :button '(:toggle . (and (boundp 'mumamo-margin-info-global-mode) - mumamo-margin-info-global-mode)))) - (define-key chunk-map [nxhtml-chunks-separator1] - (list 'menu-item "--" nil)) - (let ((region-map (make-sparse-keymap))) - (define-key chunk-map [nxhtml-region-map] - (list 'menu-item "Temprary Region Chunks" region-map)) - (define-key region-map [mumamo-clear-all-regions] - (list 'menu-item "Clear Region Chunks" - 'mumamo-clear-all-regions - :enable '(and (boundp 'mumamo-multi-major-mode) - mumamo-multi-major-mode - (fboundp 'mumamo-clear-all-regions)))) - (define-key region-map [mumamo-clear-region] - (list 'menu-item "Clear Region Chunk at Point" - 'mumamo-clear-region - :enable '(fboundp 'mumamo-clear-region))) - (define-key region-map [nxhtml-region-separator2] - (list 'menu-item "--" nil)) - (define-key region-map [mumamo-region-major] - (list 'menu-item "Set Region Chunk Major Mode" - 'mumamo-region-set-major - :enable '(fboundp 'mumamo-region-set-major))) - (define-key region-map [mumamo-add-region-from-string] - (list 'menu-item "Add Region Chunk from String" - 'mumamo-add-region-from-string)) - (define-key region-map [mumamo-add-region] - (list 'menu-item "Add Region Chunk from Selection" - 'mumamo-add-region))) - (define-key chunk-map [nxhtml-region-separator] - (list 'menu-item "--" nil)) - (define-key chunk-map [mumamo-mark-chunk] - (list 'menu-item "Mark Chunk" - 'mumamo-mark-chunk - :enable '(and (boundp 'mumamo-multi-major-mode) - mumamo-multi-major-mode))) - (define-key chunk-map [nxhtml-separator-mark-chunk] (list 'menu-item "--")) - (define-key chunk-map [mumamo-backward-chunk] - (list 'menu-item "Backward Chunk" - 'mumamo-backward-chunk - :enable '(and (boundp 'mumamo-multi-major-mode) - mumamo-multi-major-mode))) - (define-key chunk-map [mumamo-forward-chunk] - (list 'menu-item "Forward Chunk" - 'mumamo-forward-chunk - :enable '(and (boundp 'mumamo-multi-major-mode) - mumamo-multi-major-mode)))) - (let ((tag-map (make-sparse-keymap))) - (define-key map [nxhtml-tag-map] - (list 'menu-item "Move by Tag" tag-map - :visible '(or (derived-mode-p 'nxml-mode) - (derived-mode-p 'sgml-mode)) - :enable '(or (derived-mode-p 'nxml-mode) - (nxhtml-nxhtml-in-buffer)))) - (define-key tag-map [nxml-forward-par] - (list 'menu-item "Forward Paragraph" - 'nxml-forward-paragraph)) - (define-key tag-map [nxml-backward-par] - (list 'menu-item "Backward Paragraph" - 'nxml-backward-paragraph)) - (define-key tag-map [nxml-insert-separator-move2] (list 'menu-item "--")) - (define-key tag-map [nxml-down] - (list 'menu-item "Forward Into Tag" - 'nxml-down-element)) - (define-key tag-map [nxml-backward-up] - (list 'menu-item "Backward Out of Tag" - 'nxml-backward-up-element)) - (define-key tag-map [nxml-insert-separator-move] (list 'menu-item "--")) - (define-key tag-map [nxml-forward] - (list 'menu-item "Forward Balanced Tag" - 'nxml-forward-element)) - (define-key tag-map [nxml-backward] - (list 'menu-item "Backward Balanced Tag" - 'nxml-backward-element)) - ) - - - map)) - -(defvar nxhtml-menu-mode-map - (let ((map (make-sparse-keymap))) - (define-key map [(control ?c) ?? ?x] 'nxhtml-short-tag-help) - (define-key map [(control ?c) ?? ?c] 'xhtml-help-show-css-ref) - (define-key map [(control ?c) ?_] 'nxhtml-toggle-visible-warnings) - (define-key map [menu-bar nxhtml-menu-mode] - (list 'menu-item "nXhtml" nxhtml-menu-mode-menu-map)) - map)) - -;;;###autoload -(define-minor-mode nxhtml-menu-mode - "Minor mode to turn on some key and menu bindings. -See `nxhtml-mode' for more information. - -This minor mode adds the entry 'nXhtml' to the menu bar. This -submenu gives easy access to most of the important features of -nXhtml. - -To see an \(incomplete) overview in html format do -\\[nxhtml-overview]. - -* Note: Please observe that when loading nXhtml some file - associations are done, see `nxhtml-setup-file-assoc'. - -Here are some important features: - -- multiple major modes, see `define-mumamo-multi-major-mode' -- easy uploading and viewing of files, see for example - `html-upl-upload-file' - -- validation in XHTML part for php etc, see - `nxhtml-validation-header-mode' (you probably also want to know - about `nxhtml-toggle-visible-warnings' for this!) - -- converting of html to xhtml, see `tidy-buffer' - -Some smaller, useful, but easy-to-miss features: - -* Following links. The href and src attribute names are - underlined and a special keymap is bound to - them:\\<mlinks-mode-map> - - \\[mlinks-backward-link], \\[mlinks-forward-link] Move - between underlined href/src attributes - - \\[mlinks-goto], Mouse-1 Follow link inside Emacs - (if possible) - - It is even a little bit quicker when the links are in an active - state (marked with the face `isearch'):\\<mlinks-active-hilight-keymap> - - \\[mlinks-backward-link], \\[mlinks-forward-link] Move - between underlined href/src attributes - \\[mlinks-goto], Mouse-1 Follow link inside Emacs (if possible) - - If the link is not into a file that you can edit (a mailto link - for example) you will be prompted for an alternative action. - -* Creating links. To make it easier to create links to id/name - attribute in different files there are two special - functions:\\<nxhtml-mode-map> - - \\[nxhtml-save-link-to-here] copy link to id/name (you must - be in the tag to get the link) - \\[nxhtml-paste-link-as-a-tag] paste this as an a-tag. - -This minor mode also adds some bindings: - -\\{nxhtml-menu-mode-map} - ---------- -* Note: Some of the features supported are optional and available - only if other Emacs modules are found. Use - \\[nxhtml-features-check] to get a list of these optional - features and modules needed. You should however have no problem - with this if you have followed the installation instructions - for nXhtml." - :keymap nxhtml-menu-mode-map - :group 'nxhtml - :global t - ) - -(defalias 'nxhtml-minor-mode 'nxhtml-menu-mode) -(defalias 'nxhtml-global-minor-mode 'nxhtml-menu-mode) - -;; (defcustom nxhtml-menu-mode-modes -;; '( -;; nxhtml-mode -;; nxml-mode -;; html-mode -;; sgml-mode -;; xml-mode -;; php-mode -;; css-mode -;; javascript-mode -;; java-mode ;; jsp -;; groovy-mode ;; gsp -;; image-mode -;; ;; -;; dired-mode -;; ) -;; "List for turning on `nxhtml-menu-mode'. -;; If the buffer's major modes is any of those in this list then -;; `nxhtml-global-minor-mode' will turn on `nxhtml-menu-mode' in -;; the buffer." -;; :type '(repeat (symbol :tag "Major mode")) -;; :group 'nxhtml) - -;; (defun nxhtml-maybe-turn-on-minor-mode () -;; "Maybe turn on `nxhtml-menu-mode'. -;; See `nxhtml-menu-mode-modes'." -;; (nxhtml-menu-mode 1)) -;; (unless (or (minibufferp (current-buffer)) -;; (string= " " (substring (buffer-name) 0 1)) -;; (string= "*" (substring (buffer-name) 0 1)) -;; ) -;; (let ((on (and (boundp 'mumamo-multi-major-mode) -;; mumamo-multi-major-mode))) -;; (dolist (major nxhtml-menu-mode-modes) -;; (when (derived-mode-p major) -;; (setq on t))) -;; (when on -;; (nxhtml-menu-mode 1))))) - -;; (define-globalized-minor-mode nxhtml-global-minor-mode -;; nxhtml-menu-mode -;; nxhtml-maybe-turn-on-minor-mode -;; ;;:require 'nxhtml-menu -;; :group 'nxhtml) -;;(message "nxhtml-menu:here A") -;;(custom-reevaluate-setting 'nxhtml-global-minor-mode) -;;(message "nxhtml-menu:here B") -;;(when nxhtml-global-minor-mode (nxhtml-global-minor-mode 1)) -;;(message "nxhtml-menu:here C") - - -;; (file-exists-p (nxhtml-docfile)) -;; (find-file (nxhtml-docfile)) -(defun nxhtml-docfile () - (expand-file-name "nxhtml/doc/nxhtml.html" nxhtml-install-dir)) - -(defun nxhtml-docfile-url () - (let ((local-docfile (concat "file://" (nxhtml-docfile)))) - (if (and nxhtml-autoload-web - (not (file-exists-p local-docfile))) - "http://ourcomments.org/Emacs/nXhtml/doc/nxhtml.html" - local-docfile))) - -;;;###autoload -(defun nxhtml-overview () - "Show a HTML page with an overview of nXhtml." - (interactive) - (browse-url (nxhtml-docfile-url))) - -(defun nxhtml-tutorials () - "Show a HTML page with a list of tutorials for nXhtml'." - (interactive) - (browse-url "http://ourcomments.org/Emacs/nXhtml/tut/tutorials.html")) - -(defun nxhtml-custom-valfaced (value &optional bgcolor) - (let ((v (if (sequencep value) - (copy-seq value) - value)) - (bgcolor (if bgcolor bgcolor "RGB:FF/FF/AA"))) - (put-text-property 0 (length v) - 'face (list - 'bold - (cons 'background-color bgcolor) - ) - v) - v)) -(defun nxhtml-custom-insert-nxhtml-row (symbol nxhtml-value description) - (let ((desc (if description - (format "%s (%s)" description symbol) - (format "%s" (custom-unlispify-tag-name symbol))))) - (widget-insert " " description " (") - (nxhtml-custom-describe-defun symbol) - (widget-insert "): " - (nxhtml-custom-valfaced - (format "%s" (symbol-value symbol)) - (if (eq (symbol-value symbol) - nxhtml-value) - "GreenYellow" - "gainsboro")) - "\n"))) - -(defun nxhtml-custom-h1(title &optional divider top-newline) - (let ((s title)) - (put-text-property 0 (length s) - 'face '(:weight bold - :height 1.4 - :foreground "DarkGreen" - ;;:underline t - ) - s) - (when top-newline (widget-insert "\n")) - ;;(when divider (widget-insert (nxhtml-custom-divider (length s)))) - (widget-insert s) - )) - -(defun widget-button-notify (widget &rest ignore) - (apply (widget-get widget 'function) (widget-get widget 'data))) - -(defun widget-insert-link (txt function data) - (widget-insert-button txt function data - :button-face 'link - :mouse-face 'highlight - :button-prefix "" - :button-suffix "")) - -(defun widget-insert-button (txt function data &rest keywords) - (let ((btn (apply 'widget-create - (append - '(push-button - :notify - widget-button-notify) - keywords - (list txt))))) - (widget-put btn 'data data) - (widget-put btn 'function function))) - -(defun nxhtml-custom-url-link (txt url) - (let ((plain-url (substring-no-properties url))) - (unless (equal txt url) - (put-text-property 0 (length txt) 'help-echo plain-url txt)) - (put-text-property 0 (length txt) 'mouse-face 'highlight txt) - (widget-insert-link txt 'browse-url (list url)))) - -(defun nxhtml-custom-describe-defun (sym &optional help) - (let ((txt (symbol-name sym))) - (when help - (put-text-property 0 (length txt) 'help-echo help txt)) - (put-text-property 0 (length txt) 'mouse-face 'highlight txt) - (widget-insert-link txt 'describe-function (list sym)))) - -;; (defun nxhtml-quick-customize (&optional same-window) -;; "Show page for Quick Customize of nXhtml." -;; (interactive) -;; (require 'nxhtml) -;; (require 'custom) -;; (require 'cus-edit) -;; (if same-window -;; (switch-to-buffer "*Quick Customize nXhtml*") -;; (switch-to-buffer-other-window "*Quick Customize nXhtml*")) -;; (kill-all-local-variables) -;; (custom-mode) -;; (let ((inhibit-read-only t)) -;; (erase-buffer)) -;; (let ((sFound "found") -;; (sError "error")) -;; (put-text-property 0 (length sFound) -;; 'face '(bold -;; (foreground-color . "green")) sFound) -;; (put-text-property 0 (length sError) -;; 'face '(bold -;; (foreground-color . "red")) sError) -;; (let* ( -;; (default-used "(not set yet - default used)") -;; ) -;; (nxhtml-custom-h1 "Quick Customize for nXhtml" t) -;; (widget-insert " - -;; This page is for a quick and easy setup of some ") -;; (nxhtml-custom-url-link "nXhtml" (nxhtml-docfile-url)) -;; (widget-insert " features -;; that I did not want to turn on by default since they alter what -;; happens when you open a file. I suggest however that you turn -;; them on since they are quite useful if you just understands what -;; is happening. - -;; The values you set here are saved so that they will be used next -;; time you start Emacs too.") -;; ;;(widget-insert-link "customize nXhtml" 'customize-group (list 'nxhtml)) -;; (widget-insert "\n\n") - -;; (nxhtml-custom-insert-nxhtml-row 'nxhtml-global-minor-mode t "Show the nXhtml menu in all relevant buffers\n\t") -;; ;;(nxhtml-custom-insert-nxhtml-row 'mumamo-global-mode t "Turn on Multiple Major Mode in all relevant buffers\n\t") -;; ;;(nxhtml-custom-insert-nxhtml-row 'mlinks-global-mode t "Make link of lins, for example href=\"...\"\n\t") -;; ;;(nxhtml-custom-insert-nxhtml-row 'indent-region-mode t "Use TAB to indent region when it is selected\n\t") - -;; (widget-insert "\n") -;; (widget-insert-button " Turn them all on " -;; (lambda () -;; (nxhtml-quick-all t) -;; (nxhtml-quick-customize t)) -;; nil) -;; (widget-insert " ") -;; (widget-insert-button " Turn them all off " -;; (lambda () -;; (nxhtml-quick-all nil) -;; (nxhtml-quick-customize t)) -;; nil) -;; (beginning-of-line) -;; ))) - -;; (defun nxhtml-quick-all (on) -;; (custom-set-and-prepare-save 'nxhtml-global-minor-mode on) -;; ;;(custom-set-and-prepare-save 'mumamo-global-mode on) -;; (custom-set-and-prepare-save 'indent-region-mode on) -;; (when custom-file -;; (custom-save-all))) - -(defun custom-set-and-prepare-save (symbol value) - "Set SYMBOL to VALUE and add to customize. -Both the current value and the value to save is set, but -`custom-save-all' must be called to save customization." - (customize-set-variable symbol value) - (customize-set-value symbol value) - (customize-mark-to-save symbol)) - - -;;(nxhtml-quick-customize) - -(defun nxhtml-welcome () - "Show welcome information." - (interactive) - (require 'cus-edit) - (let* ((bufnam "*nXhtml Welcome*") - (oldbuf (get-buffer bufnam)) - (curwin (selected-window))) - (switch-to-buffer-other-window bufnam) - (unless oldbuf - (let ((inhibit-read-only t) - (here (point))) - (Custom-mode) - (nxhtml-menu-mode 1) - (setq cursor-in-non-selected-windows nil) - (nxhtml-custom-h1 "Welcome to nXhtml - a package for web editing" t) - (insert "\n\n") - (setq here (point)) - (insert "If you have not done it already it might " - "be a good time to read at least The Quick Guide in the ") - (nxhtml-custom-url-link "nXhtml overview" (nxhtml-docfile-url)) - (insert " now.\n\n") - (fill-region here (point)) - (setq here (point)) - (insert "And oh, wait! If you are new to Emacs too you might want " - "to take a quick ") - (nxhtml-custom-url-link - "Emacs tour" - "http://www.gnu.org/software/emacs/tour/") - (insert ". And then perhaps the Emacs tutorial " - "(which is in the Help menu above).\n\n") - (fill-region here (point)) - (setq here (point)) - - (unless (nxhtml-skip-welcome) - (insert "Click to ") - (widget-insert-link "remove this message" - (lambda () - "Customize `nxhtml-skip-welcome'." - (customize-option 'nxhtml-skip-welcome)) - nil) - (insert " at startup. (This page is still " - "available in the nXhtml menu, at the bottom.)")) - (fill-region here (point)) - (setq here (point)) - (goto-char (point-min)))) - (select-window curwin))) - -(defcustom nxhtml-skip-welcome nil - "Turn this on to always skip the nXhtml welcome message." - :type 'boolean - :group 'nxhtml) - -(defun nxhtml-skip-welcome () - "Return t if nXhtml welcome message should be skipped. -If nil then the message will be shown when you open the first -file using nxhtml-mode." - (or nxhtml-skip-welcome - (and nxhtml-menu-mode - ;;mumamo-global-mode - ;;indent-region-mode - ))) - -(defun nxhtml-say-welcome-unless-skip () - (condition-case err - (unless (nxhtml-skip-welcome) - (save-match-data - (nxhtml-welcome))) - (error (message "ERROR nxhtml-say-welcome-unless-skip: %s" err)))) - -;; Show welcome screen once after loading nxhtml: -;;(unless (boundp 'bytecomp-filename) -(eval-when '(load) - (eval-after-load 'nxhtml - ;; Use a short delay if something like desktop is used: - '(run-with-idle-timer 0.5 nil 'nxhtml-say-welcome-unless-skip))) - -(provide 'nxhtml-menu) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; nxhtml-menu.el ends here |