Hello community,

here is the log from the commit of package cscope for openSUSE:Factory
checked in at Fri Jun 24 09:35:10 CEST 2011.



--------
--- cscope/cscope.changes       2011-04-29 14:33:51.000000000 +0200
+++ /mounts/work_src_done/STABLE/cscope/cscope.changes  2011-06-22 
20:37:43.000000000 +0200
@@ -1,0 +2,8 @@
+Wed Jun 22 11:40:10 CDT 2011 - [email protected]
+
+- fix carriage return in egrep output
+    - added egrep.out patch (bnc#699156)
+- fix control-z in interactive curses mode
+    - added ctrlz patch (bnc#699317)
+
+-------------------------------------------------------------------

calling whatdependson for head-i586


New:
----
  cscope-ctrlz.patch
  cscope-egrep.out.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ cscope.spec ++++++
--- /var/tmp/diff_new_pack.PDJTep/_old  2011-06-24 09:33:58.000000000 +0200
+++ /var/tmp/diff_new_pack.PDJTep/_new  2011-06-24 09:33:58.000000000 +0200
@@ -19,7 +19,7 @@
 
 Name:           cscope
 Version:        15.7a
-Release:        11
+Release:        13
 License:        BSD3c
 Summary:        Interactive Tool for Browsing C Source Code
 Url:            http://cscope.sourceforge.net/
@@ -29,6 +29,8 @@
 Patch2:         %{name}-15.7-gcc-warnings.patch
 Patch3:         %{name}-15.7-vpath.patch
 Patch5:         %{name}-cleanup_on_sigterm.patch
+Patch6:         %{name}-egrep.out.patch
+Patch7:         %{name}-ctrlz.patch
 BuildRequires:  bison
 BuildRequires:  flex
 BuildRequires:  ncurses-devel
@@ -44,6 +46,8 @@
 %patch2
 %patch3
 %patch5
+%patch6 -p1
+%patch7 -p1
 
 %build
 %{?suse_update_config:%{suse_update_config}}

++++++ cscope-ctrlz.patch ++++++
# restore control-z functionality of interactive cscope.
# version 15.6 (and previous) had control-z functionality because 
# the terminal was in cbreak mode.  Putting the terminal in raw mode
# fixed using control-c to change the 'ignore case mode'.
# catch the control-z and send ourself the suspend signal.
# [email protected]
#
--- cscope-15.7a/src/command.c  2009-04-10 08:40:36.000000000 -0500
+++ cscope-15.7a.orig/src/command.c     2011-06-10 09:33:21.862932467 -0500
@@ -634,11 +634,13 @@ changestring(void)
        atchange();
                
        /* get a character from the terminal */
-       if ((c = mygetch()) == EOF
-           || c == ctrl('D') 
-           || c == ctrl('Z')) {
+       if ((c = mygetch()) == EOF || c == ctrl('D')) {
            break;      /* change lines */
        }
+       if (c == ctrl('Z')) {
+           kill(0, SIGTSTP);
+           goto same;
+       }
        /* see if the input character is a command */
        switch (c) {
        case ' ':       /* display next page */
--- cscope-15.7a/src/main.c     2011-06-09 15:36:06.275174224 -0500
+++ cscope-15.7a.orig/src/main.c        2011-06-10 09:39:17.120599658 -0500
@@ -707,9 +707,13 @@ cscope: cannot read source file name fro
            atfield();  /* move to the input field */
 
        /* exit if the quit command is entered */
-       if ((c = mygetch()) == EOF || c == ctrl('D') || c == ctrl('Z')) {
+       if ((c = mygetch()) == EOF || c == ctrl('D')) {
            break;
        }
+       if (c == ctrl('Z')) {
+           kill(0, SIGTSTP);
+           continue;
+       }
        /* execute the commmand, updating the display if necessary */
        if (command(c) == YES) {
            display();
++++++ cscope-egrep.out.patch ++++++
# on sources that have '\r\n' in them, egrep produces no output
# strip the carriage return out of the output 
# [email protected]
#
--- cscope-15.7a/src/egrep.y    2008-03-12 15:43:56.000000000 -0500
+++ cscope-15.7a.orig/src/egrep.y       2011-06-09 15:32:08.809669622 -0500
@@ -592,12 +592,22 @@ egrep(char *file, FILE *output, char *fo
                succeed:
                    fprintf(output, format, file, lnum);
                    if (p <= nlp) {
-                       while (nlp < &buf[2*BUFSIZ])
+                       while (nlp < &buf[2*BUFSIZ]) {
+                           if ('\r' == *nlp) {
+                               nlp++;
+                               continue;
+                           }
                            putc(*nlp++, output);
+                       }
                        nlp = buf;
                    }
-                   while (nlp < p)
+                   while (nlp < p) {
+                       if ('\r' == *nlp) {
+                           nlp++;
+                           continue;
+                       }
                        putc(*nlp++, output);
+                   }
                    lnum++;
                    nlp = p;
                    if ((out[(cstat=istat)]) == 0)

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



Remember to have fun...

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to