Description: <short summary of the patch>
 TODO: Put a short summary on the line above and replace this paragraph
 with a longer explanation of this change. Complete the meta-information
 with other relevant fields (see below for details). To make it easier, the
 information below has been extracted from the changelog. Adjust it or drop
 it.
 .
 gcl (2.6.14-2) unstable; urgency=medium
 .
   * Version_2_6_15pre1
Author: Camm Maguire <camm@debian.org>

---
The information above should follow the Patch Tagging Guidelines, please
checkout https://dep.debian.net/deps/dep3/ to learn about the format. Here
are templates for supplementary fields that you might want to add:

Origin: (upstream|backport|vendor|other), (<patch-url>|commit:<commit-id>)
Bug: <upstream-bugtracker-url>
Bug-Debian: https://bugs.debian.org/<bugnumber>
Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
Forwarded: (no|not-needed|<patch-forwarded-url>)
Applied-Upstream: <version>, (<commit-url>|commit:<commid-id>)
Reviewed-By: <name and email of someone who approved/reviewed the patch>
Last-Update: 2023-02-12

--- gcl-2.6.14.orig/cmpnew/gcl_cmpfun.lsp
+++ gcl-2.6.14/cmpnew/gcl_cmpfun.lsp
@@ -419,7 +419,7 @@
 		     (t (error "should not get here")))
 	       )))
     (c1expr (cons fun args))))
-(defun shift>> (a b) (ash a  b))
+(defun shift>> (a b) (ash a  (- b)))
 (defun shift<< (a b) (ash a  b))
 (si:putprop 'ash '(c1ash-condition . c1ash)  'c1conditional)
 (si:putprop 'shift>> "Lash" 'lfun)
--- gcl-2.6.14.orig/cmpnew/gcl_cmpopt.lsp
+++ gcl-2.6.14/cmpnew/gcl_cmpopt.lsp
@@ -1280,11 +1280,6 @@
 ;; type_of(#0)==t_bitvector")
 ;;    (get 'vectorp 'inline-always))
 
-;;WRITE-CHAR
- (push '((t) t #.(flags set)
-  "@0;(writec_stream(char_code(#0),Vstandard_output->s.s_dbind),(#0))")
-   (get 'write-char 'inline-unsafe))
-
 ;;EVENP
 (push '((t) boolean #.(compiler::flags) "immnum_evenp(#0)") (get 'evenp 'compiler::inline-always))
 ;;ODDP
--- gcl-2.6.14.orig/configure
+++ gcl-2.6.14/configure
@@ -7091,8 +7091,7 @@ else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-		    #include <stdio.h>
-		    #include <stdlib.h>
+		    #include "h/unrandomize_headers.h"
 		    int main(int argc,char *argv[],char *envp[]) {
 			#include "h/unrandomize.h"
 			return 0;
@@ -7128,8 +7127,7 @@ else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-		    #include <stdio.h>
-		    #include <stdlib.h>
+		    #include "h/unrandomize_headers.h"
 		    int main(int argc,char * argv[],char * envp[]) {
 			FILE *f;
 			#ifdef CAN_UNRANDOMIZE_SBRK
@@ -7165,8 +7163,7 @@ else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-		    #include <stdio.h>
-		    #include <stdlib.h>
+		    #include "h/unrandomize_headers.h"
 		    int main(int argc,char * argv[],char * envp[]) {
 			FILE *f;
 			#ifdef CAN_UNRANDOMIZE_SBRK
@@ -7215,8 +7212,7 @@ else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-		#include <stdio.h>
-		#include <stdlib.h>
+  		#include "h/unrandomize_headers.h"
 		int main(int argc,char **argv,char **envp) {
 		    FILE *fp = fopen("conftest1","w");
 		    #ifdef CAN_UNRANDOMIZE_SBRK
@@ -7255,8 +7251,7 @@ else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-		#include <stdio.h>
-		#include <stdlib.h>
+		#include "h/unrandomize_headers.h"
 		int main(int argc,char **argv,char **envp) {
 		    void *b,*c;
 		    FILE *fp = fopen("conftest1","w");
@@ -7311,8 +7306,7 @@ else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-		#include <stdio.h>
-		#include <stdlib.h>
+		#include "h/unrandomize_headers.h"
 		int
 		main(int argc,char **argv,char **envp) {
 		    FILE *fp = fopen("conftest1","w");
@@ -7362,8 +7356,7 @@ else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-		#include <stdio.h>
-		#include <stdlib.h>
+		#include "h/unrandomize_headers.h"
 		int
 		main(int argc,char **argv,char **envp) {
 		    void *v ;
@@ -7415,8 +7408,7 @@ else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-		#include <stdio.h>
-		#include <stdlib.h>
+		#include "h/unrandomize_headers.h"
 		int
 		main(int argc,char **argv,char **envp) {
 		    #ifdef CAN_UNRANDOMIZE_SBRK
--- gcl-2.6.14.orig/configure.in
+++ gcl-2.6.14/configure.in
@@ -1181,8 +1181,7 @@ if test "$HAVE_SBRK" = "1" ; then
     AC_RUN_IFELSE(
 	[AC_LANG_SOURCE(
 		[[
-		    #include <stdio.h>
-		    #include <stdlib.h>
+		    #include "h/unrandomize_headers.h"
 		    int main(int argc,char *argv[],char *envp[]) {
 			#include "h/unrandomize.h"
 			return 0;
@@ -1197,8 +1196,7 @@ if test "$HAVE_SBRK" = "1" ; then
     AC_RUN_IFELSE(
 	[AC_LANG_SOURCE(
 		[[
-		    #include <stdio.h>
-		    #include <stdlib.h>
+		    #include "h/unrandomize_headers.h"
 		    int main(int argc,char * argv[],char * envp[]) {
 			FILE *f;
 			#ifdef CAN_UNRANDOMIZE_SBRK
@@ -1218,8 +1216,7 @@ if test "$HAVE_SBRK" = "1" ; then
     AC_RUN_IFELSE(
 	[AC_LANG_SOURCE(
 		[[
-		    #include <stdio.h>
-		    #include <stdlib.h>
+		    #include "h/unrandomize_headers.h"
 		    int main(int argc,char * argv[],char * envp[]) {
 			FILE *f;
 			#ifdef CAN_UNRANDOMIZE_SBRK
@@ -1249,8 +1246,7 @@ AC_MSG_CHECKING(CSTACK_DIRECTION)
 AC_RUN_IFELSE(
     [AC_LANG_SOURCE(
 	    [[
-		#include <stdio.h>
-		#include <stdlib.h>
+  		#include "h/unrandomize_headers.h"
 		int main(int argc,char **argv,char **envp) {
 		    FILE *fp = fopen("conftest1","w");
 		    #ifdef CAN_UNRANDOMIZE_SBRK
@@ -1268,8 +1264,7 @@ AC_MSG_CHECKING([finding CSTACK_ALIGNMEN
 AC_RUN_IFELSE(
     [AC_LANG_SOURCE(
 	    [[
-		#include <stdio.h>
-		#include <stdlib.h>
+		#include "h/unrandomize_headers.h"
 		int main(int argc,char **argv,char **envp) {
 		    void *b,*c;
 		    FILE *fp = fopen("conftest1","w");
@@ -1297,8 +1292,7 @@ AC_MSG_CHECKING(CSTACK_ADDRESS)
 AC_RUN_IFELSE(
     [AC_LANG_SOURCE(
 	    [[
-		#include <stdio.h>
-		#include <stdlib.h>
+		#include "h/unrandomize_headers.h"
 		int
 		main(int argc,char **argv,char **envp) {
 		    FILE *fp = fopen("conftest1","w");
@@ -1327,8 +1321,7 @@ AC_MSG_CHECKING([cstack bits])
 AC_RUN_IFELSE(
     [AC_LANG_SOURCE(
 	    [[
-		#include <stdio.h>
-		#include <stdlib.h>
+		#include "h/unrandomize_headers.h"
 		int
 		main(int argc,char **argv,char **envp) {
 		    void *v ;
@@ -1359,8 +1352,7 @@ AC_MSG_CHECKING(NEG_CSTACK_ADDRESS)
 AC_RUN_IFELSE(
     [AC_LANG_SOURCE(
 	    [[
-		#include <stdio.h>
-		#include <stdlib.h>
+		#include "h/unrandomize_headers.h"
 		int
 		main(int argc,char **argv,char **envp) {
 		    #ifdef CAN_UNRANDOMIZE_SBRK
--- gcl-2.6.14.orig/git.tag
+++ gcl-2.6.14/git.tag
@@ -1,2 +1 @@
-"Version_2_6_14"
-
+"Version_2_6_15pre1"
--- gcl-2.6.14.orig/h/unrandomize.h
+++ gcl-2.6.14/h/unrandomize.h
@@ -1,11 +1,3 @@
-#include <sys/personality.h>
-#include <sys/mman.h>
-#include <syscall.h>
-#include <unistd.h>
-#include <string.h>
-#include <alloca.h>
-#include <errno.h>
-
 {
   errno=0;
 
--- /dev/null
+++ gcl-2.6.14/h/unrandomize_headers.h
@@ -0,0 +1,10 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/personality.h>
+#include <sys/mman.h>
+#include <syscall.h>
+#include <unistd.h>
+#include <string.h>
+#include <alloca.h>
+#include <errno.h>
+
--- gcl-2.6.14.orig/lsp/gcl_top.lsp
+++ gcl-2.6.14/lsp/gcl_top.lsp
@@ -130,6 +130,7 @@
       (cond ((equal x "-load") (load (pop args)))
 	    ((equal x "-eval") (eval (read-from-string (pop args))))
 	    ((equal x "-batch") (setq *top-level-hook* 'bye))
+	    ((or (equal x "-v") (equal x "--version")) (format t "~a~%" (lisp-implementation-version)) (setq *top-level-hook* 'bye))
 	    ((equal x "-o-file") (unless (read-from-string (car args))
 				   (push (cons :o-file nil) compile)
 				   (pop args)))
--- gcl-2.6.14.orig/o/gcl_readline.d
+++ gcl-2.6.14/o/gcl_readline.d
@@ -109,7 +109,7 @@ rl_completion_words(const char *text, in
       }
     }
     
-    package=package ? package : user_package;
+    package=(package!=OBJNULL && package!=Cnil) ? package : user_package;
     use=package->p.p_uselist;
     internal=temp && temp[1]==':' ? 1 : 0;
     ftext=text;
--- gcl-2.6.14.orig/o/main.c
+++ gcl-2.6.14/o/main.c
@@ -516,6 +516,8 @@ which(const char *n,char *o) {
 static int ARGC;
 static char **ARGV;
 
+#include "unrandomize_headers.h"
+
 int
 main(int argc, char **argv, char **envp) {
 
