Merge from emacs-24
authorStefan Monnier <monnier@iro.umontreal.ca>
Tue, 17 Jul 2012 11:52:00 +0000 (07:52 -0400)
committerStefan Monnier <monnier@iro.umontreal.ca>
Tue, 17 Jul 2012 11:52:00 +0000 (07:52 -0400)
12 files changed:
admin/CPP-DEFINES
admin/ChangeLog
admin/bzrmerge.el
lisp/ChangeLog
lisp/gnus/ChangeLog
lisp/gnus/shr.el
lisp/progmodes/sh-script.el
src/ChangeLog
src/buffer.c
src/dired.c
src/fileio.c
src/s/msdos.h

index 73c4ed2..9fc7ce3 100644 (file)
@@ -95,7 +95,6 @@ EMACS_CONFIGURATION
 EMACS_CONFIG_OPTIONS
 EMACS_INT
 EMACS_UINT
-FILE_SYSTEM_CASE
 FLOAT_CHECK_DOMAIN
 GC_LISP_OBJECT_ALIGNMENT
 GC_MARK_SECONDARY_STACK
index 1aa086c..0d05971 100644 (file)
@@ -1,3 +1,10 @@
+2012-07-17  Eli Zaretskii  <eliz@gnu.org>
+
+       * CPP-DEFINES: Remove FILE_SYSTEM_CASE.
+
+2012-07-17  Chong Yidong  <cyd@gnu.org>
+
+       * Version 24.1 released.
 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
 
        Assume mkdir, perror, rename, rmdir, strerror.
index 4f5cee1..977e958 100644 (file)
@@ -138,17 +138,17 @@ Type `y' to skip this revision,
 `N' to include it and go on to the next revision,
 `n' to not skip, but continue to search this log entry for skip regexps,
 `q' to quit merging."))
-                    (case (save-excursion
+                    (pcase (save-excursion
                             (read-char-choice
                              (format "%s: Skip (y/n/N/q/%s)? " str
                                      (key-description (vector help-char)))
                              '(?y ?n ?N ?q)))
-                      (?y (setq skip t))
-                      (?q (keyboard-quit))
+                      (`?y (setq skip t))
+                      (`?q (keyboard-quit))
                       ;; A single log entry can match skip-regexp multiple
                       ;; times.  If you are sure you don't want to skip it,
                       ;; you don't want to be asked multiple times.
-                      (?N (setq skip 'no))))))
+                      (`?N (setq skip 'no))))))
               (if (eq skip t)
                   (push revno skipped)
                 (push revno revnos)))))
index 04cf829..1648aa3 100644 (file)
@@ -1,3 +1,9 @@
+2012-07-17  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * progmodes/sh-script.el (sh-syntax-propertize-function): Fix last
+       change (bug#11826).
+
+2012-07-17  Glenn Morris  <rgm@gnu.org>
 2012-07-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * progmodes/cc-engine.el (c-forward-sws, c-backward-sws):
        read-file-name-completion-ignore-case is non-nil.  Don't use
        case-fold-search for this purpose.  (Bug#11827)
 
+2012-07-17  Andreas Schwab  <schwab@linux-m68k.org>
+
+       * calendar/cal-dst.el (calendar-current-time-zone):
+       Return calendar-current-time-zone-cache if non-nil.
+
+2012-07-17  Masatake YAMATO  <yamato@redhat.com>
 2012-07-06  Andreas Schwab  <schwab@linux-m68k.org>
 
        * calendar/cal-dst.el (calendar-current-time-zone):
index 4196649..6c1d2b9 100644 (file)
@@ -1,3 +1,8 @@
+2012-07-17  Andreas Schwab  <schwab@linux-m68k.org>
+
+       * shr.el (shr-expand-url): Handle URL starting with `//'.
+
+2012-07-17  Toke Høiland-Jørgensen  <toke@toke.dk>  (tiny change)
 2012-07-13  Chong Yidong  <cyd@gnu.org>
 
        * smime.el (smime-certificate-info): Set buffer-read-only directly,
index bf6e57e..e7a6c5d 100644 (file)
@@ -484,6 +484,9 @@ size, and full-buffer size."
        (string-match "\\`[a-z]*:" url)
        (not shr-base))
     url)
+   ((and (string-match "\\`//" url)
+        (string-match "\\`[a-z]*:" shr-base))
+    (concat (match-string 0 shr-base) url))
    ((and (not (string-match "/\\'" shr-base))
         (not (string-match "\\`/" url)))
     (concat shr-base "/" url))
index 034cfa4..be664c6 100644 (file)
@@ -1096,12 +1096,12 @@ subshells can nest."
     (")" (0 (sh-font-lock-paren (match-beginning 0))))
     ;; Highlight (possibly nested) subshells inside "" quoted
     ;; regions correctly.
-    ("\"\\(?:\\(?:[^\\\"]\\|\\)*?[^\\]\\(?:\\\\\\\\\\)*\\)??\\(\\$(\\|`\\)"
+    ("\"\\(?:\\(?:[^\\\"]\\|\\\\.\\)*?\\)??\\(\\$(\\|`\\)"
      (1 (ignore
-         ;; Save excursion because we want to also apply other
-         ;; syntax-propertize rules within the affected region.
-         (if (nth 8 (syntax-ppss))
+         (if (nth 8 (save-excursion (syntax-ppss (match-beginning 0))))
              (goto-char (1+ (match-beginning 0)))
+           ;; Save excursion because we want to also apply other
+           ;; syntax-propertize rules within the affected region.
            (save-excursion
              (sh-font-lock-quoted-subshell end)))))))
    (point) end))
index b169bcc..b78f261 100644 (file)
@@ -1,3 +1,34 @@
+2012-07-17  Eli Zaretskii  <eliz@gnu.org>
+
+       Remove FILE_SYSTEM_CASE.
+       * s/msdos.h (FILE_SYSTEM_CASE): Don't define.
+
+       * fileio.c (FILE_SYSTEM_CASE): Don't define.
+       (Ffile_name_directory, Fexpand_file_name): Don't use FILE_SYSTEM_CASE.
+       Fixes problems on MS-DOS with Vtemp_file_name_pattern when
+       call-process-region passes it through expand-file-name.
+
+       * dired.c (file_name_completion): Don't use FILE_SYSTEM_CASE.
+
+2012-07-17  Andreas Schwab  <schwab@linux-m68k.org>
+
+       Fix crash when creating indirect buffer (Bug#11917)
+       * buffer.c (buffer_lisp_local_variables): Add argument CLONE.
+       Don't handle unbound variables specially if non-zero.
+       (Fbuffer_local_variables): Pass zero.
+       (clone_per_buffer_values): Pass non-zero.
+
+2012-07-17  Andreas Schwab  <schwab@linux-m68k.org>
+
+       * gnutls.c (emacs_gnutls_handshake): Revert last change.  Add QUIT
+       to make the loop interruptible.
+
+2012-07-17  Andreas Schwab  <schwab@linux-m68k.org>
+
+       * gnutls.c (emacs_gnutls_handshake): Only retry if
+       GNUTLS_E_INTERRUPTED.
+
+2012-07-17  Eli Zaretskii  <eliz@gnu.org>
 2012-07-17  Dmitry Antipov  <dmantipov@yandex.ru>
 
        Cleanup and convert miscellaneous checks to eassert.
index eaa3d94..1e1bd93 100644 (file)
@@ -153,7 +153,7 @@ static void alloc_buffer_text (struct buffer *, ptrdiff_t);
 static void free_buffer_text (struct buffer *b);
 static struct Lisp_Overlay * copy_overlays (struct buffer *, struct Lisp_Overlay *);
 static void modify_overlay (struct buffer *, ptrdiff_t, ptrdiff_t);
-static Lisp_Object buffer_lisp_local_variables (struct buffer *);
+static Lisp_Object buffer_lisp_local_variables (struct buffer *, int);
 
 /* For debugging; temporary.  See set_buffer_internal.  */
 /* Lisp_Object Qlisp_mode, Vcheck_symbol; */
@@ -487,7 +487,7 @@ clone_per_buffer_values (struct buffer *from, struct buffer *to)
 
   /* Get (a copy of) the alist of Lisp-level local variables of FROM
      and install that in TO.  */
-  BVAR (to, local_var_alist) = buffer_lisp_local_variables (from);
+  BVAR (to, local_var_alist) = buffer_lisp_local_variables (from, 1);
 }
 
 
@@ -1012,10 +1012,12 @@ buffer_local_value_1 (Lisp_Object variable, Lisp_Object buffer)
 
 /* Return an alist of the Lisp-level buffer-local bindings of
    buffer BUF.  That is, don't include the variables maintained
-   in special slots in the buffer object.  */
+   in special slots in the buffer object.
+   If CLONE is zero elements of the form (VAR . unbound) are replaced
+   by VAR.  */
 
 static Lisp_Object
-buffer_lisp_local_variables (struct buffer *buf)
+buffer_lisp_local_variables (struct buffer *buf, int clone)
 {
   Lisp_Object result = Qnil;
   register Lisp_Object tail;
@@ -1035,7 +1037,7 @@ buffer_lisp_local_variables (struct buffer *buf)
       if (buf != current_buffer)
        val = XCDR (elt);
 
-      result = Fcons (EQ (val, Qunbound)
+      result = Fcons (!clone && EQ (val, Qunbound)
                      ? XCAR (elt)
                      : Fcons (XCAR (elt), val),
                      result);
@@ -1064,7 +1066,7 @@ No argument or nil as argument means use current buffer as BUFFER.  */)
       buf = XBUFFER (buffer);
     }
 
-  result = buffer_lisp_local_variables (buf);
+  result = buffer_lisp_local_variables (buf, 0);
 
   /* Add on all the variables stored in special slots.  */
   {
index 48d3da1..7c047f9 100644 (file)
@@ -470,9 +470,6 @@ file_name_completion (Lisp_Object file, Lisp_Object dirname, int all_flag, int v
 
   CHECK_STRING (file);
 
-#ifdef FILE_SYSTEM_CASE
-  file = FILE_SYSTEM_CASE (file);
-#endif
   bestmatch = Qnil;
   encoded_file = encoded_dir = Qnil;
   GCPRO5 (file, dirname, bestmatch, encoded_file, encoded_dir);
index 2b55b6f..185dd65 100644 (file)
@@ -84,10 +84,6 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "commands.h"
 
-#ifndef FILE_SYSTEM_CASE
-#define FILE_SYSTEM_CASE(filename)  (filename)
-#endif
-
 /* Nonzero during writing of auto-save files.  */
 static int auto_saving;
 
@@ -334,7 +330,6 @@ Given a Unix syntax file name, returns a string ending in slash.  */)
       return STRINGP (handled_name) ? handled_name : Qnil;
     }
 
-  filename = FILE_SYSTEM_CASE (filename);
 #ifdef DOS_NT
   beg = alloca (SBYTES (filename) + 1);
   memcpy (beg, SSDATA (filename), SBYTES (filename) + 1);
@@ -861,7 +856,6 @@ filesystem tree, not (expand-file-name ".."  dirname).  */)
        UNGCPRO;
       }
   }
-  name = FILE_SYSTEM_CASE (name);
   multibyte = STRING_MULTIBYTE (name);
   if (multibyte != STRING_MULTIBYTE (default_directory))
     {
index e1d97d5..15112da 100644 (file)
@@ -86,10 +86,6 @@ You lose; /* Emacs for DOS must be compiled with DJGPP */
 :se=</SO>:so=<SO>:us=<UL>:ue=</UL>:md=<BD>:mh=<DIM>:mb=<BL>:mr=<RV>:me=<NV>:\
 :AB=<BG %d>:AF=<FG %d>:op=<DefC>:"
 
-/* Define this to a function (Fdowncase, Fupcase) if your file system
-   likes that.  */
-#define FILE_SYSTEM_CASE Fmsdos_downcase_filename
-
 /* Define this to be the separator between devices and paths.  Used by
    lisp.h to define IS_DEVICE_SEP.  */
 #define DEVICE_SEP ':'