aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorPaul Eggert2011-03-17 09:32:03 -0700
committerPaul Eggert2011-03-17 09:32:03 -0700
commitb1d876f1a19ae65c8a8dd61c4ce17055ca53f16c (patch)
tree5dd8a40d7e3e0b86749cecfee7443ad81bdbfe5e /lisp
parentb766f86726fc2828a035cb8db149598a3a84de96 (diff)
parentd6cd56f187a791983579bf5d4ce3702d2ddf2499 (diff)
downloademacs-b1d876f1a19ae65c8a8dd61c4ce17055ca53f16c.tar.gz
emacs-b1d876f1a19ae65c8a8dd61c4ce17055ca53f16c.zip
Merge from mainline.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog116
-rw-r--r--lisp/allout.el25
-rw-r--r--lisp/calc/README2
-rw-r--r--lisp/calc/calc-ext.el31
-rw-r--r--lisp/calc/calc-help.el4
-rw-r--r--lisp/calc/calc-units.el114
-rw-r--r--lisp/calc/calc.el4
-rw-r--r--lisp/custom.el16
-rw-r--r--lisp/emacs-lisp/bytecomp.el3
-rw-r--r--lisp/gnus/ChangeLog127
-rw-r--r--lisp/gnus/auth-source.el28
-rw-r--r--lisp/gnus/gnus-art.el13
-rw-r--r--lisp/gnus/gnus-group.el5
-rw-r--r--lisp/gnus/gnus-int.el4
-rw-r--r--lisp/gnus/gnus-start.el9
-rw-r--r--lisp/gnus/gnus-sum.el56
-rw-r--r--lisp/gnus/gnus-win.el6
-rw-r--r--lisp/gnus/gssapi.el105
-rw-r--r--lisp/gnus/message.el18
-rw-r--r--lisp/gnus/mm-uu.el2
-rw-r--r--lisp/gnus/nnimap.el25
-rw-r--r--lisp/help-fns.el1
-rw-r--r--lisp/minibuffer.el10
-rw-r--r--lisp/net/quickurl.el10
-rw-r--r--lisp/net/xesam.el8
-rw-r--r--lisp/notifications.el4
-rw-r--r--lisp/org/ChangeLog10
-rw-r--r--lisp/org/ob-exp.el14
-rw-r--r--lisp/org/ob-ref.el12
-rw-r--r--lisp/org/ob-sql.el22
-rw-r--r--lisp/org/org-freemind.el6
-rw-r--r--lisp/org/org-mouse.el10
-rw-r--r--lisp/org/org-plot.el24
-rw-r--r--lisp/org/org-src.el14
-rw-r--r--lisp/play/bubbles.el50
-rw-r--r--lisp/play/gamegrid.el10
-rw-r--r--lisp/progmodes/delphi.el75
-rw-r--r--lisp/progmodes/ebrowse.el12
-rw-r--r--lisp/progmodes/ruby-mode.el2
-rw-r--r--lisp/shell.el15
-rw-r--r--lisp/startup.el32
-rw-r--r--lisp/subr.el36
-rw-r--r--lisp/vc/vc-dir.el6
-rw-r--r--lisp/vc/vc-hg.el6
44 files changed, 740 insertions, 362 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index c74e7cbdb2d..5164207a5ce 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,119 @@
12011-03-17 Juanma Barranquero <lekktu@gmail.com>
2
3 * custom.el (custom-known-themes): Reflow docstring.
4 (custom-theme-load-path): Fix typo in docstring.
5 (load-theme): Fix typo in error message.
6 (custom-available-themes, custom-variable-theme-value):
7 Use `let', not `let*'.
8
92011-03-17 Jay Belanger <jay.p.belanger@gmail.com>
10
11 * calc/README: Mention inclusion of musical notes.
12
13 * calc/calc-units.el (calc-lu-quant): Rename from
14 `calc-logunits-quantity'.
15 (calcFunc-lupquant): Rename from `calcFunc-powerquant'.
16 (calcFunc-lufquant): Rename from `calcFunc-fieldquant'.
17 (calc-db): Rename from `calc-dblevel'.
18 (calcFunc-dbpower): Rename from `calcFunc-dbpowerlevel'.
19 (calcFunc-dbfield): Rename from `calcFunc-dbfieldlevel'.
20 (calc-np): Rename from `calc-nplevel'.
21 (calcFunc-nppower): Rename from `calcFunc-nppowerlevel'.
22 (calcFunc-npfield): Rename from `calcFunc-npfieldlevel'.
23 (calc-lu-plus): Rename from `calc-logunits-add'.
24 (calcFunc-lupadd): Rename from `calcFunc-lupoweradd'.
25 (calcFunc-lufadd): Rename from `calcFunc-lufieldadd'.
26 (calc-lu-minus): Rename from `calc-logunits-sub'.
27 (calcFunc-lupsub): Rename from `calcFunc-lupowersub'.
28 (calcFunc-lufsub): Rename from `calcFunc-lufieldsub'.
29 (calc-lu-times): Rename from `calc-logunits-mul'.
30 (calcFunc-lupmul): Rename from `calcFunc-lupowermul'.
31 (calcFunc-lufmul): Rename from `calcFunc-lufieldmul'.
32 (calc-lu-divide): Rename from `calc-logunits-div'.
33 (calcFunc-lupdiv): Rename from `calcFunc-lupowerdiv'.
34 (calcFunc-lufdiv): Rename from `calcFunc-lufielddiv'.
35
36 * calc/calc-ext.el (calc-init-extensions): Update the names of the
37 functions being autoloaded.
38
39 * calc/calc.el (calc-lu-power-reference): Rename from
40 `calc-logunits-power-reference'.
41 (calc-lu-field-reference): Rename from
42 `calc-logunits-field-reference'.
43
44 * calc/calc-help (calc-l-prefix-help): Mention musical note functions.
45
462011-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
47
48 * minibuffer.el (completion-all-sorted-completions):
49 Use :completion-cycle-penalty text property if present.
50
512011-03-16 Ken Manheimer <ken.manheimer@gmail.com>
52
53 * allout.el (allout-yank-processing): Adjust for new rebulleting
54 regime so bullet being yanked is used without prompting the user
55 for a choice.
56
572011-03-16 Juanma Barranquero <lekktu@gmail.com>
58
59 * startup.el (command-line): Warn the user that _emacs is deprecated.
60
612011-03-16 Juanma Barranquero <lekktu@gmail.com>
62
63 * progmodes/delphi.el (delphi-search-path, delphi-indent-level)
64 (delphi-verbose, delphi-comment-face, delphi-string-face)
65 (delphi-keyword-face, delphi-ignore-changes, delphi-indent-line)
66 (delphi-mode-abbrev-table, delphi-debug-buffer, delphi-tab)
67 (delphi-find-unit, delphi-find-current-xdef, delphi-fill-comment)
68 (delphi-new-comment-line, delphi-font-lock-defaults)
69 (delphi-debug-mode-map, delphi-mode-syntax-table, delphi-mode):
70 Fix typos in docstrings.
71
722011-03-15 Ken Manheimer <ken.manheimer@gmail.com>
73
74 * allout.el (allout-make-topic-prefix, allout-rebullet-heading):
75 Invert the roles of character and string values for INSTEAD, so a
76 string is used for the more common case of a defaulting prompt.
77
782011-03-15 Stefan Monnier <monnier@iro.umontreal.ca>
79
80 * progmodes/ruby-mode.el (ruby-backward-sexp):
81 * progmodes/ebrowse.el (ebrowse-draw-file-member-info):
82 * play/gamegrid.el (gamegrid-make-face):
83 * play/bubbles.el (bubbles--grid-width, bubbles--grid-height)
84 (bubbles--colors, bubbles--shift-mode, bubbles--initialize-images):
85 * notifications.el (notifications-notify):
86 * net/xesam.el (xesam-search-engines):
87 * net/quickurl.el (quickurl-list-insert):
88 * vc/vc-hg.el (vc-hg-dir-printer): Fix use of case.
89
902011-03-15 Chong Yidong <cyd@stupidchicken.com>
91
92 * startup.el (command-line): Update package subdirectory regexp.
93
942011-03-15 Stefan Monnier <monnier@iro.umontreal.ca>
95
96 * allout.el (allout-abbreviate-flattened-numbering)
97 (allout-mode-deactivate-hook): Fix up obsolescence "date".
98
99 * subr.el (read-char-choice): Only show the cursor after the prompt,
100 not after the answer.
101
1022011-03-15 Kevin Ryde <user42@zip.com.au>
103
104 * help-fns.el (variable-at-point): Skip leading quotes, if any
105 (bug#8253).
106
1072011-03-15 Stefan Monnier <monnier@iro.umontreal.ca>
108
109 * emacs-lisp/bytecomp.el (byte-compile-save-excursion): Change the
110 warning message.
111
1122011-03-14 Michael Albinus <michael.albinus@gmx.de>
113
114 * shell.el (shell): When called interactively, offer to change the
115 shell file name on remote hosts.
116
12011-03-13 Teodor Zlatanov <tzz@lifelogs.com> 1172011-03-13 Teodor Zlatanov <tzz@lifelogs.com>
2 118
3 * net/ldap.el (ldap-search-internal): Add `auth-source-search' 119 * net/ldap.el (ldap-search-internal): Add `auth-source-search'
diff --git a/lisp/allout.el b/lisp/allout.el
index 91eaa28fdaf..3fb8ed7ccd5 100644
--- a/lisp/allout.el
+++ b/lisp/allout.el
@@ -310,6 +310,7 @@ Auto-layout is not.
310 310
311With value nil, inhibit any automatic allout-mode activation." 311With value nil, inhibit any automatic allout-mode activation."
312 :set 'allout-auto-activation-helper 312 :set 'allout-auto-activation-helper
313 ;; FIXME: Using strings here is unusual and less efficient than symbols.
313 :type '(choice (const :tag "On" t) 314 :type '(choice (const :tag "On" t)
314 (const :tag "Ask about layout" "ask") 315 (const :tag "Ask about layout" "ask")
315 (const :tag "Mode only" "activate") 316 (const :tag "Mode only" "activate")
@@ -752,7 +753,7 @@ Set this var to the bullet you want to use for file cross-references."
752 753
753;;;_ = allout-flattened-numbering-abbreviation 754;;;_ = allout-flattened-numbering-abbreviation
754(define-obsolete-variable-alias 'allout-abbreviate-flattened-numbering 755(define-obsolete-variable-alias 'allout-abbreviate-flattened-numbering
755 'allout-flattened-numbering-abbreviation "24.0") 756 'allout-flattened-numbering-abbreviation "24.1")
756(defcustom allout-flattened-numbering-abbreviation nil 757(defcustom allout-flattened-numbering-abbreviation nil
757 "If non-nil, `allout-flatten-exposed-to-buffer' abbreviates topic 758 "If non-nil, `allout-flatten-exposed-to-buffer' abbreviates topic
758numbers to minimal amount with some context. Otherwise, entire 759numbers to minimal amount with some context. Otherwise, entire
@@ -1402,7 +1403,7 @@ their settings before allout-mode was started."
1402(defvar allout-mode-deactivate-hook nil 1403(defvar allout-mode-deactivate-hook nil
1403 "*Hook that's run when allout mode ends.") 1404 "*Hook that's run when allout mode ends.")
1404(define-obsolete-variable-alias 'allout-mode-deactivate-hook 1405(define-obsolete-variable-alias 'allout-mode-deactivate-hook
1405 'allout-mode-off-hook "future") 1406 'allout-mode-off-hook "24.1")
1406;;;_ = allout-exposure-category 1407;;;_ = allout-exposure-category
1407(defvar allout-exposure-category nil 1408(defvar allout-exposure-category nil
1408 "Symbol for use as allout invisible-text overlay category.") 1409 "Symbol for use as allout invisible-text overlay category.")
@@ -3495,8 +3496,8 @@ the current topics' depth.
3495If INSTEAD is: 3496If INSTEAD is:
3496 3497
3497- nil, then the bullet char for the context is used, per distinction or depth 3498- nil, then the bullet char for the context is used, per distinction or depth
3498- a string, then the first character of the string will be used 3499- a \(numeric) character, then character's string representation is used
3499- a character, then the user is solicited for bullet, with that char as default 3500- a string, then the user is asked for bullet with the first char as default
3500- anything else, the user is solicited with bullet char per context as default 3501- anything else, the user is solicited with bullet char per context as default
3501 3502
3502\(INSTEAD overrides other options, including, eg, a distinctive 3503\(INSTEAD overrides other options, including, eg, a distinctive
@@ -3553,10 +3554,12 @@ index for each successive sibling)."
3553 ((progn (setq body (make-string (- depth 2) ?\ )) 3554 ((progn (setq body (make-string (- depth 2) ?\ ))
3554 ;; The actual condition: 3555 ;; The actual condition:
3555 instead) 3556 instead)
3556 (let* ((got 3557 (let ((got (cond ((stringp instead)
3557 (if (and (stringp instead)(> (length instead) 0)) 3558 (if (> (length instead) 0)
3558 (substring instead 0 1) 3559 (allout-solicit-alternate-bullet
3559 (allout-solicit-alternate-bullet depth instead)))) 3560 depth (substring instead 0 1))))
3561 ((characterp instead) (char-to-string instead))
3562 (t (allout-solicit-alternate-bullet depth)))))
3560 ;; Gotta check whether we're numbering and got a numbered bullet: 3563 ;; Gotta check whether we're numbering and got a numbered bullet:
3561 (setq numbering (and allout-numbered-bullet 3564 (setq numbering (and allout-numbered-bullet
3562 (not (and number-control (not index))) 3565 (not (and number-control (not index)))
@@ -3950,8 +3953,8 @@ All args are optional.
3950 3953
3951If INSTEAD is: 3954If INSTEAD is:
3952- nil, then the bullet char for the context is used, per distinction or depth 3955- nil, then the bullet char for the context is used, per distinction or depth
3953- a string, then the first character of the string will be used 3956- a \(numeric) character, then character's string representation is used
3954- a character, then the user is solicited for bullet, with that char as default 3957- a string, then the user is asked for bullet with the first char as default
3955- anything else, the user is solicited with bullet char per context as default 3958- anything else, the user is solicited with bullet char per context as default
3956 3959
3957Second arg DEPTH forces the topic prefix to that depth, regardless 3960Second arg DEPTH forces the topic prefix to that depth, regardless
@@ -4596,7 +4599,7 @@ however, are left exactly like normal, non-allout-specific yanks."
4596 (if (looking-at " ") 4599 (if (looking-at " ")
4597 (delete-char 1)))) 4600 (delete-char 1))))
4598 ;; Assert new topic's bullet - minimal effort if unchanged: 4601 ;; Assert new topic's bullet - minimal effort if unchanged:
4599 (allout-rebullet-heading prefix-bullet)) 4602 (allout-rebullet-heading (string-to-char prefix-bullet)))
4600 (exchange-point-and-mark)))) 4603 (exchange-point-and-mark))))
4601 (if rectify-numbering 4604 (if rectify-numbering
4602 (progn 4605 (progn
diff --git a/lisp/calc/README b/lisp/calc/README
index 533b80baeb0..308b5115aa2 100644
--- a/lisp/calc/README
+++ b/lisp/calc/README
@@ -72,6 +72,8 @@ Summary of changes to "Calc"
72 72
73Emacs 24.1 73Emacs 24.1
74 74
75* Support for musical notes added.
76
75* Support for logarithmic units added. 77* Support for logarithmic units added.
76 78
77* Calc no longer uses the tex prefix for TeX specific unit 79* Calc no longer uses the tex prefix for TeX specific unit
diff --git a/lisp/calc/calc-ext.el b/lisp/calc/calc-ext.el
index 11a26d6d125..9ea773fbb98 100644
--- a/lisp/calc/calc-ext.el
+++ b/lisp/calc/calc-ext.el
@@ -422,13 +422,13 @@
422 (define-key calc-mode-map "kT" 'calc-utpt) 422 (define-key calc-mode-map "kT" 'calc-utpt)
423 423
424 (define-key calc-mode-map "l" nil) 424 (define-key calc-mode-map "l" nil)
425 (define-key calc-mode-map "lq" 'calc-logunits-quantity) 425 (define-key calc-mode-map "lq" 'calc-lu-quant)
426 (define-key calc-mode-map "ld" 'calc-dblevel) 426 (define-key calc-mode-map "ld" 'calc-db)
427 (define-key calc-mode-map "ln" 'calc-nplevel) 427 (define-key calc-mode-map "ln" 'calc-np)
428 (define-key calc-mode-map "l+" 'calc-logunits-add) 428 (define-key calc-mode-map "l+" 'calc-lu-plus)
429 (define-key calc-mode-map "l-" 'calc-logunits-sub) 429 (define-key calc-mode-map "l-" 'calc-lu-minus)
430 (define-key calc-mode-map "l*" 'calc-logunits-mul) 430 (define-key calc-mode-map "l*" 'calc-lu-times)
431 (define-key calc-mode-map "l/" 'calc-logunits-divide) 431 (define-key calc-mode-map "l/" 'calc-lu-divide)
432 (define-key calc-mode-map "ls" 'calc-spn) 432 (define-key calc-mode-map "ls" 'calc-spn)
433 (define-key calc-mode-map "lm" 'calc-midi) 433 (define-key calc-mode-map "lm" 'calc-midi)
434 (define-key calc-mode-map "lf" 'calc-freq) 434 (define-key calc-mode-map "lf" 'calc-freq)
@@ -943,12 +943,11 @@ calc-store-value calc-var-name)
943 ("calc-stuff" calc-explain-why calcFunc-clean 943 ("calc-stuff" calc-explain-why calcFunc-clean
944calcFunc-pclean calcFunc-pfloat calcFunc-pfrac) 944calcFunc-pclean calcFunc-pfloat calcFunc-pfrac)
945 945
946 ("calc-units" calcFunc-usimplify calcFunc-lufieldadd 946 ("calc-units" calcFunc-usimplify calcFunc-lufadd calcFunc-lupadd
947calcFunc-lupoweradd calcFunc-lufieldsub calcFunc-lupowersub 947calcFunc-lufsub calcFunc-lupsub calcFunc-lufmul calcFunc-lupmul
948calcFunc-lufieldmul calcFunc-lupowermul calcFunc-lufielddiv 948calcFunc-lufdiv calcFunc-lupdiv calcFunc-lufquant calcFunc-lupquant
949calcFunc-lupowerdiv calcFunc-fieldquant calcFunc-powerquant 949calcFunc-dbfield calcFunc-dbpower calcFunc-npfield
950calcFunc-dbfieldlevel calcFunc-dbpowerlevel calcFunc-npfieldlevel 950calcFunc-nppower calcFunc-spn calcFunc-midi calcFunc-freq
951calcFunc-nppowerlevel calcFunc-spn calcFunc-midi calcFunc-freq
952math-build-units-table math-build-units-table-buffer 951math-build-units-table math-build-units-table-buffer
953math-check-unit-name math-convert-temperature math-convert-units 952math-check-unit-name math-convert-temperature math-convert-units
954math-extract-units math-remove-units math-simplify-units 953math-extract-units math-remove-units math-simplify-units
@@ -1180,9 +1179,9 @@ calc-convert-temperature calc-convert-units calc-define-unit
1180calc-enter-units-table calc-explain-units calc-extract-units 1179calc-enter-units-table calc-explain-units calc-extract-units
1181calc-get-unit-definition calc-permanent-units calc-quick-units 1180calc-get-unit-definition calc-permanent-units calc-quick-units
1182calc-remove-units calc-simplify-units calc-undefine-unit 1181calc-remove-units calc-simplify-units calc-undefine-unit
1183calc-view-units-table calc-logunits-quantity calc-dblevel 1182calc-view-units-table calc-lu-quant calc-db
1184calc-nplevel calc-logunits-add calc-logunits-sub 1183calc-np calc-lu-plus calc-lu-minus
1185calc-logunits-mul calc-logunits-divide calc-spn calc-midi 1184calc-lu-times calc-lu-divide calc-spn calc-midi
1186calc-freq) 1185calc-freq)
1187 1186
1188 ("calc-vec" calc-arrange-vector calc-build-vector calc-cnorm 1187 ("calc-vec" calc-arrange-vector calc-build-vector calc-cnorm
diff --git a/lisp/calc/calc-help.el b/lisp/calc/calc-help.el
index d688b31b3cb..427cf6ba233 100644
--- a/lisp/calc/calc-help.el
+++ b/lisp/calc/calc-help.el
@@ -673,7 +673,9 @@ C-w Describe how there is no warranty for Calc."
673 (interactive) 673 (interactive)
674 (calc-do-prefix-help 674 (calc-do-prefix-help
675 '("Quantity, DB level, Np level" 675 '("Quantity, DB level, Np level"
676 "+, -, *, /") 676 "+, -, *, /"
677 "Scientific pitch notation, Midi number, Frequency"
678 )
677 "log units" ?l)) 679 "log units" ?l))
678 680
679(defun calc-v-prefix-help () 681(defun calc-v-prefix-help ()
diff --git a/lisp/calc/calc-units.el b/lisp/calc/calc-units.el
index 7f0adc9fe7e..43cb5828e85 100644
--- a/lisp/calc/calc-units.el
+++ b/lisp/calc/calc-units.el
@@ -1623,39 +1623,39 @@ In symbolic mode, return the list (^ a b)."
1623 coef))) 1623 coef)))
1624 units))))))) 1624 units)))))))
1625 1625
1626(defun calcFunc-lufieldplus (a b) 1626(defun calcFunc-lufadd (a b)
1627 (math-logunits-add a b nil nil)) 1627 (math-logunits-add a b nil nil))
1628 1628
1629(defun calcFunc-lupowerplus (a b) 1629(defun calcFunc-lupadd (a b)
1630 (math-logunits-add a b nil t)) 1630 (math-logunits-add a b nil t))
1631 1631
1632(defun calcFunc-lufieldminus (a b) 1632(defun calcFunc-lufsub (a b)
1633 (math-logunits-add a b t nil)) 1633 (math-logunits-add a b t nil))
1634 1634
1635(defun calcFunc-lupowerminus (a b) 1635(defun calcFunc-lupsub (a b)
1636 (math-logunits-add a b t t)) 1636 (math-logunits-add a b t t))
1637 1637
1638(defun calc-logunits-add (arg) 1638(defun calc-lu-plus (arg)
1639 (interactive "P") 1639 (interactive "P")
1640 (calc-slow-wrapper 1640 (calc-slow-wrapper
1641 (if (calc-is-inverse) 1641 (if (calc-is-inverse)
1642 (if (calc-is-hyperbolic) 1642 (if (calc-is-hyperbolic)
1643 (calc-binary-op "lu-" 'calcFunc-lufieldminus arg) 1643 (calc-binary-op "lu-" 'calcFunc-lufsub arg)
1644 (calc-binary-op "lu-" 'calcFunc-lupowerminus arg)) 1644 (calc-binary-op "lu-" 'calcFunc-lupsub arg))
1645 (if (calc-is-hyperbolic) 1645 (if (calc-is-hyperbolic)
1646 (calc-binary-op "lu+" 'calcFunc-lufieldplus arg) 1646 (calc-binary-op "lu+" 'calcFunc-lufadd arg)
1647 (calc-binary-op "lu+" 'calcFunc-lupowerplus arg))))) 1647 (calc-binary-op "lu+" 'calcFunc-lupadd arg)))))
1648 1648
1649(defun calc-logunits-sub (arg) 1649(defun calc-lu-minus (arg)
1650 (interactive "P") 1650 (interactive "P")
1651 (calc-slow-wrapper 1651 (calc-slow-wrapper
1652 (if (calc-is-inverse) 1652 (if (calc-is-inverse)
1653 (if (calc-is-hyperbolic) 1653 (if (calc-is-hyperbolic)
1654 (calc-binary-op "lu+" 'calcFunc-lufieldplus arg) 1654 (calc-binary-op "lu+" 'calcFunc-lufadd arg)
1655 (calc-binary-op "lu+" 'calcFunc-lupowerplus arg)) 1655 (calc-binary-op "lu+" 'calcFunc-lupadd arg))
1656 (if (calc-is-hyperbolic) 1656 (if (calc-is-hyperbolic)
1657 (calc-binary-op "lu-" 'calcFunc-lufieldminus arg) 1657 (calc-binary-op "lu-" 'calcFunc-lufsub arg)
1658 (calc-binary-op "lu-" 'calcFunc-lupowerminus arg))))) 1658 (calc-binary-op "lu-" 'calcFunc-lupsub arg)))))
1659 1659
1660(defun math-logunits-mul (a b power) 1660(defun math-logunits-mul (a b power)
1661 (let (logunit coef units number) 1661 (let (logunit coef units number)
@@ -1719,39 +1719,39 @@ In symbolic mode, return the list (^ a b)."
1719 (math-div (math-conditional-apply 'calcFunc-ln b) (if power 2 1))) 1719 (math-div (math-conditional-apply 'calcFunc-ln b) (if power 2 1)))
1720 units))))))))) 1720 units)))))))))
1721 1721
1722(defun calcFunc-lufieldtimes (a b) 1722(defun calcFunc-lufmul (a b)
1723 (math-logunits-mul a b nil)) 1723 (math-logunits-mul a b nil))
1724 1724
1725(defun calcFunc-lupowertimes (a b) 1725(defun calcFunc-lupmul (a b)
1726 (math-logunits-mul a b t)) 1726 (math-logunits-mul a b t))
1727 1727
1728(defun calc-logunits-mul (arg) 1728(defun calc-lu-times (arg)
1729 (interactive "P") 1729 (interactive "P")
1730 (calc-slow-wrapper 1730 (calc-slow-wrapper
1731 (if (calc-is-inverse) 1731 (if (calc-is-inverse)
1732 (if (calc-is-hyperbolic) 1732 (if (calc-is-hyperbolic)
1733 (calc-binary-op "lu/" 'calcFunc-lufielddiv arg) 1733 (calc-binary-op "lu/" 'calcFunc-lufdiv arg)
1734 (calc-binary-op "lu/" 'calcFunc-lupowerdiv arg)) 1734 (calc-binary-op "lu/" 'calcFunc-lupdiv arg))
1735 (if (calc-is-hyperbolic) 1735 (if (calc-is-hyperbolic)
1736 (calc-binary-op "lu*" 'calcFunc-lufieldtimes arg) 1736 (calc-binary-op "lu*" 'calcFunc-lufmul arg)
1737 (calc-binary-op "lu*" 'calcFunc-lupowertimes arg))))) 1737 (calc-binary-op "lu*" 'calcFunc-lupmul arg)))))
1738 1738
1739(defun calcFunc-lufielddiv (a b) 1739(defun calcFunc-lufdiv (a b)
1740 (math-logunits-divide a b nil)) 1740 (math-logunits-divide a b nil))
1741 1741
1742(defun calcFunc-lupowerdiv (a b) 1742(defun calcFunc-lupdiv (a b)
1743 (math-logunits-divide a b t)) 1743 (math-logunits-divide a b t))
1744 1744
1745(defun calc-logunits-divide (arg) 1745(defun calc-lu-divide (arg)
1746 (interactive "P") 1746 (interactive "P")
1747 (calc-slow-wrapper 1747 (calc-slow-wrapper
1748 (if (calc-is-inverse) 1748 (if (calc-is-inverse)
1749 (if (calc-is-hyperbolic) 1749 (if (calc-is-hyperbolic)
1750 (calc-binary-op "lu*" 'calcFunc-lufieldtimes arg) 1750 (calc-binary-op "lu*" 'calcFunc-lufmul arg)
1751 (calc-binary-op "lu*" 'calcFunc-lupowertimes arg)) 1751 (calc-binary-op "lu*" 'calcFunc-lupmul arg))
1752 (if (calc-is-hyperbolic) 1752 (if (calc-is-hyperbolic)
1753 (calc-binary-op "lu/" 'calcFunc-lufielddiv arg) 1753 (calc-binary-op "lu/" 'calcFunc-lufdiv arg)
1754 (calc-binary-op "lu/" 'calcFunc-lupowerdiv arg))))) 1754 (calc-binary-op "lu/" 'calcFunc-lupdiv arg)))))
1755 1755
1756(defun math-logunits-quant (val ref power) 1756(defun math-logunits-quant (val ref power)
1757 (let* ((units (math-simplify (math-extract-units val))) 1757 (let* ((units (math-simplify (math-extract-units val)))
@@ -1777,29 +1777,29 @@ In symbolic mode, return the list (^ a b)."
1777 coeff)))) 1777 coeff))))
1778 runits))))) 1778 runits)))))
1779 1779
1780(defvar calc-logunits-field-reference) 1780(defvar calc-lu-field-reference)
1781(defvar calc-logunits-power-reference) 1781(defvar calc-lu-power-reference)
1782 1782
1783(defun calcFunc-fieldquant (val &optional ref) 1783(defun calcFunc-lufquant (val &optional ref)
1784 (unless ref 1784 (unless ref
1785 (setq ref (math-read-expr calc-logunits-field-reference))) 1785 (setq ref (math-read-expr calc-lu-field-reference)))
1786 (math-logunits-quant val ref nil)) 1786 (math-logunits-quant val ref nil))
1787 1787
1788(defun calcFunc-powerquant (val &optional ref) 1788(defun calcFunc-lupquant (val &optional ref)
1789 (unless ref 1789 (unless ref
1790 (setq ref (math-read-expr calc-logunits-power-reference))) 1790 (setq ref (math-read-expr calc-lu-power-reference)))
1791 (math-logunits-quant val ref t)) 1791 (math-logunits-quant val ref t))
1792 1792
1793(defun calc-logunits-quantity (arg) 1793(defun calc-lu-quant (arg)
1794 (interactive "P") 1794 (interactive "P")
1795 (calc-slow-wrapper 1795 (calc-slow-wrapper
1796 (if (calc-is-hyperbolic) 1796 (if (calc-is-hyperbolic)
1797 (if (calc-is-option) 1797 (if (calc-is-option)
1798 (calc-binary-op "lupq" 'calcFunc-fieldquant arg) 1798 (calc-binary-op "lupq" 'calcFunc-lufquant arg)
1799 (calc-unary-op "lupq" 'calcFunc-fieldquant arg)) 1799 (calc-unary-op "lupq" 'calcFunc-lufquant arg))
1800 (if (calc-is-option) 1800 (if (calc-is-option)
1801 (calc-binary-op "lufq" 'calcFunc-powerquant arg) 1801 (calc-binary-op "lufq" 'calcFunc-lupquant arg)
1802 (calc-unary-op "lufq" 'calcFunc-powerquant arg))))) 1802 (calc-unary-op "lufq" 'calcFunc-lupquant arg)))))
1803 1803
1804(defun math-logunits-level (val ref db power) 1804(defun math-logunits-level (val ref db power)
1805 "Compute the value of VAL in decibels or nepers." 1805 "Compute the value of VAL in decibels or nepers."
@@ -1817,47 +1817,47 @@ In symbolic mode, return the list (^ a b)."
1817 '(var Np var-Np))) 1817 '(var Np var-Np)))
1818 units))) 1818 units)))
1819 1819
1820(defun calcFunc-dbfieldlevel (val &optional ref) 1820(defun calcFunc-dbfield (val &optional ref)
1821 (unless ref 1821 (unless ref
1822 (setq ref (math-read-expr calc-logunits-field-reference))) 1822 (setq ref (math-read-expr calc-lu-field-reference)))
1823 (math-logunits-level val ref t nil)) 1823 (math-logunits-level val ref t nil))
1824 1824
1825(defun calcFunc-dbpowerlevel (val &optional ref) 1825(defun calcFunc-dbpower (val &optional ref)
1826 (unless ref 1826 (unless ref
1827 (setq ref (math-read-expr calc-logunits-power-reference))) 1827 (setq ref (math-read-expr calc-lu-power-reference)))
1828 (math-logunits-level val ref t t)) 1828 (math-logunits-level val ref t t))
1829 1829
1830(defun calcFunc-npfieldlevel (val &optional ref) 1830(defun calcFunc-npfield (val &optional ref)
1831 (unless ref 1831 (unless ref
1832 (setq ref (math-read-expr calc-logunits-field-reference))) 1832 (setq ref (math-read-expr calc-lu-field-reference)))
1833 (math-logunits-level val ref nil nil)) 1833 (math-logunits-level val ref nil nil))
1834 1834
1835(defun calcFunc-nppowerlevel (val &optional ref) 1835(defun calcFunc-nppower (val &optional ref)
1836 (unless ref 1836 (unless ref
1837 (setq ref (math-read-expr calc-logunits-power-reference))) 1837 (setq ref (math-read-expr calc-lu-power-reference)))
1838 (math-logunits-level val ref nil t)) 1838 (math-logunits-level val ref nil t))
1839 1839
1840(defun calc-dblevel (arg) 1840(defun calc-db (arg)
1841 (interactive "P") 1841 (interactive "P")
1842 (calc-slow-wrapper 1842 (calc-slow-wrapper
1843 (if (calc-is-hyperbolic) 1843 (if (calc-is-hyperbolic)
1844 (if (calc-is-option) 1844 (if (calc-is-option)
1845 (calc-binary-op "ludb" 'calcFunc-dbfieldlevel arg) 1845 (calc-binary-op "ludb" 'calcFunc-dbfield arg)
1846 (calc-unary-op "ludb" 'calcFunc-dbfieldlevel arg)) 1846 (calc-unary-op "ludb" 'calcFunc-dbfield arg))
1847 (if (calc-is-option) 1847 (if (calc-is-option)
1848 (calc-binary-op "ludb" 'calcFunc-dbpowerlevel arg) 1848 (calc-binary-op "ludb" 'calcFunc-dbpower arg)
1849 (calc-unary-op "ludb" 'calcFunc-dbpowerlevel arg))))) 1849 (calc-unary-op "ludb" 'calcFunc-dbpower arg)))))
1850 1850
1851(defun calc-nplevel (arg) 1851(defun calc-np (arg)
1852 (interactive "P") 1852 (interactive "P")
1853 (calc-slow-wrapper 1853 (calc-slow-wrapper
1854 (if (calc-is-hyperbolic) 1854 (if (calc-is-hyperbolic)
1855 (if (calc-is-option) 1855 (if (calc-is-option)
1856 (calc-binary-op "lunp" 'calcFunc-npfieldlevel arg) 1856 (calc-binary-op "lunp" 'calcFunc-npfield arg)
1857 (calc-unary-op "lunp" 'calcFunc-npfieldlevel arg)) 1857 (calc-unary-op "lunp" 'calcFunc-npfield arg))
1858 (if (calc-is-option) 1858 (if (calc-is-option)
1859 (calc-binary-op "lunp" 'calcFunc-nppowerlevel arg) 1859 (calc-binary-op "lunp" 'calcFunc-nppower arg)
1860 (calc-unary-op "lunp" 'calcFunc-nppowerlevel arg))))) 1860 (calc-unary-op "lunp" 'calcFunc-nppower arg)))))
1861 1861
1862;;; Musical notes 1862;;; Musical notes
1863 1863
diff --git a/lisp/calc/calc.el b/lisp/calc/calc.el
index 08ae7b10113..41f549cbe2c 100644
--- a/lisp/calc/calc.el
+++ b/lisp/calc/calc.el
@@ -434,13 +434,13 @@ by displaying the sub-formula in `calc-selected-face'."
434 :group 'calc 434 :group 'calc
435 :type 'boolean) 435 :type 'boolean)
436 436
437(defcustom calc-logunits-field-reference 437(defcustom calc-lu-field-reference
438 "20 uPa" 438 "20 uPa"
439 "The default reference level for logarithmic units (field)." 439 "The default reference level for logarithmic units (field)."
440 :group 'calc 440 :group 'calc
441 :type '(string)) 441 :type '(string))
442 442
443(defcustom calc-logunits-power-reference 443(defcustom calc-lu-power-reference
444 "mW" 444 "mW"
445 "The default reference level for logarithmic units (power)." 445 "The default reference level for logarithmic units (power)."
446 :group 'calc 446 :group 'calc
diff --git a/lisp/custom.el b/lisp/custom.el
index 923321c03c9..cf06fe27f4d 100644
--- a/lisp/custom.el
+++ b/lisp/custom.el
@@ -789,10 +789,10 @@ E.g. dumped variables whose default depends on run-time information."
789(defvar custom-known-themes '(user changed) 789(defvar custom-known-themes '(user changed)
790 "Themes that have been defined with `deftheme'. 790 "Themes that have been defined with `deftheme'.
791The default value is the list (user changed). The theme `changed' 791The default value is the list (user changed). The theme `changed'
792contains the settings before custom themes are applied. The 792contains the settings before custom themes are applied. The theme
793theme `user' contains all the settings the user customized and saved. 793`user' contains all the settings the user customized and saved.
794Additional themes declared with the `deftheme' macro will be added to 794Additional themes declared with the `deftheme' macro will be added
795the front of this list.") 795to the front of this list.")
796 796
797(defsubst custom-theme-p (theme) 797(defsubst custom-theme-p (theme)
798 "Non-nil when THEME has been defined." 798 "Non-nil when THEME has been defined."
@@ -1071,7 +1071,7 @@ order. Each element in the list should be one of the following:
1071 named \"themes\" in `data-directory'). 1071 named \"themes\" in `data-directory').
1072- a directory name (a string). 1072- a directory name (a string).
1073 1073
1074Each theme file is named NAME-theme.el, where THEME is the theme 1074Each theme file is named THEME-theme.el, where THEME is the theme
1075name." 1075name."
1076 :type '(repeat (choice (const :tag "custom-theme-directory" 1076 :type '(repeat (choice (const :tag "custom-theme-directory"
1077 custom-theme-directory) 1077 custom-theme-directory)
@@ -1143,7 +1143,7 @@ Return t if THEME was successfully loaded, nil otherwise."
1143 '("" "c"))) 1143 '("" "c")))
1144 hash) 1144 hash)
1145 (unless fn 1145 (unless fn
1146 (error "Unable to find theme file for `%s'." theme)) 1146 (error "Unable to find theme file for `%s'" theme))
1147 (with-temp-buffer 1147 (with-temp-buffer
1148 (insert-file-contents fn) 1148 (insert-file-contents fn)
1149 (setq hash (sha1 (current-buffer))) 1149 (setq hash (sha1 (current-buffer)))
@@ -1209,7 +1209,7 @@ NAME should be a symbol."
1209 1209
1210(defun custom-available-themes () 1210(defun custom-available-themes ()
1211 "Return a list of available Custom themes (symbols)." 1211 "Return a list of available Custom themes (symbols)."
1212 (let* (sym themes) 1212 (let (sym themes)
1213 (dolist (dir (custom-theme--load-path)) 1213 (dolist (dir (custom-theme--load-path))
1214 (when (file-directory-p dir) 1214 (when (file-directory-p dir)
1215 (dolist (file (file-expand-wildcards 1215 (dolist (file (file-expand-wildcards
@@ -1335,7 +1335,7 @@ That is to say, it specifies what the value should be according to
1335currently enabled custom themes. 1335currently enabled custom themes.
1336 1336
1337This function returns nil if no custom theme specifies a value for VARIABLE." 1337This function returns nil if no custom theme specifies a value for VARIABLE."
1338 (let* ((theme-value (get variable 'theme-value))) 1338 (let ((theme-value (get variable 'theme-value)))
1339 (if theme-value 1339 (if theme-value
1340 (cdr (car theme-value))))) 1340 (cdr (car theme-value)))))
1341 1341
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el
index 5e24b80ac5a..5c845e59c85 100644
--- a/lisp/emacs-lisp/bytecomp.el
+++ b/lisp/emacs-lisp/bytecomp.el
@@ -3776,7 +3776,8 @@ that suppresses all warnings during execution of BODY."
3776(defun byte-compile-save-excursion (form) 3776(defun byte-compile-save-excursion (form)
3777 (if (and (eq 'set-buffer (car-safe (car-safe (cdr form)))) 3777 (if (and (eq 'set-buffer (car-safe (car-safe (cdr form))))
3778 (byte-compile-warning-enabled-p 'suspicious)) 3778 (byte-compile-warning-enabled-p 'suspicious))
3779 (byte-compile-warn "`save-excursion' defeated by `set-buffer'")) 3779 (byte-compile-warn
3780 "Use `with-current-buffer' rather than save-excursion+set-buffer"))
3780 (byte-compile-out 'byte-save-excursion 0) 3781 (byte-compile-out 'byte-save-excursion 0)
3781 (byte-compile-body-do-effect (cdr form)) 3782 (byte-compile-body-do-effect (cdr form))
3782 (byte-compile-out 'byte-unbind 1)) 3783 (byte-compile-out 'byte-unbind 1))
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index af0bd1519c7..b22ed7397af 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,82 @@
12011-03-16 Julien Danjou <julien@danjou.info>
2
3 * mm-uu.el (mm-uu-dissect-text-parts): Only dissect handle that are
4 inline.
5
6 * gnus-art.el (article-hide-list-identifiers): Use
7 gnus-group-get-list-identifiers.
8
9 * gnus-sum.el (gnus-group-get-list-identifiers): New function.
10 (gnus-summary-remove-list-identifiers): Use
11 gnus-group-get-list-identifiers to get regexp.
12 (gnus-select-newsgroup, gnus-summary-insert-subject)
13 (gnus-summary-insert-articles): Call
14 gnus-summary-remove-list-identifiers unconditionally.
15
162011-03-15 Lars Magne Ingebrigtsen <larsi@gnus.org>
17
18 * gnus-sum.el (gnus-articles-to-read): Revert back to old behaviour if
19 we're selecting a group with unread articles.
20
21 * nnimap.el (nnimap-open-connection-1): Allow `network-only', too.
22
23 * gssapi.el: New file separated out from imap.el to provide a general
24 Kerberos 5 connection facility for Emacs.
25
26 * message.el (message-elide-ellipsis): Document the format spec
27 ellipsis.
28
292011-03-15 Reiner Steib <Reiner.Steib@gmx.de>
30
31 * message.el (message-elide-region): Allow the ellipsis to say how many
32 lines were removed.
33
342011-03-15 Lars Magne Ingebrigtsen <larsi@gnus.org>
35
36 * gnus-win.el (gnus-configure-frame): Protect against trying to restore
37 window configurations containing buffers that are now dead.
38
39 * nnimap.el (nnimap-parse-flags): Remove all MODSEQ entries before
40 parsing to avoid integer overflows.
41 (nnimap-parse-flags): Simplify the last change.
42 (nnimap-parse-flags): Store HIGHESTMODSEQ as a string, since it may be
43 too large for 32-bit Emacsen.
44
452011-03-15 Stefan Monnier <monnier@iro.umontreal.ca>
46
47 * auth-source.el (auth-source-netrc-create):
48 * message.el (message-yank-original): Fix use of `case'.
49
502011-03-15 Nelson Ferreira <nelson.ferreira@ieee.org> (tiny change)
51
52 * gnus-art.el (gnus-article-treat-body-boundary): Fix boundary width on
53 XEmacs, which was one character too wide.
54
552011-03-09 Antoine Levitt <antoine.levitt@gmail.com>
56
57 * gnus-sum.el (gnus-articles-to-read): Use gnus-large-newsgroup as
58 default number of articles to display.
59 (gnus-articles-to-read): Use pretty names for prompt.
60
612011-03-15 Lars Magne Ingebrigtsen <larsi@gnus.org>
62
63 * gnus-int.el (gnus-open-server): Ditto.
64
65 * gnus-start.el (gnus-activate-group): Give a backtrace if
66 debug-on-quit is set and the user hits `C-g'.
67 (gnus-read-active-file): Ditto.
68
69 * gnus-group.el (gnus-group-read-ephemeral-group): Ditto.
70
712011-03-15 Teodor Zlatanov <tzz@lifelogs.com>
72
73 * message.el (message-yank-original): Use cond instead of CL case.
74
752011-03-15 Stefan Monnier <monnier@iro.umontreal.ca>
76
77 * auth-source.el (auth-source-netrc-create): Use usual format for the
78 default in prompts.
79
12011-03-13 Teodor Zlatanov <tzz@lifelogs.com> 802011-03-13 Teodor Zlatanov <tzz@lifelogs.com>
2 81
3 * auth-source.el (auth-source-netrc-create): Show the default in the 82 * auth-source.el (auth-source-netrc-create): Show the default in the
@@ -15,9 +94,9 @@
15 94
162011-03-11 Teodor Zlatanov <tzz@lifelogs.com> 952011-03-11 Teodor Zlatanov <tzz@lifelogs.com>
17 96
18 * gnus-sync.el (gnus-sync-install-hooks, gnus-sync-unload-hook): Don't 97 * gnus-sync.el (gnus-sync-install-hooks, gnus-sync-unload-hook):
19 install `gnus-sync-read' to any hooks by default. It's buggy. The 98 Don't install `gnus-sync-read' to any hooks by default. It's buggy.
20 user will have to run `gnus-sync-read' manually and wait for Cloudy 99 The user will have to run `gnus-sync-read' manually and wait for Cloudy
21 Gnus. 100 Gnus.
22 101
232011-03-11 Julien Danjou <julien@danjou.info> 1022011-03-11 Julien Danjou <julien@danjou.info>
@@ -101,8 +180,8 @@
101 180
1022011-03-05 Antoine Levitt <antoine.levitt@gmail.com> 1812011-03-05 Antoine Levitt <antoine.levitt@gmail.com>
103 182
104 * message.el (message-cite-reply-position, message-cite-style): New 183 * message.el (message-cite-reply-position, message-cite-style):
105 variables. 184 New variables.
106 (message-yank-original): Use the new citation styles. 185 (message-yank-original): Use the new citation styles.
107 186
1082011-03-04 Daiki Ueno <ueno@unixuser.org> 1872011-03-04 Daiki Ueno <ueno@unixuser.org>
@@ -216,14 +295,14 @@
216 295
2172011-02-23 Lars Ingebrigtsen <larsi@gnus.org> 2962011-02-23 Lars Ingebrigtsen <larsi@gnus.org>
218 297
219 * gnus-start.el (gnus-dribble-read-file): Set 298 * gnus-start.el (gnus-dribble-read-file):
220 buffer-save-without-query, since we always want to save the dribble 299 Set buffer-save-without-query, since we always want to save the dribble
221 file, probably. 300 file, probably.
222 301
223 * nnmail.el (nnmail-article-group): Allow a final "" split to work on 302 * nnmail.el (nnmail-article-group): Allow a final "" split to work on
224 nnimap. 303 nnimap.
225 304
226 * gnus-sum.el (gnus-user-date-format-alist): Renamed back again from 305 * gnus-sum.el (gnus-user-date-format-alist): Rename back again from
227 -summary- since it's a user-visible variable. 306 -summary- since it's a user-visible variable.
228 307
229 * nnimap.el (nnimap-retrieve-group-data-early): Don't do QRESYNC the 308 * nnimap.el (nnimap-retrieve-group-data-early): Don't do QRESYNC the
@@ -469,8 +548,8 @@
4692011-02-14 Teodor Zlatanov <tzz@lifelogs.com> 5482011-02-14 Teodor Zlatanov <tzz@lifelogs.com>
470 549
471 * auth-source.el (auth-source-backend-parse-parameters): Don't rely on 550 * auth-source.el (auth-source-backend-parse-parameters): Don't rely on
472 `plist-get' to accept non-list parameters (XEmacs issue). Fix 551 `plist-get' to accept non-list parameters (XEmacs issue).
473 docstring. 552 Fix docstring.
474 (auth-source-secrets-search): Use `delete-dups', `append mapcar', and 553 (auth-source-secrets-search): Use `delete-dups', `append mapcar', and
475 `butlast' instead of `remove-duplicates', `mapcan', and `subseq'. 554 `butlast' instead of `remove-duplicates', `mapcan', and `subseq'.
476 (auth-sources, auth-source-backend-parse, auth-source-secrets-search): 555 (auth-sources, auth-source-backend-parse, auth-source-secrets-search):
@@ -510,8 +589,8 @@
510 589
5112011-02-13 Tassilo Horn <tassilo@member.fsf.org> (tiny change) 5902011-02-13 Tassilo Horn <tassilo@member.fsf.org> (tiny change)
512 591
513 * nnimap.el (nnimap-request-accept-article, nnimap-process-quirk): Fix 592 * nnimap.el (nnimap-request-accept-article, nnimap-process-quirk):
514 Gcc processing on imap. 593 Fix Gcc processing on imap.
515 594
5162011-02-10 Stefan Monnier <monnier@iro.umontreal.ca> 5952011-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
517 596
@@ -599,8 +678,8 @@
599 678
6002011-02-06 Michael Albinus <michael.albinus@gmx.de> 6792011-02-06 Michael Albinus <michael.albinus@gmx.de>
601 680
602 * auth-source.el (top): Require 'eieio unconditionally. Autoload 681 * auth-source.el (top): Require 'eieio unconditionally.
603 `secrets-get-attributes' instead of `secrets-get-attribute'. 682 Autoload `secrets-get-attributes' instead of `secrets-get-attribute'.
604 (auth-source-secrets-search): Limit search when `max' is greater than 683 (auth-source-secrets-search): Limit search when `max' is greater than
605 number of results. 684 number of results.
606 685
@@ -636,7 +715,7 @@
636 (auth-source-protocol-defaults, auth-source-user-or-password-imap) 715 (auth-source-protocol-defaults, auth-source-user-or-password-imap)
637 (auth-source-user-or-password-pop3, auth-source-user-or-password-ssh) 716 (auth-source-user-or-password-pop3, auth-source-user-or-password-ssh)
638 (auth-source-user-or-password-sftp) 717 (auth-source-user-or-password-sftp)
639 (auth-source-user-or-password-smtp): Removed. 718 (auth-source-user-or-password-smtp): Remove.
640 (auth-source-user-or-password): Deprecated and modified to be a wrapper 719 (auth-source-user-or-password): Deprecated and modified to be a wrapper
641 around `auth-source-search'. Not tested thoroughly. 720 around `auth-source-search'. Not tested thoroughly.
642 721
@@ -802,16 +881,16 @@
802 * gnus-group.el (gnus-group-jump-to-group): Allow jumping to groups 881 * gnus-group.el (gnus-group-jump-to-group): Allow jumping to groups
803 that Gnus doesn't know exists again. 882 that Gnus doesn't know exists again.
804 883
805 * gnus-art.el (gnus-article-date-lapsed-new-header): Removed. 884 * gnus-art.el (gnus-article-date-lapsed-new-header): Remove.
806 (gnus-treat-date-ut): Ditto. 885 (gnus-treat-date-ut): Ditto.
807 (gnus-article-update-date-header): Renamed. 886 (gnus-article-update-date-header): Rename.
808 (gnus-treat-date-local): Removed. 887 (gnus-treat-date-local): Remove.
809 (gnus-treat-date-english): Removed. 888 (gnus-treat-date-english): Remove.
810 (gnus-treat-date-lapsed): Removed. 889 (gnus-treat-date-lapsed): Remove.
811 (gnus-treat-date-combined-lapsed): Removed. 890 (gnus-treat-date-combined-lapsed): Remove.
812 (gnus-treat-date-original): Removed. 891 (gnus-treat-date-original): Remove.
813 (gnus-treat-date-iso8601): Removed. 892 (gnus-treat-date-iso8601): Remove.
814 (gnus-treat-date-user-defined): Removed. 893 (gnus-treat-date-user-defined): Remove.
815 (gnus-article-date-headers): New variable to control all the date 894 (gnus-article-date-headers): New variable to control all the date
816 header options. 895 header options.
817 (article-date-ut): Rewrite to allow using the new way to format date 896 (article-date-ut): Rewrite to allow using the new way to format date
diff --git a/lisp/gnus/auth-source.el b/lisp/gnus/auth-source.el
index 52f2b92e933..e0bea324a25 100644
--- a/lisp/gnus/auth-source.el
+++ b/lisp/gnus/auth-source.el
@@ -1093,17 +1093,19 @@ See `auth-source-search' for details on SPEC."
1093 (?h ,(aget printable-defaults 'host)) 1093 (?h ,(aget printable-defaults 'host))
1094 (?p ,(aget printable-defaults 'port)))))) 1094 (?p ,(aget printable-defaults 'port))))))
1095 1095
1096 ;; store the data, prompting for the password if needed 1096 ;; Store the data, prompting for the password if needed.
1097 (setq data 1097 (setq data
1098 (cond 1098 (cond
1099 ((and (null data) (eq r 'secret)) 1099 ((and (null data) (eq r 'secret))
1100 ;; special case prompt for passwords 1100 ;; Special case prompt for passwords.
1101 (read-passwd prompt)) 1101 (read-passwd prompt))
1102 ((null data) 1102 ((null data)
1103 (when default 1103 (when default
1104 (setq 1104 (setq prompt
1105 prompt 1105 (if (string-match ": *\\'" prompt)
1106 (concat prompt (format "(default %s) " default)))) 1106 (concat (substring prompt 0 (match-beginning 0))
1107 " (default " default "): ")
1108 (concat prompt "(default " default ") "))))
1107 (read-string prompt nil nil default)) 1109 (read-string prompt nil nil default))
1108 (t (or data default)))) 1110 (t (or data default))))
1109 1111
@@ -1115,7 +1117,7 @@ See `auth-source-search' for details on SPEC."
1115 (lambda () data)) 1117 (lambda () data))
1116 data)))) 1118 data))))
1117 1119
1118 ;; when r is not an empty string... 1120 ;; When r is not an empty string...
1119 (when (and (stringp data) 1121 (when (and (stringp data)
1120 (< 0 (length data))) 1122 (< 0 (length data)))
1121 ;; this function is not strictly necessary but I think it 1123 ;; this function is not strictly necessary but I think it
@@ -1128,10 +1130,10 @@ See `auth-source-search' for details on SPEC."
1128 (if (zerop (length add)) "" " ") 1130 (if (zerop (length add)) "" " ")
1129 ;; remap auth-source tokens to netrc 1131 ;; remap auth-source tokens to netrc
1130 (case r 1132 (case r
1131 ('user "login") 1133 (user "login")
1132 ('host "machine") 1134 (host "machine")
1133 ('secret "password") 1135 (secret "password")
1134 ('port "port") ; redundant but clearer 1136 (port "port") ; redundant but clearer
1135 (t (symbol-name r))) 1137 (t (symbol-name r)))
1136 ;; the value will be printed in %S format 1138 ;; the value will be printed in %S format
1137 data)))) 1139 data))))
@@ -1173,7 +1175,7 @@ Respects `auth-source-save-behavior'. Uses
1173 ;; we want the new data to be found first, so insert at beginning 1175 ;; we want the new data to be found first, so insert at beginning
1174 (goto-char (point-min)) 1176 (goto-char (point-min))
1175 1177
1176 ;; ask AFTER we've successfully opened the file 1178 ;; Ask AFTER we've successfully opened the file.
1177 (let ((prompt (format "Save auth info to file %s? " file)) 1179 (let ((prompt (format "Save auth info to file %s? " file))
1178 (done (not (eq auth-source-save-behavior 'ask))) 1180 (done (not (eq auth-source-save-behavior 'ask)))
1179 (bufname "*auth-source Help*") 1181 (bufname "*auth-source Help*")
@@ -1190,6 +1192,8 @@ Respects `auth-source-save-behavior'. Uses
1190 "(N)o and don't ask to save again\n" 1192 "(N)o and don't ask to save again\n"
1191 "(e)dit the line\n" 1193 "(e)dit the line\n"
1192 "(?) for help as you can see.\n")) 1194 "(?) for help as you can see.\n"))
1195 ;; Why? Doesn't with-output-to-temp-buffer already do
1196 ;; the exact same thing anyway? --Stef
1193 (set-buffer standard-output) 1197 (set-buffer standard-output)
1194 (help-mode)))) 1198 (help-mode))))
1195 (?n (setq add "" 1199 (?n (setq add ""
@@ -1203,7 +1207,7 @@ Respects `auth-source-save-behavior'. Uses
1203 (when (get-buffer-window bufname) 1207 (when (get-buffer-window bufname)
1204 (delete-window (get-buffer-window bufname))) 1208 (delete-window (get-buffer-window bufname)))
1205 1209
1206 ;; make sure the info is not saved 1210 ;; Make sure the info is not saved.
1207 (when (null auth-source-save-behavior) 1211 (when (null auth-source-save-behavior)
1208 (setq add "")) 1212 (setq add ""))
1209 1213
diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el
index c64138b43d7..b994a2839bc 100644
--- a/lisp/gnus/gnus-art.el
+++ b/lisp/gnus/gnus-art.el
@@ -2337,10 +2337,12 @@ long lines if and only if arg is positive."
2337 (let ((start (point))) 2337 (let ((start (point)))
2338 (insert "X-Boundary: ") 2338 (insert "X-Boundary: ")
2339 (gnus-add-text-properties start (point) '(invisible t intangible t)) 2339 (gnus-add-text-properties start (point) '(invisible t intangible t))
2340 (insert (let (str) 2340 (insert (let (str (max (window-width)))
2341 (while (>= (window-width) (length str)) 2341 (if (featurep 'xemacs)
2342 (setq max (1- max)))
2343 (while (>= max (length str))
2342 (setq str (concat str gnus-body-boundary-delimiter))) 2344 (setq str (concat str gnus-body-boundary-delimiter)))
2343 (substring str 0 (window-width))) 2345 (substring str 0 max))
2344 "\n") 2346 "\n")
2345 (gnus-put-text-property start (point) 'gnus-decoration 'header))))) 2347 (gnus-put-text-property start (point) 'gnus-decoration 'header)))))
2346 2348
@@ -3074,10 +3076,7 @@ images if any to the browser, and deletes them when exiting the group
3074The `gnus-list-identifiers' variable specifies what to do." 3076The `gnus-list-identifiers' variable specifies what to do."
3075 (interactive) 3077 (interactive)
3076 (let ((inhibit-point-motion-hooks t) 3078 (let ((inhibit-point-motion-hooks t)
3077 (regexp (or (gnus-parameter-list-identifier gnus-newsgroup-name) 3079 (regexp (gnus-group-get-list-identifiers gnus-newsgroup-name))
3078 (if (consp gnus-list-identifiers)
3079 (mapconcat 'identity gnus-list-identifiers " *\\|")
3080 gnus-list-identifiers)))
3081 (inhibit-read-only t)) 3080 (inhibit-read-only t))
3082 (when regexp 3081 (when regexp
3083 (save-excursion 3082 (save-excursion
diff --git a/lisp/gnus/gnus-group.el b/lisp/gnus/gnus-group.el
index 9ed3cf02a49..e928811b558 100644
--- a/lisp/gnus/gnus-group.el
+++ b/lisp/gnus/gnus-group.el
@@ -2313,9 +2313,10 @@ Return the name of the group if selection was successful."
2313 gnus-fetch-old-ephemeral-headers)) 2313 gnus-fetch-old-ephemeral-headers))
2314 (gnus-group-read-group (or number t) t group select-articles)) 2314 (gnus-group-read-group (or number t) t group select-articles))
2315 group) 2315 group)
2316 ;;(error nil)
2317 (quit 2316 (quit
2318 (message "Quit reading the ephemeral group") 2317 (if debug-on-quit
2318 (debug "Quit")
2319 (message "Quit reading the ephemeral group"))
2319 nil))))) 2320 nil)))))
2320 2321
2321(defcustom gnus-gmane-group-download-format 2322(defcustom gnus-gmane-group-download-format
diff --git a/lisp/gnus/gnus-int.el b/lisp/gnus/gnus-int.el
index a67063bb970..ef15a479892 100644
--- a/lisp/gnus/gnus-int.el
+++ b/lisp/gnus/gnus-int.el
@@ -270,7 +270,9 @@ If it is down, start it up (again)."
270 server (error-message-string err)) 270 server (error-message-string err))
271 nil) 271 nil)
272 (quit 272 (quit
273 (gnus-message 1 "Quit trying to open server %s" server) 273 (if debug-on-quit
274 (debug "Quit")
275 (gnus-message 1 "Quit trying to open server %s" server))
274 nil))) 276 nil)))
275 open-offline) 277 open-offline)
276 ;; If this hasn't been opened before, we add it to the list. 278 ;; If this hasn't been opened before, we add it to the list.
diff --git a/lisp/gnus/gnus-start.el b/lisp/gnus/gnus-start.el
index c6ff6044b92..afded87fe37 100644
--- a/lisp/gnus/gnus-start.el
+++ b/lisp/gnus/gnus-start.el
@@ -1462,9 +1462,10 @@ If SCAN, request a scan of that group as well."
1462 (inline (gnus-request-group group (or dont-sub-check dont-check) 1462 (inline (gnus-request-group group (or dont-sub-check dont-check)
1463 method 1463 method
1464 (gnus-get-info group))) 1464 (gnus-get-info group)))
1465 ;;(error nil)
1466 (quit 1465 (quit
1467 (message "Quit activating %s" group) 1466 (if debug-on-quit
1467 (debug "Quit")
1468 (message "Quit activating %s" group))
1468 nil))) 1469 nil)))
1469 (unless dont-check 1470 (unless dont-check
1470 (setq active (gnus-parse-active)) 1471 (setq active (gnus-parse-active))
@@ -2004,7 +2005,9 @@ If SCAN, request a scan of that group as well."
2004 ;; We catch C-g so that we can continue past servers 2005 ;; We catch C-g so that we can continue past servers
2005 ;; that do not respond. 2006 ;; that do not respond.
2006 (quit 2007 (quit
2007 (message "Quit reading the active file") 2008 (if debug-on-quit
2009 (debug "Quit")
2010 (message "Quit reading the active file"))
2008 nil)))))))) 2011 nil))))))))
2009 2012
2010(defun gnus-read-active-file-1 (method force) 2013(defun gnus-read-active-file-1 (method force)
diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el
index a8786e39c7b..29a98b7d11d 100644
--- a/lisp/gnus/gnus-sum.el
+++ b/lisp/gnus/gnus-sum.el
@@ -5510,12 +5510,17 @@ or a straight list of headers."
5510 (cdr (assq number gnus-newsgroup-scored)) 5510 (cdr (assq number gnus-newsgroup-scored))
5511 (memq number gnus-newsgroup-processable)))))) 5511 (memq number gnus-newsgroup-processable))))))
5512 5512
5513(defun gnus-group-get-list-identifiers (group)
5514 "Get list identifier regexp for GROUP."
5515 (or (gnus-parameter-list-identifier group)
5516 (if (consp gnus-list-identifiers)
5517 (mapconcat 'identity gnus-list-identifiers " *\\|")
5518 gnus-list-identifiers)))
5519
5513(defun gnus-summary-remove-list-identifiers () 5520(defun gnus-summary-remove-list-identifiers ()
5514 "Remove list identifiers in `gnus-list-identifiers' from articles in the current group." 5521 "Remove list identifiers in `gnus-list-identifiers' from articles in the current group."
5515 (let ((regexp (if (consp gnus-list-identifiers) 5522 (let ((regexp (gnus-group-get-list-identifiers gnus-newsgroup-name))
5516 (mapconcat 'identity gnus-list-identifiers " *\\|") 5523 changed subject)
5517 gnus-list-identifiers))
5518 changed subject)
5519 (when regexp 5524 (when regexp
5520 (setq regexp (concat "^\\(?:R[Ee]: +\\)*\\(" regexp " *\\)")) 5525 (setq regexp (concat "^\\(?:R[Ee]: +\\)*\\(" regexp " *\\)"))
5521 (dolist (header gnus-newsgroup-headers) 5526 (dolist (header gnus-newsgroup-headers)
@@ -5707,8 +5712,7 @@ If SELECT-ARTICLES, only select those articles from GROUP."
5707 (when gnus-agent 5712 (when gnus-agent
5708 (gnus-agent-get-undownloaded-list)) 5713 (gnus-agent-get-undownloaded-list))
5709 ;; Remove list identifiers from subject 5714 ;; Remove list identifiers from subject
5710 (when gnus-list-identifiers 5715 (gnus-summary-remove-list-identifiers)
5711 (gnus-summary-remove-list-identifiers))
5712 ;; Check whether auto-expire is to be done in this group. 5716 ;; Check whether auto-expire is to be done in this group.
5713 (setq gnus-newsgroup-auto-expire 5717 (setq gnus-newsgroup-auto-expire
5714 (gnus-group-auto-expirable-p group)) 5718 (gnus-group-auto-expirable-p group))
@@ -5798,7 +5802,8 @@ If SELECT-ARTICLES, only select those articles from GROUP."
5798 5802
5799(defun gnus-articles-to-read (group &optional read-all) 5803(defun gnus-articles-to-read (group &optional read-all)
5800 "Find out what articles the user wants to read." 5804 "Find out what articles the user wants to read."
5801 (let* ((articles 5805 (let* ((only-read-p t)
5806 (articles
5802 ;; Select all articles if `read-all' is non-nil, or if there 5807 ;; Select all articles if `read-all' is non-nil, or if there
5803 ;; are no unread articles. 5808 ;; are no unread articles.
5804 (if (or read-all 5809 (if (or read-all
@@ -5822,6 +5827,7 @@ If SELECT-ARTICLES, only select those articles from GROUP."
5822 (gnus-uncompress-range (gnus-active group))) 5827 (gnus-uncompress-range (gnus-active group)))
5823 (gnus-cache-articles-in-group group)) 5828 (gnus-cache-articles-in-group group))
5824 ;; Select only the "normal" subset of articles. 5829 ;; Select only the "normal" subset of articles.
5830 (setq only-read-p nil)
5825 (gnus-sorted-nunion 5831 (gnus-sorted-nunion
5826 (gnus-sorted-union gnus-newsgroup-dormant gnus-newsgroup-marked) 5832 (gnus-sorted-union gnus-newsgroup-dormant gnus-newsgroup-marked)
5827 gnus-newsgroup-unreads))) 5833 gnus-newsgroup-unreads)))
@@ -5845,16 +5851,25 @@ If SELECT-ARTICLES, only select those articles from GROUP."
5845 (let* ((cursor-in-echo-area nil) 5851 (let* ((cursor-in-echo-area nil)
5846 (initial (gnus-parameter-large-newsgroup-initial 5852 (initial (gnus-parameter-large-newsgroup-initial
5847 gnus-newsgroup-name)) 5853 gnus-newsgroup-name))
5854 (default (if only-read-p
5855 (or initial gnus-large-newsgroup)
5856 number))
5848 (input 5857 (input
5849 (read-string 5858 (read-string
5850 (format 5859 (if only-read-p
5851 "How many articles from %s (%s %d): " 5860 (format
5852 (gnus-group-decoded-name gnus-newsgroup-name) 5861 "How many articles from %s (available %d, default %d): "
5853 (if initial "max" "default") 5862 (gnus-group-decoded-name
5854 number) 5863 (gnus-group-real-name gnus-newsgroup-name))
5855 (if initial 5864 number default)
5856 (cons (number-to-string initial) 5865 (format
5857 0))))) 5866 "How many articles from %s (%d available): "
5867 (gnus-group-decoded-name
5868 (gnus-group-real-name gnus-newsgroup-name))
5869 default))
5870 nil
5871 nil
5872 (number-to-string default))))
5858 (if (string-match "^[ \t]*$" input) number input))) 5873 (if (string-match "^[ \t]*$" input) number input)))
5859 ((and (> scored marked) (< scored number) 5874 ((and (> scored marked) (< scored number)
5860 (> (- scored number) 20)) 5875 (> (- scored number) 20))
@@ -5862,7 +5877,8 @@ If SELECT-ARTICLES, only select those articles from GROUP."
5862 (read-string 5877 (read-string
5863 (format "%s %s (%d scored, %d total): " 5878 (format "%s %s (%d scored, %d total): "
5864 "How many articles from" 5879 "How many articles from"
5865 (gnus-group-decoded-name group) 5880 (gnus-group-decoded-name
5881 (gnus-group-real-name gnus-newsgroup-name))
5866 scored number)))) 5882 scored number))))
5867 (if (string-match "^[ \t]*$" input) 5883 (if (string-match "^[ \t]*$" input)
5868 number input))) 5884 number input)))
@@ -6564,9 +6580,8 @@ the subject line on."
6564 (1+ (point-at-eol)) 6580 (1+ (point-at-eol))
6565 (gnus-delete-line)))))) 6581 (gnus-delete-line))))))
6566 ;; Remove list identifiers from subject. 6582 ;; Remove list identifiers from subject.
6567 (when gnus-list-identifiers 6583 (let ((gnus-newsgroup-headers (list header)))
6568 (let ((gnus-newsgroup-headers (list header))) 6584 (gnus-summary-remove-list-identifiers))
6569 (gnus-summary-remove-list-identifiers)))
6570 (when old-header 6585 (when old-header
6571 (mail-header-set-number header (mail-header-number old-header))) 6586 (mail-header-set-number header (mail-header-number old-header)))
6572 (setq gnus-newsgroup-sparse 6587 (setq gnus-newsgroup-sparse
@@ -12670,8 +12685,7 @@ returned."
12670 (when gnus-agent 12685 (when gnus-agent
12671 (gnus-agent-get-undownloaded-list)) 12686 (gnus-agent-get-undownloaded-list))
12672 ;; Remove list identifiers from subject 12687 ;; Remove list identifiers from subject
12673 (when gnus-list-identifiers 12688 (gnus-summary-remove-list-identifiers)
12674 (gnus-summary-remove-list-identifiers))
12675 ;; First and last article in this newsgroup. 12689 ;; First and last article in this newsgroup.
12676 (when gnus-newsgroup-headers 12690 (when gnus-newsgroup-headers
12677 (setq gnus-newsgroup-begin 12691 (setq gnus-newsgroup-begin
diff --git a/lisp/gnus/gnus-win.el b/lisp/gnus/gnus-win.el
index 156f9a020fd..c38f57d96cb 100644
--- a/lisp/gnus/gnus-win.el
+++ b/lisp/gnus/gnus-win.el
@@ -268,8 +268,10 @@ See the Gnus manual for an explanation of the syntax used.")
268 (error "Invalid buffer type: %s" type)) 268 (error "Invalid buffer type: %s" type))
269 (let ((buf (gnus-get-buffer-create 269 (let ((buf (gnus-get-buffer-create
270 (gnus-window-to-buffer-helper buffer)))) 270 (gnus-window-to-buffer-helper buffer))))
271 (if (eq buf (window-buffer (selected-window))) (set-buffer buf) 271 (when (buffer-name buf)
272 (switch-to-buffer buf))) 272 (if (eq buf (window-buffer (selected-window)))
273 (set-buffer buf)
274 (switch-to-buffer buf))))
273 (when (memq 'frame-focus split) 275 (when (memq 'frame-focus split)
274 (setq gnus-window-frame-focus window)) 276 (setq gnus-window-frame-focus window))
275 ;; We return the window if it has the `point' spec. 277 ;; We return the window if it has the `point' spec.
diff --git a/lisp/gnus/gssapi.el b/lisp/gnus/gssapi.el
new file mode 100644
index 00000000000..3765fb84ee8
--- /dev/null
+++ b/lisp/gnus/gssapi.el
@@ -0,0 +1,105 @@
1;;; gssapi.el --- GSSAPI/Kerberos 5 interface for Emacs
2
3;; Copyright (C) 2011 Free Software Foundation, Inc.
4
5;; Author: Simon Josefsson <simon@josefsson.org>
6;; Lars Magne Ingebrigtsen <larsi@gnus.org>
7;; Keywords: network
8
9;; This file is part of GNU Emacs.
10
11;; GNU Emacs is free software: you can redistribute it and/or modify
12;; it under the terms of the GNU General Public License as published by
13;; the Free Software Foundation, either version 3 of the License, or
14;; (at your option) any later version.
15
16;; GNU Emacs is distributed in the hope that it will be useful,
17;; but WITHOUT ANY WARRANTY; without even the implied warranty of
18;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19;; GNU General Public License for more details.
20
21;; You should have received a copy of the GNU General Public License
22;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
23
24;;; Commentary:
25
26;;; Code:
27
28(require 'format-spec)
29
30(defcustom gssapi-program (list
31 (concat "gsasl %s %p "
32 "--mechanism GSSAPI "
33 "--authentication-id %l")
34 "imtest -m gssapi -u %l -p %p %s")
35 "List of strings containing commands for GSSAPI (krb5) authentication.
36%s is replaced with server hostname, %p with port to connect to, and
37%l with the value of `imap-default-user'. The program should accept
38IMAP commands on stdin and return responses to stdout. Each entry in
39the list is tried until a successful connection is made."
40 :group 'network
41 :type '(repeat string))
42
43(defun open-gssapi-stream (name buffer server port)
44 (let ((cmds gssapi-program)
45 cmd done)
46 (with-current-buffer buffer
47 (while (and (not done)
48 (setq cmd (pop cmds)))
49 (message "Opening GSSAPI connection with `%s'..." cmd)
50 (erase-buffer)
51 (let* ((coding-system-for-read 'binary)
52 (coding-system-for-write 'binary)
53 (process (start-process
54 name buffer shell-file-name shell-command-switch
55 (format-spec
56 cmd
57 (format-spec-make
58 ?s server
59 ?p (number-to-string port)
60 ?l imap-default-user))))
61 response)
62 (when process
63 (while (and (memq (process-status process) '(open run))
64 (goto-char (point-min))
65 ;; Athena IMTEST can output SSL verify errors
66 (or (while (looking-at "^verify error:num=")
67 (forward-line))
68 t)
69 (or (while (looking-at "^TLS connection established")
70 (forward-line))
71 t)
72 ;; cyrus 1.6.x (13? < x <= 22) queries capabilities
73 (or (while (looking-at "^C:")
74 (forward-line))
75 t)
76 ;; cyrus 1.6 imtest print "S: " before server greeting
77 (or (not (looking-at "S: "))
78 (forward-char 3)
79 t)
80 ;; GNU SASL may print 'Trying ...' first.
81 (or (not (looking-at "Trying "))
82 (forward-line)
83 t)
84 (not (and (looking-at "\\* \\(OK\\|PREAUTH\\|BYE\\) ")
85 ;; success in imtest 1.6:
86 (re-search-forward
87 (concat "^\\(\\(Authenticat.*\\)\\|\\("
88 "Client authentication "
89 "finished.*\\)\\)")
90 nil t)
91 (setq response (match-string 1)))))
92 (accept-process-output process 1)
93 (sit-for 1))
94 (erase-buffer)
95 (message "GSSAPI IMAP connection: %s" (or response "failed"))
96 (if (and response (let ((case-fold-search nil))
97 (not (string-match "failed" response))))
98 (setq done process)
99 (delete-process process)
100 nil))))
101 done)))
102
103(provide 'gssapi)
104
105;;; gssapi.el ends here
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el
index 08c59b00bfc..bb9215aca7c 100644
--- a/lisp/gnus/message.el
+++ b/lisp/gnus/message.el
@@ -49,6 +49,7 @@
49(require 'mail-parse) 49(require 'mail-parse)
50(require 'mml) 50(require 'mml)
51(require 'rfc822) 51(require 'rfc822)
52(require 'format-spec)
52 53
53(autoload 'mailclient-send-it "mailclient") ;; Emacs 22 or contrib/ 54(autoload 'mailclient-send-it "mailclient") ;; Emacs 22 or contrib/
54 55
@@ -438,7 +439,10 @@ whitespace)."
438 :group 'message-various) 439 :group 'message-various)
439 440
440(defcustom message-elide-ellipsis "\n[...]\n\n" 441(defcustom message-elide-ellipsis "\n[...]\n\n"
441 "*The string which is inserted for elided text." 442 "*The string which is inserted for elided text.
443This is a format-spec string, and you can use %l to say how many
444lines were removed, and %c to say how many characters were
445removed."
442 :type 'string 446 :type 'string
443 :link '(custom-manual "(message)Various Commands") 447 :link '(custom-manual "(message)Various Commands")
444 :group 'message-various) 448 :group 'message-various)
@@ -3535,8 +3539,12 @@ Note that this should not be used in newsgroups."
3535An ellipsis (from `message-elide-ellipsis') will be inserted where the 3539An ellipsis (from `message-elide-ellipsis') will be inserted where the
3536text was killed." 3540text was killed."
3537 (interactive "r") 3541 (interactive "r")
3538 (kill-region b e) 3542 (let ((lines (count-lines b e))
3539 (insert message-elide-ellipsis)) 3543 (chars (- e b)))
3544 (kill-region b e)
3545 (insert (format-spec message-elide-ellipsis
3546 `((?l . ,lines)
3547 (?c . ,chars))))))
3540 3548
3541(defvar message-caesar-translation-table nil) 3549(defvar message-caesar-translation-table nil)
3542 3550
@@ -3749,12 +3757,12 @@ prefix, and don't delete any headers."
3749 (insert-before-markers ?\n) 3757 (insert-before-markers ?\n)
3750 (goto-char pt)))) 3758 (goto-char pt))))
3751 (case message-cite-reply-position 3759 (case message-cite-reply-position
3752 ('above 3760 (above
3753 (message-goto-body) 3761 (message-goto-body)
3754 (insert body-text) 3762 (insert body-text)
3755 (insert (if (bolp) "\n" "\n\n")) 3763 (insert (if (bolp) "\n" "\n\n"))
3756 (message-goto-body)) 3764 (message-goto-body))
3757 ('below 3765 (below
3758 (message-goto-signature))) 3766 (message-goto-signature)))
3759 ;; Add a `message-setup-very-last-hook' here? 3767 ;; Add a `message-setup-very-last-hook' here?
3760 ;; Add `gnus-article-highlight-citation' here? 3768 ;; Add `gnus-article-highlight-citation' here?
diff --git a/lisp/gnus/mm-uu.el b/lisp/gnus/mm-uu.el
index 96dce48a774..4f7b5ed26b3 100644
--- a/lisp/gnus/mm-uu.el
+++ b/lisp/gnus/mm-uu.el
@@ -705,6 +705,8 @@ Assume text has been decoded if DECODED is non-nil."
705 ;; Mutt still uses application/pgp even though 705 ;; Mutt still uses application/pgp even though
706 ;; it has already been withdrawn. 706 ;; it has already been withdrawn.
707 (string-match "\\`text/\\|\\`application/pgp\\'" type) 707 (string-match "\\`text/\\|\\`application/pgp\\'" type)
708 (equal (car (mm-handle-disposition handle))
709 "inline")
708 (setq 710 (setq
709 children 711 children
710 (with-current-buffer buffer 712 (with-current-buffer buffer
diff --git a/lisp/gnus/nnimap.el b/lisp/gnus/nnimap.el
index e76ead515c5..e0804f81e2e 100644
--- a/lisp/gnus/nnimap.el
+++ b/lisp/gnus/nnimap.el
@@ -340,6 +340,7 @@ textual parts.")
340 (ports 340 (ports
341 (cond 341 (cond
342 ((or (eq nnimap-stream 'network) 342 ((or (eq nnimap-stream 'network)
343 (eq nnimap-stream 'network-only)
343 (eq nnimap-stream 'starttls)) 344 (eq nnimap-stream 'starttls))
344 (nnheader-message 7 "Opening connection to %s..." 345 (nnheader-message 7 "Opening connection to %s..."
345 nnimap-address) 346 nnimap-address)
@@ -1452,6 +1453,11 @@ textual parts.")
1452 ;; Change \Delete etc to %Delete, so that the reader can read it. 1453 ;; Change \Delete etc to %Delete, so that the reader can read it.
1453 (subst-char-in-region (point-min) (point-max) 1454 (subst-char-in-region (point-min) (point-max)
1454 ?\\ ?% t) 1455 ?\\ ?% t)
1456 ;; Remove any MODSEQ entries in the buffer, because they may contain
1457 ;; numbers that are too large for 32-bit Emacsen.
1458 (while (re-search-forward " MODSEQ ([0-9]+)" nil t)
1459 (replace-match "" t t))
1460 (goto-char (point-min))
1455 (let (start end articles groups uidnext elems permanent-flags 1461 (let (start end articles groups uidnext elems permanent-flags
1456 uidvalidity vanished highestmodseq) 1462 uidvalidity vanished highestmodseq)
1457 (dolist (elem sequences) 1463 (dolist (elem sequences)
@@ -1491,9 +1497,9 @@ textual parts.")
1491 (match-string 1))) 1497 (match-string 1)))
1492 (goto-char start) 1498 (goto-char start)
1493 (setq highestmodseq 1499 (setq highestmodseq
1494 (and (search-forward "HIGHESTMODSEQ " 1500 (and (re-search-forward "HIGHESTMODSEQ \\([0-9]+\\)"
1495 (or end (point-min)) t) 1501 (or end (point-min)) t)
1496 (read (current-buffer)))) 1502 (match-string 1)))
1497 (goto-char end) 1503 (goto-char end)
1498 (forward-line -1)) 1504 (forward-line -1))
1499 ;; The UID FETCH FLAGS was successful. 1505 ;; The UID FETCH FLAGS was successful.
@@ -1507,18 +1513,7 @@ textual parts.")
1507 (goto-char end)) 1513 (goto-char end))
1508 (while (re-search-forward "^\\* [0-9]+ FETCH " start t) 1514 (while (re-search-forward "^\\* [0-9]+ FETCH " start t)
1509 (let ((p (point))) 1515 (let ((p (point)))
1510 ;; FIXME: For FETCH lines like "* 2971 FETCH (FLAGS (%Recent) UID 1516 (setq elems (read (current-buffer)))
1511 ;; 12509 MODSEQ (13419098521433281274))" we get an
1512 ;; overflow-error. The handler simply deletes that large number
1513 ;; and reads again. But maybe there's a better fix...
1514 (setq elems (condition-case nil (read (current-buffer))
1515 (overflow-error
1516 ;; After an overflow-error, point is just after
1517 ;; the too large number. So delete it and try
1518 ;; again.
1519 (delete-region (point) (progn (backward-word) (point)))
1520 (goto-char p)
1521 (read (current-buffer)))))
1522 (push (cons (cadr (memq 'UID elems)) 1517 (push (cons (cadr (memq 'UID elems))
1523 (cadr (memq 'FLAGS elems))) 1518 (cadr (memq 'FLAGS elems)))
1524 articles))) 1519 articles)))
@@ -1674,6 +1669,8 @@ textual parts.")
1674 (goto-char (point-max))) 1669 (goto-char (point-max)))
1675 openp) 1670 openp)
1676 (quit 1671 (quit
1672 (when debug-on-quit
1673 (debug "Quit"))
1677 ;; The user hit C-g while we were waiting: kill the process, in case 1674 ;; The user hit C-g while we were waiting: kill the process, in case
1678 ;; it's a gnutls-cli process that's stuck (tends to happen a lot behind 1675 ;; it's a gnutls-cli process that's stuck (tends to happen a lot behind
1679 ;; NAT routers). 1676 ;; NAT routers).
diff --git a/lisp/help-fns.el b/lisp/help-fns.el
index e27a1e47b5c..ede80f858bf 100644
--- a/lisp/help-fns.el
+++ b/lisp/help-fns.el
@@ -534,6 +534,7 @@ If ANY-SYMBOL is non-nil, don't insist the symbol be bound."
534 (with-syntax-table emacs-lisp-mode-syntax-table 534 (with-syntax-table emacs-lisp-mode-syntax-table
535 (or (condition-case () 535 (or (condition-case ()
536 (save-excursion 536 (save-excursion
537 (skip-chars-forward "'")
537 (or (not (zerop (skip-syntax-backward "_w"))) 538 (or (not (zerop (skip-syntax-backward "_w")))
538 (eq (char-syntax (following-char)) ?w) 539 (eq (char-syntax (following-char)) ?w)
539 (eq (char-syntax (following-char)) ?_) 540 (eq (char-syntax (following-char)) ?_)
diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el
index 3c8628c9cfa..fa36da01cd9 100644
--- a/lisp/minibuffer.el
+++ b/lisp/minibuffer.el
@@ -704,7 +704,15 @@ scroll the window of possible completions."
704 (when last 704 (when last
705 (setcdr last nil) 705 (setcdr last nil)
706 ;; Prefer shorter completions. 706 ;; Prefer shorter completions.
707 (setq all (sort all (lambda (c1 c2) (< (length c1) (length c2))))) 707 (setq all (sort all (lambda (c1 c2)
708 (let ((s1 (get-text-property
709 0 :completion-cycle-penalty c1))
710 (s2 (get-text-property
711 0 :completion-cycle-penalty c2)))
712 (if (eq s1 s2)
713 (< (length c1) (length c2))
714 (< (or s1 (length c1))
715 (or s2 (length c2))))))))
708 ;; Prefer recently used completions. 716 ;; Prefer recently used completions.
709 (let ((hist (symbol-value minibuffer-history-variable))) 717 (let ((hist (symbol-value minibuffer-history-variable)))
710 (setq all (sort all (lambda (c1 c2) 718 (setq all (sort all (lambda (c1 c2)
diff --git a/lisp/net/quickurl.el b/lisp/net/quickurl.el
index 4045a443640..c3da1707165 100644
--- a/lisp/net/quickurl.el
+++ b/lisp/net/quickurl.el
@@ -511,15 +511,15 @@ TYPE dictates what will be inserted, options are:
511 (with-current-buffer quickurl-list-last-buffer 511 (with-current-buffer quickurl-list-last-buffer
512 (insert 512 (insert
513 (case type 513 (case type
514 ('url (funcall quickurl-format-function url)) 514 (url (funcall quickurl-format-function url))
515 ('naked-url (quickurl-url-url url)) 515 (naked-url (quickurl-url-url url))
516 ('with-lookup (format "%s <URL:%s>" 516 (with-lookup (format "%s <URL:%s>"
517 (quickurl-url-keyword url) 517 (quickurl-url-keyword url)
518 (quickurl-url-url url))) 518 (quickurl-url-url url)))
519 ('with-desc (format "%S <URL:%s>" 519 (with-desc (format "%S <URL:%s>"
520 (quickurl-url-description url) 520 (quickurl-url-description url)
521 (quickurl-url-url url))) 521 (quickurl-url-url url)))
522 ('lookup (quickurl-url-keyword url))))) 522 (lookup (quickurl-url-keyword url)))))
523 (error "No URL details on that line")) 523 (error "No URL details on that line"))
524 url)) 524 url))
525 525
diff --git a/lisp/net/xesam.el b/lisp/net/xesam.el
index 21a22749408..64c26cfb2c9 100644
--- a/lisp/net/xesam.el
+++ b/lisp/net/xesam.el
@@ -414,18 +414,18 @@ If there is no registered search engine at all, the function returns `nil'."
414 ;; Hopefully, this will change later. 414 ;; Hopefully, this will change later.
415 (setq hit-fields 415 (setq hit-fields
416 (case (intern vendor-id) 416 (case (intern vendor-id)
417 ('Beagle 417 (Beagle
418 '("xesam:mimeType" "xesam:url")) 418 '("xesam:mimeType" "xesam:url"))
419 ('Strigi 419 (Strigi
420 '("xesam:author" "xesam:cc" "xesam:charset" 420 '("xesam:author" "xesam:cc" "xesam:charset"
421 "xesam:contentType" "xesam:fileExtension" 421 "xesam:contentType" "xesam:fileExtension"
422 "xesam:id" "xesam:lineCount" "xesam:links" 422 "xesam:id" "xesam:lineCount" "xesam:links"
423 "xesam:mimeType" "xesam:name" "xesam:size" 423 "xesam:mimeType" "xesam:name" "xesam:size"
424 "xesam:sourceModified" "xesam:subject" "xesam:to" 424 "xesam:sourceModified" "xesam:subject" "xesam:to"
425 "xesam:url")) 425 "xesam:url"))
426 ('TrackerXesamSession 426 (TrackerXesamSession
427 '("xesam:relevancyRating" "xesam:url")) 427 '("xesam:relevancyRating" "xesam:url"))
428 ('Debbugs 428 (Debbugs
429 '("xesam:keyword" "xesam:owner" "xesam:title" 429 '("xesam:keyword" "xesam:owner" "xesam:title"
430 "xesam:url" "xesam:sourceModified" "xesam:mimeType" 430 "xesam:url" "xesam:sourceModified" "xesam:mimeType"
431 "debbugs:key")) 431 "debbugs:key"))
diff --git a/lisp/notifications.el b/lisp/notifications.el
index 893b9ed095f..adb9fdd641a 100644
--- a/lisp/notifications.el
+++ b/lisp/notifications.el
@@ -210,8 +210,8 @@ used to manipulate the notification item with
210 (add-to-list 'hints `(:dict-entry 210 (add-to-list 'hints `(:dict-entry
211 "urgency" 211 "urgency"
212 (:variant :byte ,(case urgency 212 (:variant :byte ,(case urgency
213 ('low 0) 213 (low 0)
214 ('critical 2) 214 (critical 2)
215 (t 1)))) t)) 215 (t 1)))) t))
216 (when category 216 (when category
217 (add-to-list 'hints `(:dict-entry 217 (add-to-list 'hints `(:dict-entry
diff --git a/lisp/org/ChangeLog b/lisp/org/ChangeLog
index e75821b6860..44a2cb15b7e 100644
--- a/lisp/org/ChangeLog
+++ b/lisp/org/ChangeLog
@@ -1,3 +1,13 @@
12011-03-15 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * org-src.el (org-src-switch-to-buffer):
4 * org-plot.el (org-plot/gnuplot-script, org-plot/gnuplot):
5 * org-mouse.el (org-mouse-agenda-type):
6 * org-freemind.el (org-freemind-node-to-org):
7 * ob-sql.el (org-babel-execute:sql):
8 * ob-exp.el (org-babel-exp-do-export, org-babel-exp-code):
9 * ob-ref.el (org-babel-ref-resolve): Fix use of case.
10
12011-03-06 Juanma Barranquero <lekktu@gmail.com> 112011-03-06 Juanma Barranquero <lekktu@gmail.com>
2 12
3 * org.el (org-blank-before-new-entry, org-context-in-file-links) 13 * org.el (org-blank-before-new-entry, org-context-in-file-links)
diff --git a/lisp/org/ob-exp.el b/lisp/org/ob-exp.el
index 1be45198e0d..3215bcf4d8a 100644
--- a/lisp/org/ob-exp.el
+++ b/lisp/org/ob-exp.el
@@ -231,10 +231,10 @@ The function respects the value of the :exports header argument."
231 (org-babel-exp-results info type 'silent)))) 231 (org-babel-exp-results info type 'silent))))
232 (clean () (org-babel-remove-result info))) 232 (clean () (org-babel-remove-result info)))
233 (case (intern (or (cdr (assoc :exports (nth 2 info))) "code")) 233 (case (intern (or (cdr (assoc :exports (nth 2 info))) "code"))
234 ('none (silently) (clean) "") 234 (none (silently) (clean) "")
235 ('code (silently) (clean) (org-babel-exp-code info type)) 235 (code (silently) (clean) (org-babel-exp-code info type))
236 ('results (org-babel-exp-results info type)) 236 (results (org-babel-exp-results info type))
237 ('both (concat (org-babel-exp-code info type) 237 (both (concat (org-babel-exp-code info type)
238 "\n\n" 238 "\n\n"
239 (org-babel-exp-results info type)))))) 239 (org-babel-exp-results info type))))))
240 240
@@ -250,8 +250,8 @@ The code block is not evaluated."
250 (name (nth 4 info)) 250 (name (nth 4 info))
251 (args (mapcar #'cdr (org-babel-get-header (nth 2 info) :var)))) 251 (args (mapcar #'cdr (org-babel-get-header (nth 2 info) :var))))
252 (case type 252 (case type
253 ('inline (format "=%s=" body)) 253 (inline (format "=%s=" body))
254 ('block 254 (block
255 (let ((str 255 (let ((str
256 (format "#+BEGIN_SRC %s %s\n%s%s#+END_SRC\n" lang switches body 256 (format "#+BEGIN_SRC %s %s\n%s%s#+END_SRC\n" lang switches body
257 (if (and body (string-match "\n$" body)) 257 (if (and body (string-match "\n$" body))
@@ -265,7 +265,7 @@ The code block is not evaluated."
265 (mapconcat #'identity args ", "))) 265 (mapconcat #'identity args ", ")))
266 str)) 266 str))
267 str)) 267 str))
268 ('lob 268 (lob
269 (let ((call-line (and (string-match "results=" (car args)) 269 (let ((call-line (and (string-match "results=" (car args))
270 (substring (car args) (match-end 0))))) 270 (substring (car args) (match-end 0)))))
271 (cond 271 (cond
diff --git a/lisp/org/ob-ref.el b/lisp/org/ob-ref.el
index 7b06e90f924..96819df8ea1 100644
--- a/lisp/org/ob-ref.el
+++ b/lisp/org/ob-ref.el
@@ -147,12 +147,12 @@ the variable."
147 (let ((params (append args '((:results . "silent"))))) 147 (let ((params (append args '((:results . "silent")))))
148 (setq result 148 (setq result
149 (case type 149 (case type
150 ('results-line (org-babel-read-result)) 150 (results-line (org-babel-read-result))
151 ('table (org-babel-read-table)) 151 (table (org-babel-read-table))
152 ('list (org-babel-read-list)) 152 (list (org-babel-read-list))
153 ('file (org-babel-read-link)) 153 (file (org-babel-read-link))
154 ('source-block (org-babel-execute-src-block nil nil params)) 154 (source-block (org-babel-execute-src-block nil nil params))
155 ('lob (org-babel-execute-src-block nil lob-info params))))) 155 (lob (org-babel-execute-src-block nil lob-info params)))))
156 (if (symbolp result) 156 (if (symbolp result)
157 (format "%S" result) 157 (format "%S" result)
158 (if (and index (listp result)) 158 (if (and index (listp result))
diff --git a/lisp/org/ob-sql.el b/lisp/org/ob-sql.el
index 3bd10d6b2bd..49859d24a17 100644
--- a/lisp/org/ob-sql.el
+++ b/lisp/org/ob-sql.el
@@ -66,18 +66,18 @@ This function is called by `org-babel-execute-src-block'."
66 (out-file (or (cdr (assoc :out-file params)) 66 (out-file (or (cdr (assoc :out-file params))
67 (org-babel-temp-file "sql-out-"))) 67 (org-babel-temp-file "sql-out-")))
68 (command (case (intern engine) 68 (command (case (intern engine)
69 ('msosql (format "osql %s -s \"\t\" -i %s -o %s" 69 (msosql (format "osql %s -s \"\t\" -i %s -o %s"
70 (or cmdline "")
71 (org-babel-process-file-name in-file)
72 (org-babel-process-file-name out-file)))
73 ('mysql (format "mysql %s -e \"source %s\" > %s"
74 (or cmdline "") 70 (or cmdline "")
75 (org-babel-process-file-name in-file) 71 (org-babel-process-file-name in-file)
76 (org-babel-process-file-name out-file))) 72 (org-babel-process-file-name out-file)))
77 ('postgresql (format "psql -A -P footer=off -F \"\t\" -f %s -o %s %s" 73 (mysql (format "mysql %s -e \"source %s\" > %s"
78 (org-babel-process-file-name in-file) 74 (or cmdline "")
79 (org-babel-process-file-name out-file) 75 (org-babel-process-file-name in-file)
80 (or cmdline ""))) 76 (org-babel-process-file-name out-file)))
77 (postgresql (format "psql -A -P footer=off -F \"\t\" -f %s -o %s %s"
78 (org-babel-process-file-name in-file)
79 (org-babel-process-file-name out-file)
80 (or cmdline "")))
81 (t (error "no support for the %s sql engine" engine))))) 81 (t (error "no support for the %s sql engine" engine)))))
82 (with-temp-file in-file 82 (with-temp-file in-file
83 (insert (org-babel-expand-body:sql body params))) 83 (insert (org-babel-expand-body:sql body params)))
diff --git a/lisp/org/org-freemind.el b/lisp/org/org-freemind.el
index c85b4bac36a..dccdf449296 100644
--- a/lisp/org/org-freemind.el
+++ b/lisp/org/org-freemind.el
@@ -1172,8 +1172,8 @@ PATH should be a list of steps, where each step has the form
1172 (when (< 0 (- level skip-levels)) 1172 (when (< 0 (- level skip-levels))
1173 (dolist (attrib attributes) 1173 (dolist (attrib attributes)
1174 (case (car attrib) 1174 (case (car attrib)
1175 ('TEXT (setq text (cdr attrib))) 1175 (TEXT (setq text (cdr attrib)))
1176 ('text (setq text (cdr attrib))))) 1176 (text (setq text (cdr attrib)))))
1177 (unless text 1177 (unless text
1178 ;; There should be a richcontent node holding the text: 1178 ;; There should be a richcontent node holding the text:
1179 (setq text (org-freemind-get-richcontent-node-text node))) 1179 (setq text (org-freemind-get-richcontent-node-text node)))
@@ -1193,7 +1193,7 @@ PATH should be a list of steps, where each step has the form
1193 (setq text (replace-regexp-in-string "\n $" "" text)) 1193 (setq text (replace-regexp-in-string "\n $" "" text))
1194 (insert text)) 1194 (insert text))
1195 (case qname 1195 (case qname
1196 ('node 1196 (node
1197 (insert (make-string (- level skip-levels) ?*) " " text "\n") 1197 (insert (make-string (- level skip-levels) ?*) " " text "\n")
1198 (when note 1198 (when note
1199 (insert ":COMMENT:\n" note "\n:END:\n")) 1199 (insert ":COMMENT:\n" note "\n:END:\n"))
diff --git a/lisp/org/org-mouse.el b/lisp/org/org-mouse.el
index d30f172f42f..cec19d89de1 100644
--- a/lisp/org/org-mouse.el
+++ b/lisp/org/org-mouse.el
@@ -476,11 +476,11 @@ SCHEDULED: or DEADLINE: or ANYTHINGLIKETHIS:"
476 476
477(defun org-mouse-agenda-type (type) 477(defun org-mouse-agenda-type (type)
478 (case type 478 (case type
479 ('tags "Tags: ") 479 (tags "Tags: ")
480 ('todo "TODO: ") 480 (todo "TODO: ")
481 ('tags-tree "Tags tree: ") 481 (tags-tree "Tags tree: ")
482 ('todo-tree "TODO tree: ") 482 (todo-tree "TODO tree: ")
483 ('occur-tree "Occur tree: ") 483 (occur-tree "Occur tree: ")
484 (t "Agenda command ???"))) 484 (t "Agenda command ???")))
485 485
486 486
diff --git a/lisp/org/org-plot.el b/lisp/org/org-plot.el
index c5f4bff24fa..10722403f7e 100644
--- a/lisp/org/org-plot.el
+++ b/lisp/org/org-plot.el
@@ -206,18 +206,18 @@ manner suitable for prepending to a user-specified script."
206 (y-labels (plist-get params :ylabels)) 206 (y-labels (plist-get params :ylabels))
207 (plot-str "'%s' using %s%d%s with %s title '%s'") 207 (plot-str "'%s' using %s%d%s with %s title '%s'")
208 (plot-cmd (case type 208 (plot-cmd (case type
209 ('2d "plot") 209 (2d "plot")
210 ('3d "splot") 210 (3d "splot")
211 ('grid "splot"))) 211 (grid "splot")))
212 (script "reset") plot-lines) 212 (script "reset") plot-lines)
213 (flet ((add-to-script (line) (setf script (format "%s\n%s" script line)))) 213 (flet ((add-to-script (line) (setf script (format "%s\n%s" script line))))
214 (when file ;; output file 214 (when file ;; output file
215 (add-to-script (format "set term %s" (file-name-extension file))) 215 (add-to-script (format "set term %s" (file-name-extension file)))
216 (add-to-script (format "set output '%s'" file))) 216 (add-to-script (format "set output '%s'" file)))
217 (case type ;; type 217 (case type ;; type
218 ('2d ()) 218 (2d ())
219 ('3d (if map (add-to-script "set map"))) 219 (3d (if map (add-to-script "set map")))
220 ('grid (if map 220 (grid (if map
221 (add-to-script "set pm3d map") 221 (add-to-script "set pm3d map")
222 (add-to-script "set pm3d")))) 222 (add-to-script "set pm3d"))))
223 (when title (add-to-script (format "set title '%s'" title))) ;; title 223 (when title (add-to-script (format "set title '%s'" title))) ;; title
@@ -243,7 +243,7 @@ manner suitable for prepending to a user-specified script."
243 "%Y-%m-%d-%H:%M:%S") "\""))) 243 "%Y-%m-%d-%H:%M:%S") "\"")))
244 (unless preface 244 (unless preface
245 (case type ;; plot command 245 (case type ;; plot command
246 ('2d (dotimes (col num-cols) 246 (2d (dotimes (col num-cols)
247 (unless (and (equal type '2d) 247 (unless (and (equal type '2d)
248 (or (and ind (equal (+ 1 col) ind)) 248 (or (and ind (equal (+ 1 col) ind))
249 (and deps (not (member (+ 1 col) deps))))) 249 (and deps (not (member (+ 1 col) deps)))))
@@ -258,10 +258,10 @@ manner suitable for prepending to a user-specified script."
258 with 258 with
259 (or (nth col col-labels) (format "%d" (+ 1 col)))) 259 (or (nth col col-labels) (format "%d" (+ 1 col))))
260 plot-lines))))) 260 plot-lines)))))
261 ('3d 261 (3d
262 (setq plot-lines (list (format "'%s' matrix with %s title ''" 262 (setq plot-lines (list (format "'%s' matrix with %s title ''"
263 data-file with)))) 263 data-file with))))
264 ('grid 264 (grid
265 (setq plot-lines (list (format "'%s' with %s title ''" 265 (setq plot-lines (list (format "'%s' with %s title ''"
266 data-file with))))) 266 data-file with)))))
267 (add-to-script 267 (add-to-script
@@ -305,9 +305,9 @@ line directly before or after the table."
305 (setf params (org-plot/collect-options params)))) 305 (setf params (org-plot/collect-options params))))
306 ;; dump table to datafile (very different for grid) 306 ;; dump table to datafile (very different for grid)
307 (case (plist-get params :plot-type) 307 (case (plist-get params :plot-type)
308 ('2d (org-plot/gnuplot-to-data table data-file params)) 308 (2d (org-plot/gnuplot-to-data table data-file params))
309 ('3d (org-plot/gnuplot-to-data table data-file params)) 309 (3d (org-plot/gnuplot-to-data table data-file params))
310 ('grid (let ((y-labels (org-plot/gnuplot-to-grid-data 310 (grid (let ((y-labels (org-plot/gnuplot-to-grid-data
311 table data-file params))) 311 table data-file params)))
312 (when y-labels (plist-put params :ylabels y-labels))))) 312 (when y-labels (plist-put params :ylabels y-labels)))))
313 ;; check for timestamp ind column 313 ;; check for timestamp ind column
diff --git a/lisp/org/org-src.el b/lisp/org/org-src.el
index 98fdb75423d..bd1c3802044 100644
--- a/lisp/org/org-src.el
+++ b/lisp/org/org-src.el
@@ -335,26 +335,26 @@ buffer."
335 335
336(defun org-src-switch-to-buffer (buffer context) 336(defun org-src-switch-to-buffer (buffer context)
337 (case org-src-window-setup 337 (case org-src-window-setup
338 ('current-window 338 (current-window
339 (switch-to-buffer buffer)) 339 (switch-to-buffer buffer))
340 ('other-window 340 (other-window
341 (switch-to-buffer-other-window buffer)) 341 (switch-to-buffer-other-window buffer))
342 ('other-frame 342 (other-frame
343 (case context 343 (case context
344 ('exit 344 (exit
345 (let ((frame (selected-frame))) 345 (let ((frame (selected-frame)))
346 (switch-to-buffer-other-frame buffer) 346 (switch-to-buffer-other-frame buffer)
347 (delete-frame frame))) 347 (delete-frame frame)))
348 ('save 348 (save
349 (kill-buffer (current-buffer)) 349 (kill-buffer (current-buffer))
350 (switch-to-buffer buffer)) 350 (switch-to-buffer buffer))
351 (t 351 (t
352 (switch-to-buffer-other-frame buffer)))) 352 (switch-to-buffer-other-frame buffer))))
353 ('reorganize-frame 353 (reorganize-frame
354 (if (eq context 'edit) (delete-other-windows)) 354 (if (eq context 'edit) (delete-other-windows))
355 (org-switch-to-buffer-other-window buffer) 355 (org-switch-to-buffer-other-window buffer)
356 (if (eq context 'exit) (delete-other-windows))) 356 (if (eq context 'exit) (delete-other-windows)))
357 ('switch-invisibly 357 (switch-invisibly
358 (set-buffer buffer)) 358 (set-buffer buffer))
359 (t 359 (t
360 (message "Invalid value %s for org-src-window-setup" 360 (message "Invalid value %s for org-src-window-setup"
diff --git a/lisp/play/bubbles.el b/lisp/play/bubbles.el
index 8fea2cef6ad..0dc556007ba 100644
--- a/lisp/play/bubbles.el
+++ b/lisp/play/bubbles.el
@@ -719,57 +719,57 @@ static char * dot3d_xpm[] = {
719(defsubst bubbles--grid-width () 719(defsubst bubbles--grid-width ()
720 "Return the grid width for the current game theme." 720 "Return the grid width for the current game theme."
721 (car (case bubbles-game-theme 721 (car (case bubbles-game-theme
722 ('easy 722 (easy
723 bubbles--grid-small) 723 bubbles--grid-small)
724 ('medium 724 (medium
725 bubbles--grid-medium) 725 bubbles--grid-medium)
726 ('difficult 726 (difficult
727 bubbles--grid-large) 727 bubbles--grid-large)
728 ('hard 728 (hard
729 bubbles--grid-huge) 729 bubbles--grid-huge)
730 ('user-defined 730 (user-defined
731 bubbles-grid-size)))) 731 bubbles-grid-size))))
732 732
733(defsubst bubbles--grid-height () 733(defsubst bubbles--grid-height ()
734 "Return the grid height for the current game theme." 734 "Return the grid height for the current game theme."
735 (cdr (case bubbles-game-theme 735 (cdr (case bubbles-game-theme
736 ('easy 736 (easy
737 bubbles--grid-small) 737 bubbles--grid-small)
738 ('medium 738 (medium
739 bubbles--grid-medium) 739 bubbles--grid-medium)
740 ('difficult 740 (difficult
741 bubbles--grid-large) 741 bubbles--grid-large)
742 ('hard 742 (hard
743 bubbles--grid-huge) 743 bubbles--grid-huge)
744 ('user-defined 744 (user-defined
745 bubbles-grid-size)))) 745 bubbles-grid-size))))
746 746
747(defsubst bubbles--colors () 747(defsubst bubbles--colors ()
748 "Return the color list for the current game theme." 748 "Return the color list for the current game theme."
749 (case bubbles-game-theme 749 (case bubbles-game-theme
750 ('easy 750 (easy
751 bubbles--colors-2) 751 bubbles--colors-2)
752 ('medium 752 (medium
753 bubbles--colors-3) 753 bubbles--colors-3)
754 ('difficult 754 (difficult
755 bubbles--colors-4) 755 bubbles--colors-4)
756 ('hard 756 (hard
757 bubbles--colors-5) 757 bubbles--colors-5)
758 ('user-defined 758 (user-defined
759 bubbles-colors))) 759 bubbles-colors)))
760 760
761(defsubst bubbles--shift-mode () 761(defsubst bubbles--shift-mode ()
762 "Return the shift mode for the current game theme." 762 "Return the shift mode for the current game theme."
763 (case bubbles-game-theme 763 (case bubbles-game-theme
764 ('easy 764 (easy
765 'default) 765 'default)
766 ('medium 766 (medium
767 'default) 767 'default)
768 ('difficult 768 (difficult
769 'always) 769 'always)
770 ('hard 770 (hard
771 'always) 771 'always)
772 ('user-defined 772 (user-defined
773 bubbles-shift-mode))) 773 bubbles-shift-mode)))
774 774
775(defun bubbles-save-settings () 775(defun bubbles-save-settings ()
@@ -1346,11 +1346,11 @@ Return t if new char is non-empty."
1346 (when (and (display-images-p) 1346 (when (and (display-images-p)
1347 (not (eq bubbles-graphics-theme 'ascii))) 1347 (not (eq bubbles-graphics-theme 'ascii)))
1348 (let ((template (case bubbles-graphics-theme 1348 (let ((template (case bubbles-graphics-theme
1349 ('circles bubbles--image-template-circle) 1349 (circles bubbles--image-template-circle)
1350 ('balls bubbles--image-template-ball) 1350 (balls bubbles--image-template-ball)
1351 ('squares bubbles--image-template-square) 1351 (squares bubbles--image-template-square)
1352 ('diamonds bubbles--image-template-diamond) 1352 (diamonds bubbles--image-template-diamond)
1353 ('emacs bubbles--image-template-emacs)))) 1353 (emacs bubbles--image-template-emacs))))
1354 (setq bubbles--empty-image 1354 (setq bubbles--empty-image
1355 (create-image (replace-regexp-in-string 1355 (create-image (replace-regexp-in-string
1356 "^\"\\(.*\\)\t.*c .*\",$" 1356 "^\"\\(.*\\)\t.*c .*\",$"
diff --git a/lisp/play/gamegrid.el b/lisp/play/gamegrid.el
index d3d8350a43f..99e3b487437 100644
--- a/lisp/play/gamegrid.el
+++ b/lisp/play/gamegrid.el
@@ -213,19 +213,19 @@ static unsigned char gamegrid_bits[] = {
213 (let ((data (gamegrid-match-spec-list data-spec-list)) 213 (let ((data (gamegrid-match-spec-list data-spec-list))
214 (color (gamegrid-match-spec-list color-spec-list))) 214 (color (gamegrid-match-spec-list color-spec-list)))
215 (case data 215 (case data
216 ('color-x 216 (color-x
217 (gamegrid-make-color-x-face color)) 217 (gamegrid-make-color-x-face color))
218 ('grid-x 218 (grid-x
219 (unless gamegrid-grid-x-face 219 (unless gamegrid-grid-x-face
220 (setq gamegrid-grid-x-face (gamegrid-make-grid-x-face))) 220 (setq gamegrid-grid-x-face (gamegrid-make-grid-x-face)))
221 gamegrid-grid-x-face) 221 gamegrid-grid-x-face)
222 ('mono-x 222 (mono-x
223 (unless gamegrid-mono-x-face 223 (unless gamegrid-mono-x-face
224 (setq gamegrid-mono-x-face (gamegrid-make-mono-x-face))) 224 (setq gamegrid-mono-x-face (gamegrid-make-mono-x-face)))
225 gamegrid-mono-x-face) 225 gamegrid-mono-x-face)
226 ('color-tty 226 (color-tty
227 (gamegrid-make-color-tty-face color)) 227 (gamegrid-make-color-tty-face color))
228 ('mono-tty 228 (mono-tty
229 (unless gamegrid-mono-tty-face 229 (unless gamegrid-mono-tty-face
230 (setq gamegrid-mono-tty-face (gamegrid-make-mono-tty-face))) 230 (setq gamegrid-mono-tty-face (gamegrid-make-mono-tty-face)))
231 gamegrid-mono-tty-face)))) 231 gamegrid-mono-tty-face))))
diff --git a/lisp/progmodes/delphi.el b/lisp/progmodes/delphi.el
index c376b25fae0..0f823c806e0 100644
--- a/lisp/progmodes/delphi.el
+++ b/lisp/progmodes/delphi.el
@@ -26,14 +26,14 @@
26 26
27;; To enter Delphi mode when you find a Delphi source file, one must override 27;; To enter Delphi mode when you find a Delphi source file, one must override
28;; the auto-mode-alist to associate Delphi with .pas (and .dpr and .dpk) 28;; the auto-mode-alist to associate Delphi with .pas (and .dpr and .dpk)
29;; files. Emacs, by default, will otherwise enter Pascal mode. E.g. 29;; files. Emacs, by default, will otherwise enter Pascal mode. E.g.
30;; 30;;
31;; (autoload 'delphi-mode "delphi") 31;; (autoload 'delphi-mode "delphi")
32;; (setq auto-mode-alist 32;; (setq auto-mode-alist
33;; (cons '("\\.\\(pas\\|dpr\\|dpk\\)$" . delphi-mode) auto-mode-alist)) 33;; (cons '("\\.\\(pas\\|dpr\\|dpk\\)$" . delphi-mode) auto-mode-alist))
34 34
35;; To get keyword, comment, and string literal coloring, be sure that font-lock 35;; To get keyword, comment, and string literal coloring, be sure that font-lock
36;; is running. One can manually do M-x font-lock-mode in a Delphi buffer, or 36;; is running. One can manually do M-x font-lock-mode in a Delphi buffer, or
37;; one can put in .emacs: 37;; one can put in .emacs:
38;; 38;;
39;; (add-hook 'delphi-mode-hook 'turn-on-font-lock) 39;; (add-hook 'delphi-mode-hook 'turn-on-font-lock)
@@ -56,8 +56,8 @@
56;; When you have entered Delphi mode, you may get more info by pressing 56;; When you have entered Delphi mode, you may get more info by pressing
57;; C-h m. 57;; C-h m.
58 58
59;; This delphi mode implementation is fairly tolerant of syntax errors, relying 59;; This Delphi mode implementation is fairly tolerant of syntax errors, relying
60;; as much as possible on the indentation of the previous statement. This also 60;; as much as possible on the indentation of the previous statement. This also
61;; makes it faster and simpler, since there is less searching for properly 61;; makes it faster and simpler, since there is less searching for properly
62;; constructed beginnings. 62;; constructed beginnings.
63 63
@@ -74,15 +74,16 @@
74 "True if in debug mode.") 74 "True if in debug mode.")
75 75
76(defcustom delphi-search-path "." 76(defcustom delphi-search-path "."
77 "*Directories to search when finding external units. It is a list of 77 "*Directories to search when finding external units.
78directory strings. If only a single directory, it can be a single 78It is a list of directory strings. If only a single directory,
79string instead of a list. If a directory ends in \"...\" then that 79it can be a single string instead of a list. If a directory
80directory is recursively searched." 80ends in \"...\" then that directory is recursively searched."
81 :type 'string 81 :type 'string
82 :group 'delphi) 82 :group 'delphi)
83 83
84(defcustom delphi-indent-level 3 84(defcustom delphi-indent-level 3
85 "*Indentation of Delphi statements with respect to containing block. E.g. 85 "*Indentation of Delphi statements with respect to containing block.
86E.g.
86 87
87begin 88begin
88 // This is an indent of 3. 89 // This is an indent of 3.
@@ -117,7 +118,7 @@ end; end;"
117 :group 'delphi) 118 :group 'delphi)
118 119
119(defcustom delphi-verbose t ; nil 120(defcustom delphi-verbose t ; nil
120 "*If true then delphi token processing progress is reported to the user." 121 "*If true then Delphi token processing progress is reported to the user."
121 :type 'boolean 122 :type 'boolean
122 :group 'delphi) 123 :group 'delphi)
123 124
@@ -137,17 +138,17 @@ differs from the default."
137 :group 'delphi) 138 :group 'delphi)
138 139
139(defcustom delphi-comment-face 'font-lock-comment-face 140(defcustom delphi-comment-face 'font-lock-comment-face
140 "*Face used to color delphi comments." 141 "*Face used to color Delphi comments."
141 :type 'face 142 :type 'face
142 :group 'delphi) 143 :group 'delphi)
143 144
144(defcustom delphi-string-face 'font-lock-string-face 145(defcustom delphi-string-face 'font-lock-string-face
145 "*Face used to color delphi strings." 146 "*Face used to color Delphi strings."
146 :type 'face 147 :type 'face
147 :group 'delphi) 148 :group 'delphi)
148 149
149(defcustom delphi-keyword-face 'font-lock-keyword-face 150(defcustom delphi-keyword-face 'font-lock-keyword-face
150 "*Face used to color delphi keywords." 151 "*Face used to color Delphi keywords."
151 :type 'face 152 :type 'face
152 :group 'delphi) 153 :group 'delphi)
153 154
@@ -720,9 +721,9 @@ routine.")
720 (delphi-progress-done))))) 721 (delphi-progress-done)))))
721 722
722(defvar delphi-ignore-changes t 723(defvar delphi-ignore-changes t
723 "Internal flag to control if the delphi-mode responds to buffer changes. 724 "Internal flag to control if the Delphi mode responds to buffer changes.
724Defaults to t in case the delphi-after-change function is called on a 725Defaults to t in case the `delphi-after-change' function is called on a
725non-delphi buffer. Set to nil in a delphi buffer. To override, just do: 726non-Delphi buffer. Set to nil in a Delphi buffer. To override, just do:
726 (let ((delphi-ignore-changes t)) ...)") 727 (let ((delphi-ignore-changes t)) ...)")
727 728
728(defun delphi-after-change (change-start change-end old-length) 729(defun delphi-after-change (change-start change-end old-length)
@@ -1521,8 +1522,8 @@ non-delphi buffer. Set to nil in a delphi buffer. To override, just do:
1521 indent))) 1522 indent)))
1522 1523
1523(defun delphi-indent-line () 1524(defun delphi-indent-line ()
1524 "Indent the current line according to the current language construct. If 1525 "Indent the current line according to the current language construct.
1525before the indent, the point is moved to the indent." 1526If before the indent, the point is moved to the indent."
1526 (interactive) 1527 (interactive)
1527 (delphi-save-match-data 1528 (delphi-save-match-data
1528 (let ((marked-point (point-marker)) ; Maintain our position reliably. 1529 (let ((marked-point (point-marker)) ; Maintain our position reliably.
@@ -1547,7 +1548,7 @@ before the indent, the point is moved to the indent."
1547 (set-marker marked-point nil)))) 1548 (set-marker marked-point nil))))
1548 1549
1549(defvar delphi-mode-abbrev-table nil 1550(defvar delphi-mode-abbrev-table nil
1550 "Abbrev table in use in delphi-mode buffers.") 1551 "Abbrev table in use in Delphi mode buffers.")
1551(define-abbrev-table 'delphi-mode-abbrev-table ()) 1552(define-abbrev-table 'delphi-mode-abbrev-table ())
1552 1553
1553(defmacro delphi-ensure-buffer (buffer-var buffer-name) 1554(defmacro delphi-ensure-buffer (buffer-var buffer-name)
@@ -1568,7 +1569,7 @@ before the indent, the point is moved to the indent."
1568;; Debugging helpers: 1569;; Debugging helpers:
1569 1570
1570(defvar delphi-debug-buffer nil 1571(defvar delphi-debug-buffer nil
1571 "Buffer to write delphi-mode debug messages to. Created on demand.") 1572 "Buffer to write Delphi mode debug messages to. Created on demand.")
1572 1573
1573(defun delphi-debug-log (format-string &rest args) 1574(defun delphi-debug-log (format-string &rest args)
1574 ;; Writes a message to the log buffer. 1575 ;; Writes a message to the log buffer.
@@ -1679,7 +1680,7 @@ before the indent, the point is moved to the indent."
1679 1680
1680(defun delphi-tab () 1681(defun delphi-tab ()
1681 "Indent the region, when Transient Mark mode is enabled and the region is 1682 "Indent the region, when Transient Mark mode is enabled and the region is
1682active. Otherwise, indent the current line or insert a TAB, depending on the 1683active. Otherwise, indent the current line or insert a TAB, depending on the
1683value of `delphi-tab-always-indents' and the current line position." 1684value of `delphi-tab-always-indents' and the current line position."
1684 (interactive) 1685 (interactive)
1685 (cond ((use-region-p) 1686 (cond ((use-region-p)
@@ -1768,8 +1769,8 @@ value of `delphi-tab-always-indents' and the current line position."
1768 nil)) 1769 nil))
1769 1770
1770(defun delphi-find-unit (unit) 1771(defun delphi-find-unit (unit)
1771 "Finds the specified delphi source file according to `delphi-search-path'. 1772 "Find the specified Delphi source file according to `delphi-search-path'.
1772If no extension is specified, .pas is assumed. Creates a buffer for the unit." 1773If no extension is specified, .pas is assumed. Creates a buffer for the unit."
1773 (interactive "sDelphi unit name: ") 1774 (interactive "sDelphi unit name: ")
1774 (let* ((unit-file (if (string-match "^\\(.*\\)\\.[a-z]+$" unit) 1775 (let* ((unit-file (if (string-match "^\\(.*\\)\\.[a-z]+$" unit)
1775 unit 1776 unit
@@ -1791,7 +1792,7 @@ If no extension is specified, .pas is assumed. Creates a buffer for the unit."
1791 "Find the definition of the identifier under the current point, searching 1792 "Find the definition of the identifier under the current point, searching
1792in external units if necessary (as listed in the current unit's use clause). 1793in external units if necessary (as listed in the current unit's use clause).
1793The set of directories to search for a unit is specified by the global variable 1794The set of directories to search for a unit is specified by the global variable
1794delphi-search-path." 1795`delphi-search-path'."
1795 (interactive) 1796 (interactive)
1796 (error "delphi-find-current-xdef: not implemented yet")) 1797 (error "delphi-find-current-xdef: not implemented yet"))
1797 1798
@@ -1802,7 +1803,7 @@ it is a routine."
1802 (error "delphi-find-current-body: not implemented yet")) 1803 (error "delphi-find-current-body: not implemented yet"))
1803 1804
1804(defun delphi-fill-comment () 1805(defun delphi-fill-comment ()
1805 "Fills the text of the current comment, according to `fill-column'. 1806 "Fill the text of the current comment, according to `fill-column'.
1806An error is raised if not in a comment." 1807An error is raised if not in a comment."
1807 (interactive) 1808 (interactive)
1808 (save-excursion 1809 (save-excursion
@@ -1888,8 +1889,8 @@ An error is raised if not in a comment."
1888 (delphi-progress-done))))))) 1889 (delphi-progress-done)))))))
1889 1890
1890(defun delphi-new-comment-line () 1891(defun delphi-new-comment-line ()
1891 "If in a // comment, does a newline, indented such that one is still in the 1892 "If in a // comment, do a newline, indented such that one is still in the
1892comment block. If not in a // comment, just does a normal newline." 1893comment block. If not in a // comment, just does a normal newline."
1893 (interactive) 1894 (interactive)
1894 (let ((comment (delphi-current-token))) 1895 (let ((comment (delphi-current-token)))
1895 (if (not (eq 'comment-single-line (delphi-token-kind comment))) 1896 (if (not (eq 'comment-single-line (delphi-token-kind comment)))
@@ -1923,7 +1924,7 @@ comment block. If not in a // comment, just does a normal newline."
1923 nil ; Syntax begin movement doesn't apply 1924 nil ; Syntax begin movement doesn't apply
1924 (font-lock-fontify-region-function . delphi-fontify-region) 1925 (font-lock-fontify-region-function . delphi-fontify-region)
1925 (font-lock-verbose . delphi-fontifying-progress-step)) 1926 (font-lock-verbose . delphi-fontifying-progress-step))
1926 "Delphi mode font-lock defaults. Syntactic fontification is ignored.") 1927 "Delphi mode font-lock defaults. Syntactic fontification is ignored.")
1927 1928
1928(defvar delphi-debug-mode-map 1929(defvar delphi-debug-mode-map
1929 (let ((kmap (make-sparse-keymap))) 1930 (let ((kmap (make-sparse-keymap)))
@@ -1944,7 +1945,7 @@ comment block. If not in a // comment, just does a normal newline."
1944 ("x" delphi-debug-show-is-stable) 1945 ("x" delphi-debug-show-is-stable)
1945 )) 1946 ))
1946 kmap) 1947 kmap)
1947 "Keystrokes for delphi-mode debug commands.") 1948 "Keystrokes for Delphi mode debug commands.")
1948 1949
1949(defvar delphi-mode-map 1950(defvar delphi-mode-map
1950 (let ((kmap (make-sparse-keymap))) 1951 (let ((kmap (make-sparse-keymap)))
@@ -1964,7 +1965,7 @@ comment block. If not in a // comment, just does a normal newline."
1964 "Keymap used in Delphi mode.") 1965 "Keymap used in Delphi mode.")
1965 1966
1966(defconst delphi-mode-syntax-table (make-syntax-table) 1967(defconst delphi-mode-syntax-table (make-syntax-table)
1967 "Delphi mode's syntax table. It is just a standard syntax table. 1968 "Delphi mode's syntax table. It is just a standard syntax table.
1968This is ok since we do our own keyword/comment/string face coloring.") 1969This is ok since we do our own keyword/comment/string face coloring.")
1969 1970
1970;;;###autoload 1971;;;###autoload
@@ -1976,7 +1977,7 @@ This is ok since we do our own keyword/comment/string face coloring.")
1976\\[delphi-fill-comment]\t- Fill the current comment. 1977\\[delphi-fill-comment]\t- Fill the current comment.
1977\\[delphi-new-comment-line]\t- If in a // comment, do a new comment line. 1978\\[delphi-new-comment-line]\t- If in a // comment, do a new comment line.
1978 1979
1979M-x indent-region also works for indenting a whole region. 1980\\[indent-region] also works for indenting a whole region.
1980 1981
1981Customization: 1982Customization:
1982 1983
@@ -1996,21 +1997,21 @@ Customization:
1996 `delphi-search-path' (default .) 1997 `delphi-search-path' (default .)
1997 Directories to search when finding external units. 1998 Directories to search when finding external units.
1998 `delphi-verbose' (default nil) 1999 `delphi-verbose' (default nil)
1999 If true then delphi token processing progress is reported to the user. 2000 If true then Delphi token processing progress is reported to the user.
2000 2001
2001Coloring: 2002Coloring:
2002 2003
2003 `delphi-comment-face' (default font-lock-comment-face) 2004 `delphi-comment-face' (default font-lock-comment-face)
2004 Face used to color delphi comments. 2005 Face used to color Delphi comments.
2005 `delphi-string-face' (default font-lock-string-face) 2006 `delphi-string-face' (default font-lock-string-face)
2006 Face used to color delphi strings. 2007 Face used to color Delphi strings.
2007 `delphi-keyword-face' (default font-lock-keyword-face) 2008 `delphi-keyword-face' (default font-lock-keyword-face)
2008 Face used to color delphi keywords. 2009 Face used to color Delphi keywords.
2009 `delphi-other-face' (default nil) 2010 `delphi-other-face' (default nil)
2010 Face used to color everything else. 2011 Face used to color everything else.
2011 2012
2012Turning on Delphi mode calls the value of the variable delphi-mode-hook with 2013Turning on Delphi mode calls the value of the variable `delphi-mode-hook'
2013no args, if that value is non-nil." 2014with no args, if that value is non-nil."
2014 (interactive) 2015 (interactive)
2015 (kill-all-local-variables) 2016 (kill-all-local-variables)
2016 (use-local-map delphi-mode-map) 2017 (use-local-map delphi-mode-map)
diff --git a/lisp/progmodes/ebrowse.el b/lisp/progmodes/ebrowse.el
index d674484345a..87e5875c943 100644
--- a/lisp/progmodes/ebrowse.el
+++ b/lisp/progmodes/ebrowse.el
@@ -3566,12 +3566,12 @@ KIND is an additional string printed in the buffer."
3566 (insert kind) 3566 (insert kind)
3567 (indent-to 50) 3567 (indent-to 50)
3568 (insert (case (second info) 3568 (insert (case (second info)
3569 ('ebrowse-ts-member-functions "member function") 3569 (ebrowse-ts-member-functions "member function")
3570 ('ebrowse-ts-member-variables "member variable") 3570 (ebrowse-ts-member-variables "member variable")
3571 ('ebrowse-ts-static-functions "static function") 3571 (ebrowse-ts-static-functions "static function")
3572 ('ebrowse-ts-static-variables "static variable") 3572 (ebrowse-ts-static-variables "static variable")
3573 ('ebrowse-ts-friends (if globals-p "define" "friend")) 3573 (ebrowse-ts-friends (if globals-p "define" "friend"))
3574 ('ebrowse-ts-types "type") 3574 (ebrowse-ts-types "type")
3575 (t "unknown")) 3575 (t "unknown"))
3576 "\n"))) 3576 "\n")))
3577 3577
diff --git a/lisp/progmodes/ruby-mode.el b/lisp/progmodes/ruby-mode.el
index 9d40b4d8fd7..c8b156c5441 100644
--- a/lisp/progmodes/ruby-mode.el
+++ b/lisp/progmodes/ruby-mode.el
@@ -974,7 +974,7 @@ With ARG, do it many times. Negative ARG means move forward."
974 (goto-char (scan-sexps (1+ (point)) -1)) 974 (goto-char (scan-sexps (1+ (point)) -1))
975 (case (char-before) 975 (case (char-before)
976 (?% (forward-char -1)) 976 (?% (forward-char -1))
977 ('(?q ?Q ?w ?W ?r ?x) 977 ((?q ?Q ?w ?W ?r ?x)
978 (if (eq (char-before (1- (point))) ?%) (forward-char -2)))) 978 (if (eq (char-before (1- (point))) ?%) (forward-char -2))))
979 nil) 979 nil)
980 ((looking-at "\\s\"\\|\\\\\\S_") 980 ((looking-at "\\s\"\\|\\\\\\S_")
diff --git a/lisp/shell.el b/lisp/shell.el
index bceea990baf..dde81c6cb95 100644
--- a/lisp/shell.el
+++ b/lisp/shell.el
@@ -583,6 +583,21 @@ Otherwise, one argument `-i' is passed to the shell.
583 (get-buffer-create (or buffer "*shell*")) 583 (get-buffer-create (or buffer "*shell*"))
584 ;; If the current buffer is a dead shell buffer, use it. 584 ;; If the current buffer is a dead shell buffer, use it.
585 (current-buffer))) 585 (current-buffer)))
586
587 ;; On remote hosts, the local `shell-file-name' might be useless.
588 (if (and (interactive-p)
589 (file-remote-p default-directory)
590 (null explicit-shell-file-name)
591 (null (getenv "ESHELL")))
592 (with-current-buffer buffer
593 (set (make-local-variable 'explicit-shell-file-name)
594 (file-remote-p
595 (expand-file-name
596 (read-file-name
597 "Remote shell path: " default-directory shell-file-name
598 t shell-file-name))
599 'localname))))
600
586 ;; Pop to buffer, so that the buffer's window will be correctly set 601 ;; Pop to buffer, so that the buffer's window will be correctly set
587 ;; when we call comint (so that comint sets the COLUMNS env var properly). 602 ;; when we call comint (so that comint sets the COLUMNS env var properly).
588 (pop-to-buffer buffer) 603 (pop-to-buffer buffer)
diff --git a/lisp/startup.el b/lisp/startup.el
index 384d81391ab..65b1a013c21 100644
--- a/lisp/startup.el
+++ b/lisp/startup.el
@@ -1006,19 +1006,23 @@ opening the first frame (e.g. open a connection to an X server).")
1006 (if init-file-user 1006 (if init-file-user
1007 (let ((user-init-file-1 1007 (let ((user-init-file-1
1008 (cond 1008 (cond
1009 ((eq system-type 'ms-dos) 1009 ((eq system-type 'ms-dos)
1010 (concat "~" init-file-user "/_emacs")) 1010 (concat "~" init-file-user "/_emacs"))
1011 ((eq system-type 'windows-nt) 1011 ((not (eq system-type 'windows-nt))
1012 ;; Prefer .emacs on Windows. 1012 (concat "~" init-file-user "/.emacs"))
1013 (if (directory-files "~" nil "^\\.emacs\\(\\.elc?\\)?$") 1013 ;; Else deal with the Windows situation
1014 "~/.emacs" 1014 ((directory-files "~" nil "^\\.emacs\\(\\.elc?\\)?$")
1015 ;; Also support _emacs for compatibility. 1015 ;; Prefer .emacs on Windows.
1016 (if (directory-files "~" nil "^_emacs\\(\\.elc?\\)?$") 1016 "~/.emacs")
1017 "~/_emacs" 1017 ((directory-files "~" nil "^_emacs\\(\\.elc?\\)?$")
1018 ;; But default to .emacs if _emacs does not exist. 1018 ;; Also support _emacs for compatibility, but warn about it.
1019 "~/.emacs"))) 1019 (display-warning
1020 (t 1020 'initialization
1021 (concat "~" init-file-user "/.emacs"))))) 1021 "`_emacs' init file is deprecated, please use `.emacs'"
1022 :warning)
1023 "~/_emacs")
1024 (t ;; But default to .emacs if _emacs does not exist.
1025 "~/.emacs"))))
1022 ;; This tells `load' to store the file name found 1026 ;; This tells `load' to store the file name found
1023 ;; into user-init-file. 1027 ;; into user-init-file.
1024 (setq user-init-file t) 1028 (setq user-init-file t)
@@ -1191,7 +1195,7 @@ the `--debug-init' option to view a complete error backtrace."
1191 (dolist (subdir (directory-files dir)) 1195 (dolist (subdir (directory-files dir))
1192 (when (and (file-directory-p (expand-file-name subdir dir)) 1196 (when (and (file-directory-p (expand-file-name subdir dir))
1193 ;; package-subdirectory-regexp from package.el 1197 ;; package-subdirectory-regexp from package.el
1194 (string-match "^\\([^.].*\\)-\\([0-9]+\\(?:[.][0-9]+\\)*\\)$" 1198 (string-match "\\`\\([^.].*?\\)-\\([0-9]+\\(?:[.][0-9]+\\|\\(?:pre\\|beta\\|alpha\\)[0-9]+\\)*\\)\\'"
1195 subdir)) 1199 subdir))
1196 (throw 'package-dir-found t))))))) 1200 (throw 'package-dir-found t)))))))
1197 (package-initialize)) 1201 (package-initialize))
diff --git a/lisp/subr.el b/lisp/subr.el
index 3330fa20379..6f39a41709e 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -2003,24 +2003,24 @@ If optional argument INHIBIT-KEYBOARD-QUIT is non-nil, ignore
2003keyboard-quit events while waiting for a valid input." 2003keyboard-quit events while waiting for a valid input."
2004 (unless (consp chars) 2004 (unless (consp chars)
2005 (error "Called `read-char-choice' without valid char choices")) 2005 (error "Called `read-char-choice' without valid char choices"))
2006 (let ((cursor-in-echo-area t) 2006 (let (char done)
2007 (executing-kbd-macro executing-kbd-macro) 2007 (let ((cursor-in-echo-area t)
2008 char done) 2008 (executing-kbd-macro executing-kbd-macro))
2009 (while (not done) 2009 (while (not done)
2010 (unless (get-text-property 0 'face prompt) 2010 (unless (get-text-property 0 'face prompt)
2011 (setq prompt (propertize prompt 'face 'minibuffer-prompt))) 2011 (setq prompt (propertize prompt 'face 'minibuffer-prompt)))
2012 (setq char (let ((inhibit-quit inhibit-keyboard-quit)) 2012 (setq char (let ((inhibit-quit inhibit-keyboard-quit))
2013 (read-key prompt))) 2013 (read-key prompt)))
2014 (cond 2014 (cond
2015 ((not (numberp char))) 2015 ((not (numberp char)))
2016 ((memq char chars) 2016 ((memq char chars)
2017 (setq done t)) 2017 (setq done t))
2018 ((and executing-kbd-macro (= char -1)) 2018 ((and executing-kbd-macro (= char -1))
2019 ;; read-event returns -1 if we are in a kbd macro and 2019 ;; read-event returns -1 if we are in a kbd macro and
2020 ;; there are no more events in the macro. Attempt to 2020 ;; there are no more events in the macro. Attempt to
2021 ;; get an event interactively. 2021 ;; get an event interactively.
2022 (setq executing-kbd-macro nil)))) 2022 (setq executing-kbd-macro nil)))))
2023 ;; Display the question with the answer. 2023 ;; Display the question with the answer. But without cursor-in-echo-area.
2024 (message "%s%s" prompt (char-to-string char)) 2024 (message "%s%s" prompt (char-to-string char))
2025 char)) 2025 char))
2026 2026
diff --git a/lisp/vc/vc-dir.el b/lisp/vc/vc-dir.el
index d4970207b94..01b6f2fc26e 100644
--- a/lisp/vc/vc-dir.el
+++ b/lisp/vc/vc-dir.el
@@ -104,7 +104,7 @@ See `run-hooks'."
104 ;; We pass a filename to create-file-buffer because it is what 104 ;; We pass a filename to create-file-buffer because it is what
105 ;; the function expects, and also what uniquify needs (if active) 105 ;; the function expects, and also what uniquify needs (if active)
106 (with-current-buffer (create-file-buffer (expand-file-name bname dir)) 106 (with-current-buffer (create-file-buffer (expand-file-name bname dir))
107 (cd dir) 107 (setq default-directory dir)
108 (vc-setup-buffer (current-buffer)) 108 (vc-setup-buffer (current-buffer))
109 ;; Reset the vc-parent-buffer-name so that it does not appear 109 ;; Reset the vc-parent-buffer-name so that it does not appear
110 ;; in the mode-line. 110 ;; in the mode-line.
@@ -1002,7 +1002,7 @@ specific headers."
1002 (generate-new-buffer (format " *VC-%s* tmp status" backend)))) 1002 (generate-new-buffer (format " *VC-%s* tmp status" backend))))
1003 (lexical-let ((buffer (current-buffer))) 1003 (lexical-let ((buffer (current-buffer)))
1004 (with-current-buffer vc-dir-process-buffer 1004 (with-current-buffer vc-dir-process-buffer
1005 (cd def-dir) 1005 (setq default-directory def-dir)
1006 (erase-buffer) 1006 (erase-buffer)
1007 (vc-call-backend 1007 (vc-call-backend
1008 backend 'dir-status-files def-dir files default-state 1008 backend 'dir-status-files def-dir files default-state
@@ -1067,7 +1067,7 @@ Throw an error if another update process is in progress."
1067 (ewoc-set-hf vc-ewoc (vc-dir-headers backend def-dir) "") 1067 (ewoc-set-hf vc-ewoc (vc-dir-headers backend def-dir) "")
1068 (lexical-let ((buffer (current-buffer))) 1068 (lexical-let ((buffer (current-buffer)))
1069 (with-current-buffer vc-dir-process-buffer 1069 (with-current-buffer vc-dir-process-buffer
1070 (cd def-dir) 1070 (setq default-directory def-dir)
1071 (erase-buffer) 1071 (erase-buffer)
1072 (vc-call-backend 1072 (vc-call-backend
1073 backend 'dir-status def-dir 1073 backend 'dir-status def-dir
diff --git a/lisp/vc/vc-hg.el b/lisp/vc/vc-hg.el
index 4ac7ef15fc7..0516abbf024 100644
--- a/lisp/vc/vc-hg.el
+++ b/lisp/vc/vc-hg.el
@@ -529,9 +529,9 @@ REV is the revision to check out into WORKFILE."
529 (insert (propertize 529 (insert (propertize
530 (format " (%s %s)" 530 (format " (%s %s)"
531 (case (vc-hg-extra-fileinfo->rename-state extra) 531 (case (vc-hg-extra-fileinfo->rename-state extra)
532 ('copied "copied from") 532 (copied "copied from")
533 ('renamed-from "renamed from") 533 (renamed-from "renamed from")
534 ('renamed-to "renamed to")) 534 (renamed-to "renamed to"))
535 (vc-hg-extra-fileinfo->extra-name extra)) 535 (vc-hg-extra-fileinfo->extra-name extra))
536 'face 'font-lock-comment-face))))) 536 'face 'font-lock-comment-face)))))
537 537