comparison lisp/modes/outline.el @ 70:131b0175ea99 r20-0b30

Import from CVS: tag r20-0b30
author cvs
date Mon, 13 Aug 2007 09:02:59 +0200
parents 56c54cf7c5b6
children 4be1180a9e89
comparison
equal deleted inserted replaced
69:804d1389bcd6 70:131b0175ea99
170 (define-key outline-mode-map [button3] 'outline-mode-menu) 170 (define-key outline-mode-map [button3] 'outline-mode-menu)
171 171
172 ;;; #+XEmacs 172 ;;; #+XEmacs
173 (defun outline-install-menubar (&optional remove) 173 (defun outline-install-menubar (&optional remove)
174 ;; install or remove the outline menus 174 ;; install or remove the outline menus
175 ;; This is a nop if menubars aren't available 175 (let ((menus (cdr outline-mode-menu)) path)
176 (when (and (featurep 'menubar) ; XEmacs 176 (and (not remove)
177 current-menubar) 177 (set-buffer-menubar (copy-sequence current-menubar)))
178 (let ((menus (cdr outline-mode-menu)) path) 178 (while menus
179 (and (not remove) 179 (setq path (list (car (car menus))))
180 (set-buffer-menubar (copy-sequence current-menubar))) 180 (if (and remove (find-menu-item current-menubar path))
181 (while menus 181 (delete-menu-item path)
182 (setq path (list (car (car menus)))) 182 (or (car (find-menu-item current-menubar path))
183 (if (and remove (find-menu-item current-menubar path)) 183 (add-menu nil (car (car menus)) (cdr (car menus)) nil)))
184 (delete-menu-item path) 184 (setq menus (cdr menus)))))
185 (or (car (find-menu-item current-menubar path))
186 (add-menu nil (car (car menus)) (cdr (car menus)) nil)))
187 (setq menus (cdr menus))))))
188 185
189 ;;;###autoload 186 ;;;###autoload
190 (defvar outline-minor-mode nil 187 (defvar outline-minor-mode nil
191 "Non-nil if using Outline mode as a minor mode of some other mode.") 188 "Non-nil if using Outline mode as a minor mode of some other mode.")
192 ;;;###autoload 189 ;;;###autoload
314 ;; #+XEmacs 311 ;; #+XEmacs
315 (outline-install-menubar) 312 (outline-install-menubar)
316 (run-hooks 'outline-minor-mode-hook)) 313 (run-hooks 'outline-minor-mode-hook))
317 (setq selective-display nil)) 314 (setq selective-display nil))
318 ;; When turning off outline mode, get rid of any ^M's. 315 ;; When turning off outline mode, get rid of any ^M's.
319 (unless outline-minor-mode 316 (or outline-minor-mode
320 (outline-flag-region (point-min) (point-max) ?\n) 317 (outline-flag-region (point-min) (point-max) ?\n))
321 ;; XEmacs change 318 ;; XEmacs change
322 (set-buffer-modified-p (buffer-modified-p)) 319 (set-buffer-modified-p (buffer-modified-p))
323 ;; #+XEmacs 320 ;; #+XEmacs
324 (outline-install-menubar 'remove)) 321 (outline-install-menubar 'remove)
325 ;; XEmacs change 322 ;; XEmacs change
326 (redraw-modeline)) 323 (redraw-modeline))
327 324
328 (defvar outline-level 'outline-level 325 (defvar outline-level 'outline-level
329 "Function of no args to compute a header's nesting level in an outline. 326 "Function of no args to compute a header's nesting level in an outline.