From xemacs-m  Sun Apr  6 14:48:29 1997
Received: from altair.xemacs.org (steve@xemacs.miranova.com [206.190.83.19])
	by xemacs.org (8.8.5/8.8.5) with ESMTP id OAA04046
	for <xemacs-beta@xemacs.org>; Sun, 6 Apr 1997 14:48:29 -0500 (CDT)
Received: (from steve@localhost)
	by altair.xemacs.org (8.8.5/8.8.5) id NAA06349;
	Sun, 6 Apr 1997 13:01:24 -0700
Mail-Copies-To: never
To: xemacs-beta@xemacs.org
Subject: [patch] Re: outline-mode fails on tty-only version
References: <199704061656.SAA16699@sol1.cybernet-ag.net>
X-Url: http://www.miranova.com/%7Esteve/
X-Face: #!T9!#9s-3o8)*uHlX{Ug[xW7E7Wr!*L46-OxqMu\xz23v|R9q}lH?cRS{rCNe^'[`^sr5"
 f8*@r4ipO6Jl!:Ccq<xoV[Qz2u8<8-+Vwf2gzJ44lf_/y9OaQ`@#Q65{U4/TC)i2`~/M&QI$X>p:9I
 OSS'2{-)-4wBnVeg0S\O4Al@)uC[pD|+
X-Attribution: sb
From: Steven L Baur <steve@miranova.com>
In-Reply-To: Axel Seibert's message of Sun, 6 Apr 1997 18:56:33 +0200 (MET DST)
Mime-Version: 1.0 (generated by tm-edit 7.106)
Content-Type: text/plain; charset=US-ASCII
Date: 06 Apr 1997 13:01:23 -0700
Message-ID: <m2hghjex9o.fsf@altair.xemacs.org>
Lines: 223
X-Mailer: Gnus v5.4.40/XEmacs 20.1(beta12)

Given that outline mode and C-h n lose totally on XEmacsen without
X11 support, these patches ought to be applied to 19.15+ too.

How are the glyphs in this mode supposed to work in X11 or tty?

Index: lisp/modes/outline.el
===================================================================
RCS file: /usr/local/xemacs/xemacs-20.0/lisp/modes/outline.el,v
retrieving revision 1.2
diff -u -r1.2 outline.el
--- outline.el	1997/02/24 01:13:43	1.2
+++ outline.el	1997/04/06 17:51:47
@@ -172,16 +172,19 @@
 ;;; #+XEmacs
 (defun outline-install-menubar (&optional remove)
   ;; install or remove the outline menus
-  (let ((menus (cdr outline-mode-menu)) path)
-    (and (not remove)
-	(set-buffer-menubar (copy-sequence current-menubar)))
-    (while menus
-      (setq path (list (car (car menus))))
-      (if (and remove (find-menu-item current-menubar path))
-	  (delete-menu-item path)
-	(or (car (find-menu-item current-menubar path))
-	    (add-menu nil (car (car menus)) (cdr (car menus)) nil)))
-      (setq menus (cdr menus)))))
+  ;; This is a nop if menubars aren't available
+  (when (and (featurep 'menubar) ; XEmacs
+	     current-menubar)
+    (let ((menus (cdr outline-mode-menu)) path)
+      (and (not remove)
+	   (set-buffer-menubar (copy-sequence current-menubar)))
+      (while menus
+	(setq path (list (car (car menus))))
+	(if (and remove (find-menu-item current-menubar path))
+	    (delete-menu-item path)
+	  (or (car (find-menu-item current-menubar path))
+	      (add-menu nil (car (car menus)) (cdr (car menus)) nil)))
+	(setq menus (cdr menus))))))
 
 ;;;###autoload
 (defvar outline-minor-mode nil


Index: lisp/modes/outl-mouse.el
===================================================================
RCS file: /usr/local/xemacs/xemacs-20.0/lisp/modes/outl-mouse.el,v
retrieving revision 1.1.1.2
diff -u -r1.1.1.2 outl-mouse.el
--- outl-mouse.el	1996/12/21 20:47:53	1.1.1.2
+++ outl-mouse.el	1997/04/06 19:53:09
@@ -110,10 +110,12 @@
 ;;
 ;; No user definable variables beyond this point.
 ;;
-(defconst outline-up-arrow
-  (make-pixmap	; an up-arrow
-   (if (featurep 'xpm)
-       (concat "/* XPM */
+
+;; I'll bet there's a neat way to do this with specifiers -- a pity the
+;; sucks so badly on it. -sb
+(defconst outline-up-arrow ; XEmacs
+  (make-glyph ; an up-arrow
+   (cond ((featurep 'xpm) (vector 'xpm :data (concat "/* XPM */
 static char * arrow[] = {
 \"10 10 5 1\",
 \" 	c none\",
@@ -130,15 +132,19 @@
 \" ..ooooXX \",
 \" ..ooooXX \",
 \"..OOOOOOXX\",
-\"OOOOOOOOOO\"};")
-     (list 10 10 (concat "\000\000\000\000\060\000\060\000\150\000"
-			 "\150\000\324\000\324\000\376\001\376\001"))))
+\"OOOOOOOOOO\"};")))
+	 ((featurep 'x)
+	  (vector 'xbm
+		  :data
+		  (list 10 10
+			(concat "\000\000\000\000\060\000\060\000\150\000"
+				"\150\000\324\000\324\000\376\001\376\001"))))
+	 (t "^")))
   "Bitmap object for outline up glyph.")
 
-(defconst outline-up-arrow-mask
-  (make-pixmap	; an up-arrow
-   (if (featurep 'xpm)
-       (concat "/* XPM */
+(defconst outline-up-arrow-mask ; XEmacs
+  (make-glyph ; an up-arrow
+   (cond ((featurep 'xpm) (vector 'xpm :data (concat "/* XPM */
 static char * arrow[] = {
 \"10 10 5 1\",
 \" 	c none\",
@@ -155,15 +161,19 @@
 \" ..ooooXX \",
 \" ..ooooXX \",
 \"..OOOOOOXX\",
-\"OOOOOOOOOO\"};")
-     (list 10 10 (concat "\000\000\000\000\060\000\060\000\130\000"
-			 "\130\000\254\000\274\000\006\001\376\001"))))
+\"OOOOOOOOOO\"};")))
+	 ((featurep 'x)
+	  (vector 'xbm
+		  :data 
+		  (list 10 10
+			(concat "\000\000\000\000\060\000\060\000\130\000"
+				"\130\000\254\000\274\000\006\001\376\001"))))
+	 (t "+")))
   "Bitmap object for outline depressed up glyph.")
 
-(defconst outline-down-arrow
-  (make-pixmap	; a down-arrow
-   (if (featurep 'xpm)
-       (concat "/* XPM */
+(defconst outline-down-arrow ; XEmacs
+  (make-glyph	; a down-arrow
+   (cond ((featurep 'xpm) (vector 'xpm :data (concat "/* XPM */
 static char * down[] = {
 \"10 10 5 1\",
 \" 	c " outline-glyph-lit-colour "\",
@@ -180,15 +190,19 @@
 \"ooo..XXooo\",
 \"ooo..XXooo\",
 \"oooo.Xoooo\",
-\"oooo.Xoooo\"};")
-     (list 10 10 (concat "\000\000\000\000\376\001\202\001\364\000"
-			 "\324\000\150\000\150\000\060\000\060\000"))))
+\"oooo.Xoooo\"};")))
+	 ((featurep 'x)
+	  (vector 'xbm
+		  :data 
+		  (list 10 10
+			(concat "\000\000\000\000\376\001\202\001\364\000"
+				"\324\000\150\000\150\000\060\000\060\000"))))
+	 (t "v")))
   "Bitmap object for outline down glyph.")
 
-(defconst outline-down-arrow-mask
-  (make-pixmap	; a down-arrow
-   (if (featurep 'xpm)
-       (concat "/* XPM */
+(defconst outline-down-arrow-mask ; XEmacs
+  (make-glyph	; a down-arrow
+   (cond ((featurep 'xpm) (vector 'xpm :data (concat "/* XPM */
 static char * down[] = {
 \"10 10 5 1\",
 \" 	c " outline-glyph-shade-colour "\",
@@ -205,15 +219,19 @@
 \"ooo..XXooo\",
 \"ooo..XXooo\",
 \"oooo.Xoooo\",
-\"oooo.Xoooo\"};")
-   (list 10 10 (concat "\000\000\000\000\376\001\376\001\254\000"
-		       "\254\000\130\000\130\000\060\000\060\000"))))
+\"oooo.Xoooo\"};")))
+	 ((featurep 'x)
+	  (vector 'xbm
+		  :data
+		  (list 10 10
+			(concat "\000\000\000\000\376\001\376\001\254\000"
+				"\254\000\130\000\130\000\060\000\060\000"))))
+	 (t "+")))
   "Bitmap object for outline depressed down glyph.")
 
 (defconst outline-right-arrow
-  (make-pixmap	; a right-arrow
-   (if (featurep 'xpm)
-       (concat "/* XPM */
+  (make-glyph	; a right-arrow
+   (cond ((featurep 'xpm) (vector 'xpm :data (concat "/* XPM */
 static char * right[] = {
 \"10 10 5 1\",
 \" 	c " outline-glyph-lit-colour "\",
@@ -230,15 +248,19 @@
 \"  ooOOOOXX\",
 \"  OOOOXXXX\",
 \" OOOXXXXXX\",
-\" OXXXXXXXX\"};")
-   (list 10 10 (concat "\000\000\006\000\032\000\142\000\232\001"
-		       "\352\001\172\000\036\000\006\000\000\000"))))
+\" OXXXXXXXX\"};")))
+	 ((featurep 'x)
+	  (vector 'xbm
+		  :data
+		  (list 10 10
+			(concat "\000\000\006\000\032\000\142\000\232\001"
+				"\352\001\172\000\036\000\006\000\000\000"))))
+	 (t ">")))
   "Bitmap object for outline right glyph.")
 
 (defconst outline-right-arrow-mask
-  (make-pixmap	; a right-arrow
-   (if (featurep 'xpm)
-       (concat "/* XPM */
+  (make-glyph	; a right-arrow
+   (cond ((featurep 'xpm) (vector 'xpm :data (concat "/* XPM */
 static char * right[] = {
 \"10 10 5 1\",
 \" 	c " outline-glyph-shade-colour "\",
@@ -255,9 +277,14 @@
 \"  ooOOOOXX\",
 \"  OOOOXXXX\",
 \" OOOXXXXXX\",
-\" OXXXXXXXX\"};")
-   (list 10 10 (concat "\000\000\006\000\036\000\176\000\346\001"
-		       "\236\001\146\000\036\000\006\000\000\000"))))
+\" OXXXXXXXX\"};")))
+	 ((featurep 'x)
+	  (vector 'xbm
+		  :data
+		  (list 10 10
+			(concat "\000\000\006\000\036\000\176\000\346\001"
+				"\236\001\146\000\036\000\006\000\000\000"))))
+	 (t "+")))
   "Bitmap object for outline depressed right glyph.")
 
 (defvar outline-glyph-menu

-- 
steve@miranova.com baur
Unsolicited commercial e-mail will be billed at $250/message.

