aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorStefan Monnier2013-03-16 18:08:22 -0400
committerStefan Monnier2013-03-16 18:08:22 -0400
commit78be8b64657aeca0472d708450ea1ce2bc142606 (patch)
treedccbdc45e747a47b44be92abab79cca15a30111f /lisp
parent6615748ac6bcff258ef548f70bdcc1ab9f740472 (diff)
parent67ed8fcd04edeff2d4931acf476e7067c5ceeef2 (diff)
downloademacs-78be8b64657aeca0472d708450ea1ce2bc142606.tar.gz
emacs-78be8b64657aeca0472d708450ea1ce2bc142606.zip
Merge from emacs-24
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog23
-rw-r--r--lisp/emacs-lisp/smie.el53
-rw-r--r--lisp/progmodes/scheme.el3
-rw-r--r--lisp/thingatpt.el2
4 files changed, 54 insertions, 27 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 2c729e3d5b7..6ac3515c480 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,21 @@
12013-03-16 Leo Liu <sdl.web@gmail.com>
2
3 * progmodes/scheme.el: Add indentation and font-locking for λ.
4 (Bug#13975)
5
62013-03-16 Stefan Monnier <monnier@iro.umontreal.ca>
7
8 * emacs-lisp/smie.el (smie-auto-fill): Don't inf-loop if there's no
9 token before point (bug#13942).
10
112013-03-16 Leo Liu <sdl.web@gmail.com>
12
13 * thingatpt.el (end-of-sexp): Fix bug#13952. Use syntax-after.
14
152013-03-16 Glenn Morris <rgm@gnu.org>
16
17 * Version 24.3 released.
18
12013-03-16 Eli Zaretskii <eliz@gnu.org> 192013-03-16 Eli Zaretskii <eliz@gnu.org>
2 20
3 * startup.el (command-line-normalize-file-name): Fix handling of 21 * startup.el (command-line-normalize-file-name): Fix handling of
@@ -571,6 +589,11 @@
571 Let-bind `isearch-other-end' to `start', `isearch-forward' to t 589 Let-bind `isearch-other-end' to `start', `isearch-forward' to t
572 and `isearch-error' to nil. 590 and `isearch-error' to nil.
573 591
5922013-03-16 Fabián Ezequiel Gallina <fgallina@cuca>
593
594 * progmodes/python.el (python-info-current-defun):
595 Enhance match-data cluttering prevention.
596
5742013-02-22 Michael Albinus <michael.albinus@gmx.de> 5972013-02-22 Michael Albinus <michael.albinus@gmx.de>
575 598
576 * net/tramp.el (tramp-tramp-file-p): Fix docstring. 599 * net/tramp.el (tramp-tramp-file-p): Fix docstring.
diff --git a/lisp/emacs-lisp/smie.el b/lisp/emacs-lisp/smie.el
index eb3fa8f3b09..18cc0e811ce 100644
--- a/lisp/emacs-lisp/smie.el
+++ b/lisp/emacs-lisp/smie.el
@@ -1631,31 +1631,34 @@ to which that point should be aligned, if we were to reindent it.")
1631(defun smie-auto-fill () 1631(defun smie-auto-fill ()
1632 (let ((fc (current-fill-column))) 1632 (let ((fc (current-fill-column)))
1633 (while (and fc (> (current-column) fc)) 1633 (while (and fc (> (current-column) fc))
1634 (cond 1634 (or (unless (or (nth 8 (save-excursion
1635 ((not (or (nth 8 (save-excursion 1635 (syntax-ppss (line-beginning-position))))
1636 (syntax-ppss (line-beginning-position)))) 1636 (nth 8 (syntax-ppss)))
1637 (nth 8 (syntax-ppss)))) 1637 (save-excursion
1638 (save-excursion 1638 (let ((end (point))
1639 (beginning-of-line) 1639 (bsf (progn (beginning-of-line)
1640 (smie-indent-forward-token) 1640 (smie-indent-forward-token)
1641 (let ((bsf (point)) 1641 (point)))
1642 (gain 0) 1642 (gain 0)
1643 curcol) 1643 curcol)
1644 (while (<= (setq curcol (current-column)) fc) 1644 (while (and (<= (point) end)
1645 ;; FIXME? `smie-indent-calculate' can (and often will) 1645 (<= (setq curcol (current-column)) fc))
1646 ;; return a result that actually depends on the presence/absence 1646 ;; FIXME? `smie-indent-calculate' can (and often will)
1647 ;; of a newline, so the gain computed here may not be accurate, 1647 ;; return a result that actually depends on the
1648 ;; but in practice it seems to works well enough. 1648 ;; presence/absence of a newline, so the gain computed here
1649 (let* ((newcol (smie-indent-calculate)) 1649 ;; may not be accurate, but in practice it seems to works
1650 (newgain (- curcol newcol))) 1650 ;; well enough.
1651 (when (> newgain gain) 1651 (let* ((newcol (smie-indent-calculate))
1652 (setq gain newgain) 1652 (newgain (- curcol newcol)))
1653 (setq bsf (point)))) 1653 (when (> newgain gain)
1654 (smie-indent-forward-token)) 1654 (setq gain newgain)
1655 (when (> gain 0) 1655 (setq bsf (point))))
1656 (goto-char bsf) 1656 (smie-indent-forward-token))
1657 (newline-and-indent))))) 1657 (when (> gain 0)
1658 (t (do-auto-fill)))))) 1658 (goto-char bsf)
1659 (newline-and-indent)
1660 'done))))
1661 (do-auto-fill)))))
1659 1662
1660 1663
1661(defun smie-setup (grammar rules-function &rest keywords) 1664(defun smie-setup (grammar rules-function &rest keywords)
diff --git a/lisp/progmodes/scheme.el b/lisp/progmodes/scheme.el
index aae5526ea82..fab20102097 100644
--- a/lisp/progmodes/scheme.el
+++ b/lisp/progmodes/scheme.el
@@ -310,7 +310,7 @@ See `run-hooks'."
310 "(" (regexp-opt 310 "(" (regexp-opt
311 '("begin" "call-with-current-continuation" "call/cc" 311 '("begin" "call-with-current-continuation" "call/cc"
312 "call-with-input-file" "call-with-output-file" "case" "cond" 312 "call-with-input-file" "call-with-output-file" "case" "cond"
313 "do" "else" "for-each" "if" "lambda" 313 "do" "else" "for-each" "if" "lambda" "λ"
314 "let" "let*" "let-syntax" "letrec" "letrec-syntax" 314 "let" "let*" "let-syntax" "letrec" "letrec-syntax"
315 ;; SRFI 11 usage comes up often enough. 315 ;; SRFI 11 usage comes up often enough.
316 "let-values" "let*-values" 316 "let-values" "let*-values"
@@ -410,6 +410,7 @@ that variable's value is a string."
410(put 'make 'scheme-indent-function 1) 410(put 'make 'scheme-indent-function 1)
411(put 'style 'scheme-indent-function 1) 411(put 'style 'scheme-indent-function 1)
412(put 'root 'scheme-indent-function 1) 412(put 'root 'scheme-indent-function 1)
413(put 'λ 'scheme-indent-function 1)
413 414
414(defvar dsssl-font-lock-keywords 415(defvar dsssl-font-lock-keywords
415 (eval-when-compile 416 (eval-when-compile
diff --git a/lisp/thingatpt.el b/lisp/thingatpt.el
index 9526cb76e74..259cd772b12 100644
--- a/lisp/thingatpt.el
+++ b/lisp/thingatpt.el
@@ -182,7 +182,7 @@ The bounds of THING are determined by `bounds-of-thing-at-point'."
182(defun end-of-sexp () 182(defun end-of-sexp ()
183 "Move point to the end of the current sexp. 183 "Move point to the end of the current sexp.
184\[This is an internal function.]" 184\[This is an internal function.]"
185 (let ((char-syntax (char-syntax (char-after)))) 185 (let ((char-syntax (syntax-after (point))))
186 (if (or (eq char-syntax ?\)) 186 (if (or (eq char-syntax ?\))
187 (and (eq char-syntax ?\") (in-string-p))) 187 (and (eq char-syntax ?\") (in-string-p)))
188 (forward-char 1) 188 (forward-char 1)