emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r112061: Merge from emacs-24


From: Stefan Monnier
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r112061: Merge from emacs-24
Date: Sat, 16 Mar 2013 18:08:22 -0400
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 112061 [merge]
committer: Stefan Monnier <address@hidden>
branch nick: trunk
timestamp: Sat 2013-03-16 18:08:22 -0400
message:
  Merge from emacs-24
modified:
  admin/ChangeLog
  admin/admin.el
  admin/bzrmerge.el
  doc/emacs/ChangeLog
  doc/emacs/emacs.texi
  doc/lispintro/ChangeLog
  doc/lispintro/emacs-lisp-intro.texi
  doc/lispref/ChangeLog
  doc/lispref/elisp.texi
  leim/ChangeLog
  leim/quail/latin-ltx.el
  lib-src/ChangeLog
  lib-src/pop.c
  lisp/ChangeLog
  lisp/emacs-lisp/smie.el
  lisp/progmodes/scheme.el
  lisp/thingatpt.el
=== modified file 'admin/ChangeLog'
--- a/admin/ChangeLog   2013-03-13 18:42:22 +0000
+++ b/admin/ChangeLog   2013-03-16 22:08:22 +0000
@@ -1,3 +1,11 @@
+2013-03-16  Glenn Morris  <address@hidden>
+
+       * admin.el (manual-pdf, manual-dvi): Pass -I to texi2pdf, texi2dvi.
+
+2013-03-16  Glenn Morris  <address@hidden>
+
+       * admin.el (manual-html-mono, manual-html-node): Add -DWWW_GNU_ORG.
+
 2013-03-13  Paul Eggert  <address@hidden>
 
        File synchronization fixes (Bug#13944).

=== modified file 'admin/admin.el'
--- a/admin/admin.el    2013-03-11 16:31:55 +0000
+++ b/admin/admin.el    2013-03-16 22:08:22 +0000
@@ -285,6 +285,7 @@
 HTML 4.01 Transitional, and pulls in the gnu.org stylesheet using
 the @import directive."
   (call-process "makeinfo" nil nil nil
+               "-D" "WWW_GNU_ORG"
                "-I" (expand-file-name "../emacs"
                                       (file-name-directory texi-file))
                "-I" (expand-file-name "../misc"
@@ -310,6 +311,7 @@
   (unless (file-exists-p texi-file)
     (error "Manual file %s not found" texi-file))
   (call-process "makeinfo" nil nil nil
+               "-D" "WWW_GNU_ORG"
                "-I" (expand-file-name "../emacs"
                                       (file-name-directory texi-file))
                "-I" (expand-file-name "../misc"
@@ -354,12 +356,22 @@
 
 (defun manual-pdf (texi-file dest)
   "Run texi2pdf on TEXI-FILE, emitting plaintext output to DEST."
-  (call-process "texi2pdf" nil nil nil texi-file "-o" dest))
+  (call-process "texi2pdf" nil nil nil
+               "-I" (expand-file-name "../emacs"
+                                      (file-name-directory texi-file))
+               "-I" (expand-file-name "../misc"
+                                      (file-name-directory texi-file))
+               texi-file "-o" dest))
 
 (defun manual-dvi (texi-file dest ps-dest)
   "Run texi2dvi on TEXI-FILE, emitting dvi output to DEST.
 Also generate PostScript output in PS-DEST."
-  (call-process "texi2dvi" nil nil nil texi-file "-o" dest)
+  (call-process "texi2dvi" nil nil nil
+               "-I" (expand-file-name "../emacs"
+                                      (file-name-directory texi-file))
+               "-I" (expand-file-name "../misc"
+                                      (file-name-directory texi-file))
+               texi-file "-o" dest)
   (call-process "dvips" nil nil nil dest "-o" ps-dest)
   (call-process "gzip" nil nil nil dest)
   (call-process "gzip" nil nil nil ps-dest))

=== modified file 'admin/bzrmerge.el'
--- a/admin/bzrmerge.el 2013-03-03 07:26:39 +0000
+++ b/admin/bzrmerge.el 2013-03-16 22:08:22 +0000
@@ -50,7 +50,7 @@
     (call-process "bzr" nil t nil "status" "-v")
     (goto-char (point-min))
     (when (re-search-forward "^conflicts:\n" nil t)
-      (error "You still have unresolved conflicts"))
+      (user-error "You still have unresolved conflicts"))
     (let ((merges ())
           found)
       (if (not (re-search-forward "^pending merges:\n" nil t))
@@ -62,7 +62,7 @@
                            (setq found
                                  (not (equal "unknown" (match-string 1)))))))
                   found)
-            (error "You still have uncommitted changes"))
+            (user-error "You still have uncommitted changes"))
         ;; This is really stupid, but it seems there's no easy way to figure
         ;; out which revisions have been merged already.  The only info I can
         ;; find is the "pending merges" from "bzr status -v", which is not
@@ -171,7 +171,7 @@
                                  (enable-local-eval nil))
                              (find-file-noselect file))
         (if (buffer-modified-p)
-            (error "Unsaved changes in %s" (current-buffer)))
+            (user-error "Unsaved changes in %s" (current-buffer)))
         (save-excursion
           (cond
            ((derived-mode-p 'change-log-mode)
@@ -323,7 +323,7 @@
 BEWARE!  Important metadata is kept in this Emacs session!
 Do not commit without re-running `M-x bzrmerge' first!"
                                    :warning bzrmerge-warning-buffer))
-              (error "Resolve conflicts manually")))))
+              (user-error "Resolve conflicts manually")))))
         (cons merge skip)))))
 
 (defun bzrmerge (from)

=== modified file 'doc/emacs/ChangeLog'
--- a/doc/emacs/ChangeLog       2013-03-11 16:31:55 +0000
+++ b/doc/emacs/ChangeLog       2013-03-16 22:08:22 +0000
@@ -1,3 +1,11 @@
+2013-03-16  Glenn Morris  <address@hidden>
+
+       * emacs.texi (Top): Add some stuff specific to www.gnu.org.
+
+2013-03-16  Glenn Morris  <address@hidden>
+
+       * Version 24.3 released.
+
 2013-03-04  Paul Eggert  <address@hidden>
 
        Prefer UTF-8 for documentation.

=== modified file 'doc/emacs/emacs.texi'
--- a/doc/emacs/emacs.texi      2013-03-04 08:45:03 +0000
+++ b/doc/emacs/emacs.texi      2013-03-16 22:08:22 +0000
@@ -111,10 +111,21 @@
 @top The Emacs Editor
 
 Emacs is the extensible, customizable, self-documenting real-time
-display editor.  This Info file describes how to edit with Emacs and
+display editor.  This manual describes how to edit with Emacs and
 some of the ways to customize it; it corresponds to GNU Emacs version
 @value{EMACSVER}.
 
address@hidden WWW_GNU_ORG
address@hidden
+The homepage for GNU Emacs is at
+<a href="/software/emacs/">http://www.gnu.org/software/emacs/</a>.<br>
+To view this manual in other formats, click
+<a href="/software/emacs/manual/emacs.html">here</a>.<br>
+You can also purchase a printed copy from the
+<a href="http://shop.fsf.org/product/emacs-manual/";>FSF store</a>.
address@hidden html
address@hidden ifset
+
 @ifinfo
 If you are reading this in Emacs, type @kbd{h} to read a basic
 introduction to the Info documentation system.

=== modified file 'doc/lispintro/ChangeLog'
--- a/doc/lispintro/ChangeLog   2013-03-11 16:31:55 +0000
+++ b/doc/lispintro/ChangeLog   2013-03-16 22:08:22 +0000
@@ -1,3 +1,11 @@
+2013-03-16  Glenn Morris  <address@hidden>
+
+       * emacs-lisp-intro.texi: Add some stuff specific to www.gnu.org.
+
+2013-03-16  Glenn Morris  <address@hidden>
+
+       * Version 24.3 released.
+
 2013-03-03  Glenn Morris  <address@hidden>
 
        * emacs-lisp-intro.texi (Digression into C): Update example.

=== modified file 'doc/lispintro/emacs-lisp-intro.texi'
--- a/doc/lispintro/emacs-lisp-intro.texi       2013-03-05 03:59:35 +0000
+++ b/doc/lispintro/emacs-lisp-intro.texi       2013-03-16 22:08:22 +0000
@@ -227,6 +227,14 @@
 people who are not programmers.
 @sp 1
 Edition @value{edition-number}, @value{update-date}
address@hidden WWW_GNU_ORG
address@hidden
+<p>The homepage for GNU Emacs is at
+<a 
href="http://www.gnu.org/software/emacs/";>http://www.gnu.org/software/emacs/</a>.
+<br>To view this manual in other formats, click
+<a href="/software/emacs/emacs-lisp-intro/emacs-lisp-intro.html">here</a>.
address@hidden html
address@hidden ifset
 @sp 1
 Copyright @copyright{} 1990--1995, 1997, 2001--2013 Free Software
 Foundation, Inc.

=== modified file 'doc/lispref/ChangeLog'
--- a/doc/lispref/ChangeLog     2013-03-11 17:05:30 +0000
+++ b/doc/lispref/ChangeLog     2013-03-16 22:08:22 +0000
@@ -1,3 +1,10 @@
+2013-03-16  Glenn Morris  <address@hidden>
+
+       * elisp.texi: Add some stuff specific to www.gnu.org.
+
+2013-03-16  Glenn Morris  <address@hidden>
+
+       * Version 24.3 released.
 2013-03-11  Teodor Zlatanov  <address@hidden>
 
        * control.texi (Pattern matching case statement): Fix typo.

=== modified file 'doc/lispref/elisp.texi'
--- a/doc/lispref/elisp.texi    2013-03-04 08:45:03 +0000
+++ b/doc/lispref/elisp.texi    2013-03-16 22:08:22 +0000
@@ -97,6 +97,16 @@
 This is the @cite{GNU Emacs Lisp Reference Manual}
 @end ifnottex
 corresponding to Emacs version @value{EMACSVER}.
address@hidden WWW_GNU_ORG
address@hidden
+<p>The homepage for GNU Emacs is at
+<a href="/software/emacs/">http://www.gnu.org/software/emacs/</a>.<br>
+For information on using Emacs, refer to
+the <a href="/software/emacs/manual/html_node/emacs/index.html">Emacs
+Manual</a>.<br>  To view this manual in other formats,
+click <a href="/software/emacs/manual/elisp.html">here</a>.
address@hidden html
address@hidden ifset
 
 Copyright @copyright{} 1990--1996, 1998--2013 Free Software Foundation, Inc.
 

=== modified file 'leim/ChangeLog'
--- a/leim/ChangeLog    2013-03-11 16:31:55 +0000
+++ b/leim/ChangeLog    2013-03-16 22:08:22 +0000
@@ -1,3 +1,15 @@
+2013-03-16  Stefan Monnier  <address@hidden>
+
+       * quail/latin-ltx.el: Resolve conflicts (bug#13950).
+       (latin-ltx--mark-map, latin-ltx--mark-re): New constants.
+       (latin-ltx--define-rules): Check for conflicts.  Eval `re's.
+       (rules): Use tighter regexps to avoid conflicts.
+       Consolidate the various rules for combining marks.
+
+2013-03-16  Glenn Morris  <address@hidden>
+
+       * Version 24.3 released.
+
 2013-02-08  Stefan Monnier  <address@hidden>
 
        * quail/latin-ltx.el: Add greek superscripts.

=== modified file 'leim/quail/latin-ltx.el'
--- a/leim/quail/latin-ltx.el   2013-02-08 15:48:36 +0000
+++ b/leim/quail/latin-ltx.el   2013-03-16 22:08:22 +0000
@@ -43,6 +43,26 @@
  t t nil nil nil nil nil nil nil t)
 
 (eval-when-compile
+  (require 'cl-lib)
+
+  (defconst latin-ltx--mark-map
+    '(("DOT BELOW" . "d")
+      ("DOT ABOVE" . ".")
+      ("OGONEK" . "k")
+      ("CEDILLA" . "c")
+      ("CARON" . "v")
+      ;; ("HOOK ABOVE" . ??)
+      ("MACRON" . "=")
+      ("BREVE" . "u")
+      ("TILDE" . "~")
+      ("GRAVE" . "`")
+      ("CIRCUMFLEX" . "^")
+      ("DIAERESIS" . "\"")
+      ("DOUBLE ACUTE" . "H")
+      ("ACUTE" . "'")))
+
+  (defconst latin-ltx--mark-re (regexp-opt (mapcar #'car latin-ltx--mark-map)))
+
   (defun latin-ltx--ascii-p (char)
     (and (characterp char) (< char 128)))
 
@@ -53,7 +73,8 @@
         (pcase rule
           (`(,_ ,(pred characterp)) (push rule newrules)) ;; Normal quail rule.
           (`(,seq ,re)
-           (let ((count 0))
+           (let ((count 0)
+                 (re (eval re t)))
              (dolist (pair (ucs-names))
                (let ((name (car pair))
                      (char (cdr pair)))
@@ -68,9 +89,27 @@
                            (push (list x char) newrules))
                        (setq count (1+ count))
                        (push (list keys char) newrules))))))
-             ;(message "latin-ltx: %d mapping for %S" count re)
+             ;; (message "latin-ltx: %d mappings for %S" count re)
             ))))
-      `(quail-define-rules ,@(nreverse (delete-dups newrules))))))
+      (setq newrules (delete-dups newrules))
+      (let ((rules (copy-sequence newrules)))
+        (while rules
+          (let ((rule (pop rules)))
+            (when (assoc (car rule) rules)
+              (let ((conflicts (list (cadr rule)))
+                    (tail rules)
+                    c)
+                (while (setq c (assoc (car rule) tail))
+                  (push (cadr c) conflicts)
+                  (setq tail (cdr (memq c tail)))
+                  (setq rules (delq c rules)))
+                (message "Conflict for %S: %S"
+                         (car rule) (apply #'string conflicts)))))))
+      (let ((inputs (mapcar #'car newrules)))
+        (setq inputs (delete-dups inputs))
+        (message "latin-ltx: %d rules (+ %d conflicts)!"
+                 (length inputs) (- (length newrules) (length inputs))))
+      `(quail-define-rules ,@(nreverse newrules)))))
 
 (latin-ltx--define-rules
  ("!`" ?¡)
@@ -89,69 +128,35 @@
  ("$^o$" ?º)
  ("?`" ?¿)
 
- ("\\`" ?̀)
- ("\\`{}" ?`)
- ((lambda (name char)
-    (let ((c (if (match-end 1)
-                 (downcase (match-string 2 name))
-               (match-string 2 name))))
-      (list (format "\\`{%s}" c) (format "\\`%s" c))))
-  "\\(?:CAPITAL\\|SMAL\\(L\\)\\) LETTER \\(.\\) WITH GRAVE")
-
- ("\\'" ?́)
- ("\\'{}" ?´)
- ((lambda (name char)
-    (let ((c (if (match-end 1)
-                 (downcase (match-string 2 name))
-               (match-string 2 name))))
-      (list (format "\\'{%s}" c) (format "\\'%s" c))))
-  "\\(?:CAPITAL\\|SMAL\\(L\\)\\) LETTER \\(.\\) WITH ACUTE")
-
- ("\\^" ?̂)
- ("\\^{}" ?^)
- ((lambda (name char)
-    (let ((c (if (match-end 1)
-                 (downcase (match-string 2 name))
-               (match-string 2 name))))
-      (list (format "\\^{%s}" c) (format "\\^%s" c))))
-  "\\(?:CAPITAL\\|SMAL\\(L\\)\\) LETTER \\(.\\) WITH CIRCUMFLEX")
-
- ("\\~" ?̃)
- ("\\~{}" ?˜)
- ((lambda (name char)
-    (let ((c (if (match-end 1)
-                 (downcase (match-string 2 name))
-               (match-string 2 name))))
-      (list (format "\\~{%s}" c) (format "\\~%s" c))))
-  "\\(?:CAPITAL\\|SMAL\\(L\\)\\) LETTER \\(.\\) WITH TILDE")
-
- ("\\\"" ?̈)
- ("\\\"{}" ?¨)
- ((lambda (name char)
-    (let ((c (if (match-end 1)
-                 (downcase (match-string 2 name))
-               (match-string 2 name))))
-      (list (format "\\\"{%s}" c) (format "\\\"%s" c))))
-  "\\(?:CAPITAL\\|SMAL\\(L\\)\\) LETTER \\(.\\) WITH DIAERESIS")
-
- ("\\k" ?̨)
- ("\\k{}" ?˛)
- ((lambda (name char)
-    (let ((c (if (match-end 1)
-                 (downcase (match-string 2 name))
-               (match-string 2 name))))
-      (list (format "\\k{%s}" c) ;; (format "\\k%s" c)
-            )))
-  "\\(?:CAPITAL\\|SMAL\\(L\\)\\) LETTER \\(.\\) WITH OGONEK")
-
- ("\\c" ?̧)
- ("\\c{}" ?¸)
- ((lambda (name char)
-    (let ((c (if (match-end 1)
-                 (downcase (match-string 2 name))
-               (match-string 2 name))))
-      (list (format "\\c{%s}" c) (format "\\c%s" c))))
-  "\\(?:CAPITAL\\|SMAL\\(L\\)\\) LETTER \\(.\\) WITH CEDILLA")
+ ((lambda (name char)
+    (let* ((c (if (match-end 1)
+                  (downcase (match-string 2 name))
+                (match-string 2 name)))
+           (mark1 (cdr (assoc (match-string 3 name) latin-ltx--mark-map)))
+           (mark2 (if (match-end 4)
+                      (cdr (assoc (match-string 4 name) latin-ltx--mark-map))))
+           (marks (if mark2 (concat mark1 "\\" mark2) mark1)))
+      (cl-assert mark1)
+      (cons (format "\\%s{%s}" marks c)
+            ;; Exclude "d" because we use "\\dh" for something else.
+            (unless (member (or mark2 mark1) '("d"));; "k"
+              (list (format "\\%s%s" marks c))))))
+  (concat "\\`LATIN \\(?:CAPITAL\\|SMAL\\(L\\)\\) LETTER \\(.\\) WITH \\("
+          latin-ltx--mark-re "\\)\\(?: AND \\("
+          latin-ltx--mark-re "\\)\\)?\\'"))
+
+ ((lambda (name char)
+    (let* ((mark (cdr (assoc (match-string 1 name) latin-ltx--mark-map))))
+      (cl-assert mark)
+      (list (format "\\%s" mark))))
+  (concat "\\`COMBINING \\(" latin-ltx--mark-re "\\)\\(?: ACCENT\\)?\\'"))
+
+ ((lambda (name char)
+    (unless (latin-ltx--ascii-p char)
+      (let* ((mark (cdr (assoc (match-string 1 name) latin-ltx--mark-map))))
+        (cl-assert mark)
+        (list (format "\\%s{}" mark)))))
+  (concat "\\`\\(?:SPACING \\)?\\(" latin-ltx--mark-re "\\)\\(?: 
ACCENT\\)?\\'"))
 
  ("\\AA" ?Å) ;; ("{\\AA}" ?Å)
  ("\\AE" ?Æ) ;; ("{\\AE}" ?Æ)
@@ -166,42 +171,6 @@
  ("$\\div$" ?÷) ("\\div" ?÷)
  ("\\o" ?ø) ;; ("{\\o}" ?ø)
 
- ("\\=" ?̄)
- ("\\={}" ?¯)
- ((lambda (name char)
-    (let ((c (if (match-end 1)
-                 (downcase (match-string 2 name))
-               (match-string 2 name))))
-      (list (format "\\={%s}" c) (format "\\=%s" c))))
-  "\\(?:CAPITAL\\|SMAL\\(L\\)\\) LETTER \\(.\\) WITH MACRON")
-
- ("\\u" ?̆)
- ("\\u{}" ?˘)
- ((lambda (name char)
-    (let ((c (if (match-end 1)
-                 (downcase (match-string 2 name))
-               (match-string 2 name))))
-      (list (format "\\u{%s}" c) (format "\\u%s" c))))
-  "\\(?:CAPITAL\\|SMAL\\(L\\)\\) LETTER \\(.\\) WITH BREVE")
-
- ("\\." ?̇)
- ("\\.{}" ?˙)
- ((lambda (name char)
-    (let ((c (if (match-end 1)
-                 (downcase (match-string 2 name))
-               (match-string 2 name))))
-      (list (format "\\.{%s}" c) (format "\\.%s" c))))
-  "\\(?:CAPITAL\\|SMAL\\(L\\)\\) LETTER \\(.\\) WITH DOT ABOVE")
-
- ("\\v" ?̌)
- ("\\v{}" ?ˇ)
- ((lambda (name char)
-    (let ((c (if (match-end 1)
-                 (downcase (match-string 2 name))
-               (match-string 2 name))))
-      (list (format "\\v{%s}" c) (format "\\v%s" c))))
-  "\\(?:CAPITAL\\|SMAL\\(L\\)\\) LETTER \\(.\\) WITH CARON")
-
  ("\\~{\\i}" ?ĩ)
  ("\\={\\i}" ?ī)
  ("\\u{\\i}" ?ĭ)
@@ -214,12 +183,6 @@
 
  ("\\H" ?̋)
  ("\\H{}" ?˝)
- ((lambda (name char)
-    (let ((c (if (match-end 1)
-                 (downcase (match-string 2 name))
-               (match-string 2 name))))
-      (list (format "\\H{%s}" c) (format "\\H%s" c))))
-  "\\(?:CAPITAL\\|SMAL\\(L\\)\\) LETTER \\(.\\) WITH DOUBLE ACUTE")
  ("\\U{o}" ?ő) ("\\Uo" ?ő) ;; FIXME: Was it just a typo?
  
  ("\\OE" ?Œ) ;; ("{\\OE}" ?Œ)
@@ -248,19 +211,11 @@
         (string (if (match-end 2) ?^ ?_) basechar))))
   "\\(.*\\)SU\\(?:B\\|\\(PER\\)\\)SCRIPT \\(.*\\)")
 
- ((lambda (name char)
+ ((lambda (name _char)
     (let* ((basename (match-string 2 name))
-           (lbase (format "LATIN %s LETTER %s"
-                          (match-string 1 name) basename))
-           (gbase (format "GREEK %s LETTER %s"
-                          (match-string 1 name) basename))
-           tmp)
-      (cond
-       ((assoc gbase (ucs-names)) (concat "^\\" (downcase basename)))
-       ((latin-ltx--ascii-p (setq tmp (cdr (assoc lbase (ucs-names)))))
-        (string ?^ tmp))
-       (t (message "Unknown modifier letter %s" basename)))))
-  "MODIFIER LETTER \\(SMALL\\|CAPITAL\\) \\(.*\\)")
+           (name (if (match-end 1) (capitalize basename) (downcase basename))))
+      (concat "^" (if (> (length name) 1) "\\") name)))
+  "\\`MODIFIER LETTER \\(?:SMALL\\|CAPITA\\(L\\)\\) \\([[:ascii:]]+\\)\\'")
  
  ;; ((lambda (name char) (format "^%s" (downcase (match-string 1 name))))
  ;;  "\\`MODIFIER LETTER SMALL \\(.\\)\\'")
@@ -272,22 +227,14 @@
 
  ("\\b" ?̱)
 
- ("\\d" ?̣)
- ;; ("\\d{}" ?) ;; FIXME: can't find the DOT BELOW character.
- ((lambda (name char)
-    (let ((c (if (match-end 1)
-                 (downcase (match-string 2 name))
-               (match-string 2 name))))
-      (list (format "\\d{%s}" c) ;; (format "\\d%s" c)
-            )))
-  "\\(?:CAPITAL\\|SMAL\\(L\\)\\) LETTER \\(.\\) WITH DOT BELOW")
-
  ("\\rq" ?’)
 
  ;; FIXME: Provides some useful entries (yen, euro, copyright, registered,
  ;; currency, minus, micro), but also a lot of dubious ones.
  ((lambda (name char)
-    (unless (latin-ltx--ascii-p char)
+    (unless (or (latin-ltx--ascii-p char)
+                ;; We prefer COMBINING LONG SOLIDUS OVERLAY for \not.
+                (member name '("NOT SIGN")))
       (concat "\\" (downcase (match-string 1 name)))))
   "\\`\\([^- ]+\\) SIGN\\'")
 
@@ -377,7 +324,6 @@
  ("\\circledcirc" ?⊚)
  ("\\circleddash" ?⊝)
  ("\\clubsuit" ?♣)
- ("\\colon" ?:)                         ;FIXME: Conflict with "COLON SIGN" ₡.
  ("\\coloneq" ?≔)
  ("\\complement" ?∁)
  ("\\cong" ?≅)
@@ -400,7 +346,6 @@
  ("\\ddots" ?⋱)
  ("\\diamond" ?⋄)
  ("\\diamondsuit" ?♢)
- ("\\digamma" ?Ϝ)
  ("\\divideontimes" ?⋇)
  ("\\doteq" ?≐)
  ("\\doteqdot" ?≑)

=== modified file 'lib-src/ChangeLog'
--- a/lib-src/ChangeLog 2013-03-13 18:42:22 +0000
+++ b/lib-src/ChangeLog 2013-03-16 22:08:22 +0000
@@ -1,3 +1,13 @@
+2013-03-16  Paul Eggert  <address@hidden>
+
+       * pop.c: Fix ERRMAX typo (Bug#13925).
+       (socket_connection) [!HAVE_KRB5_ERROR_TEXT && HAVE_KRB5_ERROR_E_TEXT]:
+       Use ERROR_MAX, not ERRMAX.
+
+2013-03-16  Glenn Morris  <address@hidden>
+
+       * Version 24.3 released.
+
 2013-03-13  Paul Eggert  <address@hidden>
 
        File synchronization fixes (Bug#13944).
@@ -6,8 +16,8 @@
        * emacsclient.c (main): Use fdatasync, not fsync, since we don't
        care about metadata.  Keep trying if interrupted.
        * movemail.c (main, popmail): Don't worry about BSD_SYSTEM, since
-       fsync is available everywhere (or there is a substitute).  Don't
-       report an error if fsync returns EINVAL.
+       fsync is available everywhere (or there is a substitute).
+       Don't report an error if fsync returns EINVAL.
 
        Static checking by Sun C 5.12.
        * etags.c (analyse_regex): Omit unreachable code.
@@ -5182,7 +5192,7 @@
        (longopts): New long options without short counterpart are
        globals, members, no-globals, no-members.  Regexp options are now
        defined  conditionally to ETAGS_REGEXPS.
-       (print_help): Updated.
+       (print_help): Update.
 
 1997-05-22  Francesco Potortì  <address@hidden>
 

=== modified file 'lib-src/pop.c'
--- a/lib-src/pop.c     2013-01-01 09:11:05 +0000
+++ b/lib-src/pop.c     2013-03-12 22:00:07 +0000
@@ -1198,7 +1198,7 @@
            }
 #elif defined HAVE_KRB5_ERROR_E_TEXT
          if (err_ret && err_ret->e_text && **err_ret->e_text)
-           snprintf (pop_error + pop_error_len, ERRMAX - pop_error_len,
+           snprintf (pop_error + pop_error_len, ERROR_MAX - pop_error_len,
                      " [server says '%s']", *err_ret->e_text);
 #endif
          if (err_ret)

=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2013-03-16 08:20:36 +0000
+++ b/lisp/ChangeLog    2013-03-16 22:08:22 +0000
@@ -1,3 +1,21 @@
+2013-03-16  Leo Liu  <address@hidden>
+
+       * progmodes/scheme.el: Add indentation and font-locking for λ.
+       (Bug#13975)
+
+2013-03-16  Stefan Monnier  <address@hidden>
+
+       * emacs-lisp/smie.el (smie-auto-fill): Don't inf-loop if there's no
+       token before point (bug#13942).
+
+2013-03-16  Leo Liu  <address@hidden>
+
+       * thingatpt.el (end-of-sexp): Fix bug#13952.  Use syntax-after.
+
+2013-03-16  Glenn Morris  <address@hidden>
+
+       * Version 24.3 released.
+
 2013-03-16  Eli Zaretskii  <address@hidden>
 
        * startup.el (command-line-normalize-file-name): Fix handling of
@@ -571,6 +589,11 @@
        Let-bind `isearch-other-end' to `start', `isearch-forward' to t
        and `isearch-error' to nil.
 
+2013-03-16  Fabián Ezequiel Gallina  <address@hidden>
+
+       * progmodes/python.el (python-info-current-defun):
+       Enhance match-data cluttering prevention.
+
 2013-02-22  Michael Albinus  <address@hidden>
 
        * net/tramp.el (tramp-tramp-file-p): Fix docstring.

=== modified file 'lisp/emacs-lisp/smie.el'
--- a/lisp/emacs-lisp/smie.el   2013-01-01 09:11:05 +0000
+++ b/lisp/emacs-lisp/smie.el   2013-03-14 14:48:03 +0000
@@ -1631,31 +1631,34 @@
 (defun smie-auto-fill ()
   (let ((fc (current-fill-column)))
     (while (and fc (> (current-column) fc))
-      (cond
-       ((not (or (nth 8 (save-excursion
-                          (syntax-ppss (line-beginning-position))))
-                 (nth 8 (syntax-ppss))))
-        (save-excursion
-          (beginning-of-line)
-          (smie-indent-forward-token)
-          (let ((bsf (point))
-                (gain 0)
-                curcol)
-            (while (<= (setq curcol (current-column)) fc)
-              ;; FIXME?  `smie-indent-calculate' can (and often will)
-              ;; return a result that actually depends on the presence/absence
-              ;; of a newline, so the gain computed here may not be accurate,
-              ;; but in practice it seems to works well enough.
-              (let* ((newcol (smie-indent-calculate))
-                     (newgain (- curcol newcol)))
-                (when (> newgain gain)
-                  (setq gain newgain)
-                  (setq bsf (point))))
-              (smie-indent-forward-token))
-            (when (> gain 0)
-              (goto-char bsf)
-              (newline-and-indent)))))
-       (t (do-auto-fill))))))
+      (or (unless (or (nth 8 (save-excursion
+                               (syntax-ppss (line-beginning-position))))
+                      (nth 8 (syntax-ppss)))
+            (save-excursion
+              (let ((end (point))
+                    (bsf (progn (beginning-of-line)
+                                (smie-indent-forward-token)
+                                (point)))
+                    (gain 0)
+                    curcol)
+                (while (and (<= (point) end)
+                            (<= (setq curcol (current-column)) fc))
+                  ;; FIXME?  `smie-indent-calculate' can (and often will)
+                  ;; return a result that actually depends on the
+                  ;; presence/absence of a newline, so the gain computed here
+                  ;; may not be accurate, but in practice it seems to works
+                  ;; well enough.
+                  (let* ((newcol (smie-indent-calculate))
+                         (newgain (- curcol newcol)))
+                    (when (> newgain gain)
+                      (setq gain newgain)
+                      (setq bsf (point))))
+                  (smie-indent-forward-token))
+                (when (> gain 0)
+                  (goto-char bsf)
+                  (newline-and-indent)
+                  'done))))
+          (do-auto-fill)))))
 
 
 (defun smie-setup (grammar rules-function &rest keywords)

=== modified file 'lisp/progmodes/scheme.el'
--- a/lisp/progmodes/scheme.el  2013-01-02 16:13:04 +0000
+++ b/lisp/progmodes/scheme.el  2013-03-16 22:08:22 +0000
@@ -310,7 +310,7 @@
        "(" (regexp-opt
             '("begin" "call-with-current-continuation" "call/cc"
               "call-with-input-file" "call-with-output-file" "case" "cond"
-              "do" "else" "for-each" "if" "lambda"
+              "do" "else" "for-each" "if" "lambda" "λ"
               "let" "let*" "let-syntax" "letrec" "letrec-syntax"
               ;; SRFI 11 usage comes up often enough.
               "let-values" "let*-values"
@@ -410,6 +410,7 @@
 (put 'make 'scheme-indent-function 1)
 (put 'style 'scheme-indent-function 1)
 (put 'root 'scheme-indent-function 1)
+(put 'λ 'scheme-indent-function 1)
 
 (defvar dsssl-font-lock-keywords
   (eval-when-compile

=== modified file 'lisp/thingatpt.el'
--- a/lisp/thingatpt.el 2013-02-04 12:02:25 +0000
+++ b/lisp/thingatpt.el 2013-03-16 22:08:22 +0000
@@ -182,7 +182,7 @@
 (defun end-of-sexp ()
   "Move point to the end of the current sexp.
 \[This is an internal function.]"
-  (let ((char-syntax (char-syntax (char-after))))
+  (let ((char-syntax (syntax-after (point))))
     (if (or (eq char-syntax ?\))
            (and (eq char-syntax ?\") (in-string-p)))
        (forward-char 1)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]