]> git.eshelyaron.com Git - emacs.git/commitdiff
Revert overenthusiastic procfs fixup
authorPaul Eggert <eggert@cs.ucla.edu>
Mon, 12 Mar 2018 17:35:25 +0000 (10:35 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Mon, 12 Mar 2018 17:37:05 +0000 (10:37 -0700)
Also, be more systematic in calls to string_to_number.
* src/sysdep.c (list_system_processes) [HAVE_PROCFS]: Allow pids
to be floating-point if they exceed fixnum range.  This partially
reverts my patch 2018-03-09T20:06:05Z!eggert@cs.ucla.edu, which
went too far in fixing string-to-number mishandling.

src/data.c
src/lread.c
src/process.c
src/sysdep.c
src/xfaces.c

index 62b3fcfeb24caef962d0987422e44ef880562424..06308c62c49191dd36a20dbdb185c839d4f3799e 100644 (file)
@@ -2754,7 +2754,7 @@ If the base used is not 10, STRING is always parsed as an integer.  */)
   while (*p == ' ' || *p == '\t')
     p++;
 
-  val = string_to_number (p, b, 1);
+  val = string_to_number (p, b, true);
   return NILP (val) ? make_number (0) : val;
 }
 \f
index 0ea7677300b4617325608ff091f17fc6e95c8d91..381f9cf20c535d970bb4606e5f53da0df546f3b6 100644 (file)
@@ -2693,7 +2693,7 @@ read_integer (Lisp_Object readcharfun, EMACS_INT radix)
       invalid_syntax (buf);
     }
 
-  return string_to_number (buf, radix, 0);
+  return string_to_number (buf, radix, false);
 }
 
 
@@ -3502,7 +3502,7 @@ read1 (Lisp_Object readcharfun, int *pch, bool first_in_list)
 
        if (!quoted && !uninterned_symbol)
          {
-           Lisp_Object result = string_to_number (read_buffer, 10, 0);
+           Lisp_Object result = string_to_number (read_buffer, 10, false);
            if (! NILP (result))
              return unbind_to (count, result);
          }
index 9b9b9f35503a313421530eea928673b9db5169dd..11d914aab240a86304846abad7d50bdd9e96563a 100644 (file)
@@ -6844,7 +6844,7 @@ SIGCODE may be an integer, or a symbol whose name is a signal name.  */)
       if (NILP (tem))
        {
          Lisp_Object process_number
-           = string_to_number (SSDATA (process), 10, 1);
+           = string_to_number (SSDATA (process), 10, true);
          if (NUMBERP (process_number))
            tem = process_number;
        }
index 1eaf648ea78de693582272adb6062fb3b9af763a..c59034ce5c30373f3049aa11700496680cccd832 100644 (file)
@@ -3006,11 +3006,7 @@ list_system_processes (void)
   for (tail = proclist; CONSP (tail); tail = next)
     {
       next = XCDR (tail);
-      Lisp_Object pidstring = XCAR (tail);
-      Lisp_Object pid = Fstring_to_number (pidstring, Qnil);
-      if (!INTEGERP (pid) || XINT (pid) <= 0)
-       xsignal1 (Qoverflow_error, pidstring);
-      XSETCAR (tail, pid);
+      XSETCAR (tail, Fstring_to_number (XCAR (tail), Qnil));
     }
 
   /* directory_files_internal returns the files in reverse order; undo
index 56df06574a793adf6eafe239cf9f088102af029d..a9c2f37e9f2bcaf92d0af687c255648d29d2163a 100644 (file)
@@ -3392,7 +3392,7 @@ DEFUN ("internal-set-lisp-face-attribute-from-resource",
     value = Qunspecified;
   else if (EQ (attr, QCheight))
     {
-      value = Fstring_to_number (value, make_number (10));
+      value = Fstring_to_number (value, Qnil);
       if (!INTEGERP (value) || XINT (value) <= 0)
        signal_error ("Invalid face height from X resource", value);
     }