diff options
| author | Paul Eggert | 2011-03-17 09:32:03 -0700 |
|---|---|---|
| committer | Paul Eggert | 2011-03-17 09:32:03 -0700 |
| commit | b1d876f1a19ae65c8a8dd61c4ce17055ca53f16c (patch) | |
| tree | 5dd8a40d7e3e0b86749cecfee7443ad81bdbfe5e /lisp | |
| parent | b766f86726fc2828a035cb8db149598a3a84de96 (diff) | |
| parent | d6cd56f187a791983579bf5d4ce3702d2ddf2499 (diff) | |
| download | emacs-b1d876f1a19ae65c8a8dd61c4ce17055ca53f16c.tar.gz emacs-b1d876f1a19ae65c8a8dd61c4ce17055ca53f16c.zip | |
Merge from mainline.
Diffstat (limited to 'lisp')
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 @@ | |||
| 1 | 2011-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 | |||
| 9 | 2011-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 | |||
| 46 | 2011-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 | |||
| 51 | 2011-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 | |||
| 57 | 2011-03-16 Juanma Barranquero <lekktu@gmail.com> | ||
| 58 | |||
| 59 | * startup.el (command-line): Warn the user that _emacs is deprecated. | ||
| 60 | |||
| 61 | 2011-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 | |||
| 72 | 2011-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 | |||
| 78 | 2011-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 | |||
| 90 | 2011-03-15 Chong Yidong <cyd@stupidchicken.com> | ||
| 91 | |||
| 92 | * startup.el (command-line): Update package subdirectory regexp. | ||
| 93 | |||
| 94 | 2011-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 | |||
| 102 | 2011-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 | |||
| 107 | 2011-03-15 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 108 | |||
| 109 | * emacs-lisp/bytecomp.el (byte-compile-save-excursion): Change the | ||
| 110 | warning message. | ||
| 111 | |||
| 112 | 2011-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 | |||
| 1 | 2011-03-13 Teodor Zlatanov <tzz@lifelogs.com> | 117 | 2011-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 | ||
| 311 | With value nil, inhibit any automatic allout-mode activation." | 311 | With 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 |
| 758 | numbers to minimal amount with some context. Otherwise, entire | 759 | numbers 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. | |||
| 3495 | If INSTEAD is: | 3496 | If 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 | ||
| 3951 | If INSTEAD is: | 3954 | If 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 | ||
| 3957 | Second arg DEPTH forces the topic prefix to that depth, regardless | 3960 | Second 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 | ||
| 73 | Emacs 24.1 | 73 | Emacs 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 |
| 944 | calcFunc-pclean calcFunc-pfloat calcFunc-pfrac) | 944 | calcFunc-pclean calcFunc-pfloat calcFunc-pfrac) |
| 945 | 945 | ||
| 946 | ("calc-units" calcFunc-usimplify calcFunc-lufieldadd | 946 | ("calc-units" calcFunc-usimplify calcFunc-lufadd calcFunc-lupadd |
| 947 | calcFunc-lupoweradd calcFunc-lufieldsub calcFunc-lupowersub | 947 | calcFunc-lufsub calcFunc-lupsub calcFunc-lufmul calcFunc-lupmul |
| 948 | calcFunc-lufieldmul calcFunc-lupowermul calcFunc-lufielddiv | 948 | calcFunc-lufdiv calcFunc-lupdiv calcFunc-lufquant calcFunc-lupquant |
| 949 | calcFunc-lupowerdiv calcFunc-fieldquant calcFunc-powerquant | 949 | calcFunc-dbfield calcFunc-dbpower calcFunc-npfield |
| 950 | calcFunc-dbfieldlevel calcFunc-dbpowerlevel calcFunc-npfieldlevel | 950 | calcFunc-nppower calcFunc-spn calcFunc-midi calcFunc-freq |
| 951 | calcFunc-nppowerlevel calcFunc-spn calcFunc-midi calcFunc-freq | ||
| 952 | math-build-units-table math-build-units-table-buffer | 951 | math-build-units-table math-build-units-table-buffer |
| 953 | math-check-unit-name math-convert-temperature math-convert-units | 952 | math-check-unit-name math-convert-temperature math-convert-units |
| 954 | math-extract-units math-remove-units math-simplify-units | 953 | math-extract-units math-remove-units math-simplify-units |
| @@ -1180,9 +1179,9 @@ calc-convert-temperature calc-convert-units calc-define-unit | |||
| 1180 | calc-enter-units-table calc-explain-units calc-extract-units | 1179 | calc-enter-units-table calc-explain-units calc-extract-units |
| 1181 | calc-get-unit-definition calc-permanent-units calc-quick-units | 1180 | calc-get-unit-definition calc-permanent-units calc-quick-units |
| 1182 | calc-remove-units calc-simplify-units calc-undefine-unit | 1181 | calc-remove-units calc-simplify-units calc-undefine-unit |
| 1183 | calc-view-units-table calc-logunits-quantity calc-dblevel | 1182 | calc-view-units-table calc-lu-quant calc-db |
| 1184 | calc-nplevel calc-logunits-add calc-logunits-sub | 1183 | calc-np calc-lu-plus calc-lu-minus |
| 1185 | calc-logunits-mul calc-logunits-divide calc-spn calc-midi | 1184 | calc-lu-times calc-lu-divide calc-spn calc-midi |
| 1186 | calc-freq) | 1185 | calc-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'. |
| 791 | The default value is the list (user changed). The theme `changed' | 791 | The default value is the list (user changed). The theme `changed' |
| 792 | contains the settings before custom themes are applied. The | 792 | contains the settings before custom themes are applied. The theme |
| 793 | theme `user' contains all the settings the user customized and saved. | 793 | `user' contains all the settings the user customized and saved. |
| 794 | Additional themes declared with the `deftheme' macro will be added to | 794 | Additional themes declared with the `deftheme' macro will be added |
| 795 | the front of this list.") | 795 | to 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 | ||
| 1074 | Each theme file is named NAME-theme.el, where THEME is the theme | 1074 | Each theme file is named THEME-theme.el, where THEME is the theme |
| 1075 | name." | 1075 | name." |
| 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 | |||
| 1335 | currently enabled custom themes. | 1335 | currently enabled custom themes. |
| 1336 | 1336 | ||
| 1337 | This function returns nil if no custom theme specifies a value for VARIABLE." | 1337 | This 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 @@ | |||
| 1 | 2011-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 | |||
| 16 | 2011-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 | |||
| 29 | 2011-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 | |||
| 34 | 2011-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 | |||
| 45 | 2011-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 | |||
| 50 | 2011-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 | |||
| 55 | 2011-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 | |||
| 61 | 2011-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 | |||
| 71 | 2011-03-15 Teodor Zlatanov <tzz@lifelogs.com> | ||
| 72 | |||
| 73 | * message.el (message-yank-original): Use cond instead of CL case. | ||
| 74 | |||
| 75 | 2011-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 | |||
| 1 | 2011-03-13 Teodor Zlatanov <tzz@lifelogs.com> | 80 | 2011-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 | ||
| 16 | 2011-03-11 Teodor Zlatanov <tzz@lifelogs.com> | 95 | 2011-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 | ||
| 23 | 2011-03-11 Julien Danjou <julien@danjou.info> | 102 | 2011-03-11 Julien Danjou <julien@danjou.info> |
| @@ -101,8 +180,8 @@ | |||
| 101 | 180 | ||
| 102 | 2011-03-05 Antoine Levitt <antoine.levitt@gmail.com> | 181 | 2011-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 | ||
| 108 | 2011-03-04 Daiki Ueno <ueno@unixuser.org> | 187 | 2011-03-04 Daiki Ueno <ueno@unixuser.org> |
| @@ -216,14 +295,14 @@ | |||
| 216 | 295 | ||
| 217 | 2011-02-23 Lars Ingebrigtsen <larsi@gnus.org> | 296 | 2011-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 @@ | |||
| 469 | 2011-02-14 Teodor Zlatanov <tzz@lifelogs.com> | 548 | 2011-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 | ||
| 511 | 2011-02-13 Tassilo Horn <tassilo@member.fsf.org> (tiny change) | 590 | 2011-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 | ||
| 516 | 2011-02-10 Stefan Monnier <monnier@iro.umontreal.ca> | 595 | 2011-02-10 Stefan Monnier <monnier@iro.umontreal.ca> |
| 517 | 596 | ||
| @@ -599,8 +678,8 @@ | |||
| 599 | 678 | ||
| 600 | 2011-02-06 Michael Albinus <michael.albinus@gmx.de> | 679 | 2011-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 | |||
| 3074 | The `gnus-list-identifiers' variable specifies what to do." | 3076 | The `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 | ||
| 38 | IMAP commands on stdin and return responses to stdout. Each entry in | ||
| 39 | the 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. |
| 443 | This is a format-spec string, and you can use %l to say how many | ||
| 444 | lines were removed, and %c to say how many characters were | ||
| 445 | removed." | ||
| 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." | |||
| 3535 | An ellipsis (from `message-elide-ellipsis') will be inserted where the | 3539 | An ellipsis (from `message-elide-ellipsis') will be inserted where the |
| 3536 | text was killed." | 3540 | text 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 @@ | |||
| 1 | 2011-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 | |||
| 1 | 2011-03-06 Juanma Barranquero <lekktu@gmail.com> | 11 | 2011-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. |
| 78 | directory strings. If only a single directory, it can be a single | 78 | It is a list of directory strings. If only a single directory, |
| 79 | string instead of a list. If a directory ends in \"...\" then that | 79 | it can be a single string instead of a list. If a directory |
| 80 | directory is recursively searched." | 80 | ends 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. |
| 86 | E.g. | ||
| 86 | 87 | ||
| 87 | begin | 88 | begin |
| 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. |
| 724 | Defaults to t in case the delphi-after-change function is called on a | 725 | Defaults to t in case the `delphi-after-change' function is called on a |
| 725 | non-delphi buffer. Set to nil in a delphi buffer. To override, just do: | 726 | non-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. |
| 1525 | before the indent, the point is moved to the indent." | 1526 | If 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 |
| 1682 | active. Otherwise, indent the current line or insert a TAB, depending on the | 1683 | active. Otherwise, indent the current line or insert a TAB, depending on the |
| 1683 | value of `delphi-tab-always-indents' and the current line position." | 1684 | value 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'. |
| 1772 | If no extension is specified, .pas is assumed. Creates a buffer for the unit." | 1773 | If 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 |
| 1792 | in external units if necessary (as listed in the current unit's use clause). | 1793 | in external units if necessary (as listed in the current unit's use clause). |
| 1793 | The set of directories to search for a unit is specified by the global variable | 1794 | The set of directories to search for a unit is specified by the global variable |
| 1794 | delphi-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'. |
| 1806 | An error is raised if not in a comment." | 1807 | An 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 |
| 1892 | comment block. If not in a // comment, just does a normal newline." | 1893 | comment 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. |
| 1968 | This is ok since we do our own keyword/comment/string face coloring.") | 1969 | This 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 | ||
| 1979 | M-x indent-region also works for indenting a whole region. | 1980 | \\[indent-region] also works for indenting a whole region. |
| 1980 | 1981 | ||
| 1981 | Customization: | 1982 | Customization: |
| 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 | ||
| 2001 | Coloring: | 2002 | Coloring: |
| 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 | ||
| 2012 | Turning on Delphi mode calls the value of the variable delphi-mode-hook with | 2013 | Turning on Delphi mode calls the value of the variable `delphi-mode-hook' |
| 2013 | no args, if that value is non-nil." | 2014 | with 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 | |||
| 2003 | keyboard-quit events while waiting for a valid input." | 2003 | keyboard-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 | ||