Now on revision 107401. ------------------------------------------------------------ revno: 107401 committer: Katsumi Yamaoka branch nick: trunk timestamp: Thu 2012-02-23 23:11:13 +0000 message: nntp.el (nntp-send-authinfo): Work for secure nntp entry in authinfo. diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2012-02-23 01:31:39 +0000 +++ lisp/gnus/ChangeLog 2012-02-23 23:11:13 +0000 @@ -1,3 +1,7 @@ +2012-02-23 Katsumi Yamaoka + + * nntp.el (nntp-send-authinfo): Work for secure nntp entry in authinfo. + 2012-02-20 Lars Ingebrigtsen * mm-decode.el (mm-shr): Remove "soft hyphens". === modified file 'lisp/gnus/nntp.el' --- lisp/gnus/nntp.el 2012-02-01 23:16:56 +0000 +++ lisp/gnus/nntp.el 2012-02-23 23:11:13 +0000 @@ -1252,10 +1252,13 @@ (let* ((list (netrc-parse nntp-authinfo-file)) (alist (netrc-machine list nntp-address "nntp")) (auth-info - (nth 0 (auth-source-search :max 1 - :host (list nntp-address - (nnoo-current-server 'nntp)) - :port '("119" "nntp")))) + (nth 0 (auth-source-search + :max 1 + :host (list nntp-address + (nnoo-current-server 'nntp)) + :port (or (cdr (assoc (format "%s" nntp-port-number) + '(("563" . ("563" "nntps" "snews"))))) + '("119" "nntp"))))) (auth-user (plist-get auth-info :user)) (auth-force (plist-get auth-info :force)) (auth-passwd (plist-get auth-info :secret)) ------------------------------------------------------------ revno: 107400 committer: Glenn Morris branch nick: trunk timestamp: Thu 2012-02-23 14:49:47 -0500 message: Fix date of ChangeLog entry diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-02-23 18:51:22 +0000 +++ lisp/ChangeLog 2012-02-23 19:49:47 +0000 @@ -8005,7 +8005,7 @@ * isearch.el (isearch-range-invisible): Use invisible-p (bug#8721). -2009-11-23 Toby Cubitt +2011-05-27 Toby Cubitt * emacs-lisp/avl-tree.el: New avl-tree-stack datatype. Add new traversal functions for avl-trees. @@ -8023,8 +8023,6 @@ (avl-tree-stack, avl-tree-stack-pop, avl-tree-stack-first) (avl-tree-stack-empty-p): New functions. -2009-11-23 Toby Cubitt - * emacs-lisp/avl-tree.el (avl-tree--del-balance): Rename from avl-tree--del-balance1 and make it work both ways. (avl-tree--del-balance2): Remove. ------------------------------------------------------------ revno: 107399 committer: Glenn Morris branch nick: trunk timestamp: Thu 2012-02-23 14:47:27 -0500 message: Add missing NEWS entry for feature appearing during feature freeze diff: === modified file 'etc/NEWS' --- etc/NEWS 2012-02-23 00:36:49 +0000 +++ etc/NEWS 2012-02-23 19:47:27 +0000 @@ -1405,7 +1405,7 @@ If the global mode is global-FOO-mode, then run (FOO-mode -1) in the major mode's hook, where FOO-mode toggles the mode on a per-buffer basis. +++ -*** `define-minor-mode' accepts a new keyword :variable. +*** `define-minor-mode' accepts new keywords :variable, :after-hook. +++ ** `delete-file' and `delete-directory' now accept optional arg TRASH. ------------------------------------------------------------ revno: 107398 committer: Alan Mackenzie branch nick: quickfixes timestamp: Thu 2012-02-23 18:51:22 +0000 message: Add new parameter :after-hook to define-minor-mode. Use this in the definition of font-lock-mode. diff: === modified file 'doc/lispref/ChangeLog' --- doc/lispref/ChangeLog 2012-02-21 13:24:48 +0000 +++ doc/lispref/ChangeLog 2012-02-23 18:51:22 +0000 @@ -1,3 +1,8 @@ +2012-02-23 Alan Mackenzie + + * modes.texi (Defining Minor Modes): Document the new keyword + :after-hook. + 2012-02-21 Chong Yidong * files.texi (Files): Mention magic file names as arguments. === modified file 'doc/lispref/modes.texi' --- doc/lispref/modes.texi 2012-02-19 05:54:33 +0000 +++ doc/lispref/modes.texi 2012-02-23 18:51:22 +0000 @@ -1594,15 +1594,20 @@ @var{place} can also be a cons @code{(@var{get} . @var{set})}, where @var{get} is an expression that returns the current state, and @var{set} is a function of one argument (a state) that sets it. + +@item :after-hook @var{after-hook} +This defines a single lisp form which is evaluated after the mode hooks +have run. It should not be quoted. @end table Any other keyword arguments are passed directly to the @code{defcustom} generated for the variable @var{mode}. -The command named @var{mode} first performs the standard actions such -as setting the variable named @var{mode} and then executes the -@var{body} forms, if any. It finishes by running the mode hook -variable @code{@var{mode}-hook}. +The command named @var{mode} first performs the standard actions such as +setting the variable named @var{mode} and then executes the @var{body} +forms, if any. It then runs the mode hook variable +@code{@var{mode}-hook} and finishes by evaluating any form in +@code{:after-hook}. @end defmac The initial value must be @code{nil} except in cases where (1) the === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-02-23 15:41:12 +0000 +++ lisp/ChangeLog 2012-02-23 18:51:22 +0000 @@ -1,3 +1,15 @@ +2012-02-23 Alan Mackenzie + + * emacs-lisp/easy-mmode.el (define-minor-mode): Add extra + parameter "after-hook:" to allow the expansion to run code after + the execution of the mode hooks. + + * font-lock.el (font-lock-initial-fontify): New function extracted + from font-lock-mode-interal. + + * font-core.el (font-lock-mode): call font-lock-initial-fontify in + :after-hook. + 2012-02-23 Stefan Monnier * minibuffer.el: Make sure cycling is reset upon edit with icomplete.el. === modified file 'lisp/emacs-lisp/easy-mmode.el' --- lisp/emacs-lisp/easy-mmode.el 2012-02-07 08:26:54 +0000 +++ lisp/emacs-lisp/easy-mmode.el 2012-02-23 18:51:22 +0000 @@ -135,6 +135,8 @@ the new state, and sets it. If you specify a :variable, this function does not define a MODE variable (nor any of the terms used in :variable). +:after-hook A single lisp form which is evaluated after the mode hooks + have been run. It should not be quoted. For example, you could write (define-minor-mode foo-mode \"If enabled, foo on you!\" @@ -170,6 +172,7 @@ (setter nil) ;The function (if any) to set the mode var. (modefun mode) ;The minor mode function name we're defining. (require t) + (after-hook nil) (hook (intern (concat mode-name "-hook"))) (hook-on (intern (concat mode-name "-on-hook"))) (hook-off (intern (concat mode-name "-off-hook"))) @@ -197,6 +200,7 @@ (setq mode variable) (setq mode (car variable)) (setq setter (cdr variable)))) + (:after-hook (setq after-hook (pop body))) (t (push keyw extra-keywords) (push (pop body) extra-keywords)))) (setq keymap-sym (if (and keymap (symbolp keymap)) keymap @@ -275,7 +279,8 @@ (not (equal ,last-message (current-message)))) (message ,(format "%s %%sabled" pretty-name) - (if ,mode "en" "dis")))))) + (if ,mode "en" "dis"))))) + ,@(when after-hook `(,after-hook))) (force-mode-line-update) ;; Return the new setting. ,mode) === modified file 'lisp/font-core.el' --- lisp/font-core.el 2012-01-19 07:21:25 +0000 +++ lisp/font-core.el 2012-02-23 18:51:22 +0000 @@ -138,6 +138,7 @@ your own function which is called when `font-lock-mode' is toggled via `font-lock-function'. " nil nil nil + :after-hook (if font-lock-mode (font-lock-initial-fontify)) ;; Don't turn on Font Lock mode if we don't have a display (we're running a ;; batch job) or if the buffer is invisible (the name starts with a space). (when (or noninteractive (eq (aref (buffer-name) 0) ?\s)) === modified file 'lisp/font-lock.el' --- lisp/font-lock.el 2012-02-10 15:59:29 +0000 +++ lisp/font-lock.el 2012-02-23 18:51:22 +0000 @@ -629,21 +629,24 @@ ;; Shut up the byte compiler. (defvar font-lock-face-attributes)) ; Obsolete but respected if set. +(defun font-lock-initial-fontify () + ;; The first fontification after turning the mode on. This must + ;; only be called after the mode hooks have been run. + (let ((max-size (font-lock-value-in-major-mode font-lock-maximum-size))) + (cond (font-lock-fontified + nil) + ((or (null max-size) (> max-size (buffer-size))) + (font-lock-fontify-buffer)) + (font-lock-verbose + (message "Fontifying %s...buffer size greater than font-lock-maximum-size" + (buffer-name)))))) + (defun font-lock-mode-internal (arg) ;; Turn on Font Lock mode. (when arg (add-hook 'after-change-functions 'font-lock-after-change-function t t) (font-lock-set-defaults) - (font-lock-turn-on-thing-lock) - ;; Fontify the buffer if we have to. - (let ((max-size (font-lock-value-in-major-mode font-lock-maximum-size))) - (cond (font-lock-fontified - nil) - ((or (null max-size) (> max-size (buffer-size))) - (font-lock-fontify-buffer)) - (font-lock-verbose - (message "Fontifying %s...buffer size greater than font-lock-maximum-size" - (buffer-name)))))) + (font-lock-turn-on-thing-lock)) ;; Turn off Font Lock mode. (unless font-lock-mode (remove-hook 'after-change-functions 'font-lock-after-change-function t) ------------------------------------------------------------ revno: 107397 committer: Chong Yidong branch nick: trunk timestamp: Fri 2012-02-24 01:40:33 +0800 message: * window.c: Fix last fix. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2012-02-23 07:28:21 +0000 +++ src/ChangeLog 2012-02-23 17:40:33 +0000 @@ -6,6 +6,7 @@ * window.c (inhibit_window_configuration_change_hook): New var. (run_window_configuration_change_hook): Obey it. + (syms_of_window): Initialize it. 2012-02-22 Chong Yidong === modified file 'src/window.c' --- src/window.c 2012-02-23 07:28:21 +0000 +++ src/window.c 2012-02-23 17:40:33 +0000 @@ -6527,6 +6527,8 @@ window_scroll_preserve_hpos = -1; window_scroll_preserve_vpos = -1; + inhibit_window_configuration_change_hook = Qnil; + DEFVAR_LISP ("temp-buffer-show-function", Vtemp_buffer_show_function, doc: /* Non-nil means call as function to display a help buffer. The function is called with one argument, the buffer to be displayed. ------------------------------------------------------------ revno: 107396 committer: Stefan Monnier branch nick: trunk timestamp: Thu 2012-02-23 10:41:12 -0500 message: * lisp/minibuffer.el: Make sure cycling is reset upon edit with icomplete.el. (completion--cache-all-sorted-completions): New function. (completion-all-sorted-completions): Use it. (completion--do-completion, minibuffer-force-complete): Use it to re-instate the flush hook. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-02-23 15:36:07 +0000 +++ lisp/ChangeLog 2012-02-23 15:41:12 +0000 @@ -1,5 +1,11 @@ 2012-02-23 Stefan Monnier + * minibuffer.el: Make sure cycling is reset upon edit with icomplete.el. + (completion--cache-all-sorted-completions): New function. + (completion-all-sorted-completions): Use it. + (completion--do-completion, minibuffer-force-complete): + Use it to re-instate the flush hook. + * icomplete.el (icomplete-completions): Replace last fix with a better one (bug#10850). === modified file 'lisp/minibuffer.el' --- lisp/minibuffer.el 2012-02-23 08:32:18 +0000 +++ lisp/minibuffer.el 2012-02-23 15:41:12 +0000 @@ -705,23 +705,23 @@ ;; It did find a match. Do we match some possibility exactly now? (let* ((exact (test-completion completion - minibuffer-completion-table - minibuffer-completion-predicate)) + minibuffer-completion-table + minibuffer-completion-predicate)) (threshold (completion--cycle-threshold md)) - (comps - ;; Check to see if we want to do cycling. We do it - ;; here, after having performed the normal completion, - ;; so as to take advantage of the difference between - ;; try-completion and all-completions, for things - ;; like completion-ignored-extensions. + (comps + ;; Check to see if we want to do cycling. We do it + ;; here, after having performed the normal completion, + ;; so as to take advantage of the difference between + ;; try-completion and all-completions, for things + ;; like completion-ignored-extensions. (when (and threshold - ;; Check that the completion didn't make - ;; us jump to a different boundary. - (or (not completed) - (< (car (completion-boundaries - (substring completion 0 comp-pos) - minibuffer-completion-table - minibuffer-completion-predicate + ;; Check that the completion didn't make + ;; us jump to a different boundary. + (or (not completed) + (< (car (completion-boundaries + (substring completion 0 comp-pos) + minibuffer-completion-table + minibuffer-completion-predicate "")) comp-pos))) (completion-all-sorted-completions)))) @@ -735,7 +735,7 @@ ;; Fewer than completion-cycle-threshold remaining ;; completions: let's cycle. (setq completed t exact t) - (setq completion-all-sorted-completions comps) + (completion--cache-all-sorted-completions comps) (minibuffer-force-complete)) (completed ;; We could also decide to refresh the completions, @@ -800,6 +800,11 @@ (#b000 nil) (t t))))) +(defun completion--cache-all-sorted-completions (comps) + (add-hook 'after-change-functions + 'completion--flush-all-sorted-completions nil t) + (setq completion-all-sorted-completions comps)) + (defun completion--flush-all-sorted-completions (&rest _ignore) (remove-hook 'after-change-functions 'completion--flush-all-sorted-completions t) @@ -848,10 +853,7 @@ ;; Cache the result. This is not just for speed, but also so that ;; repeated calls to minibuffer-force-complete can cycle through ;; all possibilities. - (add-hook 'after-change-functions - 'completion--flush-all-sorted-completions nil t) - (setq completion-all-sorted-completions - (nconc all base-size)))))) + (completion--cache-all-sorted-completions (nconc all base-size)))))) (defun minibuffer-force-complete () "Complete the minibuffer to an exact match. @@ -875,9 +877,10 @@ (completion--done (buffer-substring-no-properties start (point)) 'finished (unless mod "Sole completion")))) (t - (setq completion-cycling t) (completion--replace base end (car all)) (completion--done (buffer-substring-no-properties start (point)) 'sole) + ;; Set cycling after modifying the buffer since the flush hook resets it. + (setq completion-cycling t) ;; If completing file names, (car all) may be a directory, so we'd now ;; have a new set of possible completions and might want to reset ;; completion-all-sorted-completions to nil, but we prefer not to, @@ -885,7 +888,7 @@ ;; through the previous possible completions. (let ((last (last all))) (setcdr last (cons (car all) (cdr last))) - (setq completion-all-sorted-completions (cdr all))))))) + (completion--cache-all-sorted-completions (cdr all))))))) (defvar minibuffer-confirm-exit-commands '(minibuffer-complete minibuffer-complete-word PC-complete PC-complete-word) ------------------------------------------------------------ revno: 107395 fixes bug(s): http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10850 committer: Stefan Monnier branch nick: trunk timestamp: Thu 2012-02-23 10:36:07 -0500 message: * lisp/icomplete.el (icomplete-completions): Replace last fix. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-02-23 08:32:18 +0000 +++ lisp/ChangeLog 2012-02-23 15:36:07 +0000 @@ -1,3 +1,8 @@ +2012-02-23 Stefan Monnier + + * icomplete.el (icomplete-completions): Replace last fix with a better + one (bug#10850). + 2012-02-23 Dmitry Gutov * emacs-lisp/lisp.el (beginning-of-defun-raw): Don't call end-of-defun === modified file 'lisp/icomplete.el' --- lisp/icomplete.el 2012-02-20 08:06:52 +0000 +++ lisp/icomplete.el 2012-02-23 15:36:07 +0000 @@ -333,23 +333,23 @@ (window-width))) (prefix-len ;; Find the common prefix among `comps'. - (if (eq t (compare-strings (car comps) nil (length most) - most nil nil completion-ignore-case)) - ;; Common case. - (length most) - ;; Else, use try-completion. - (let ((comps-prefix (try-completion "" comps))) - (and (stringp comps-prefix) - (length comps-prefix))))) + ;; We can't use the optimization below because its assumptions + ;; aren't always true, e.g. when completion-cycling (bug#10850): + ;; (if (eq t (compare-strings (car comps) nil (length most) + ;; most nil nil completion-ignore-case)) + ;; ;; Common case. + ;; (length most) + ;; Else, use try-completion. + (let ((comps-prefix (try-completion "" comps))) + (and (stringp comps-prefix) + (length comps-prefix)))) ;;) prospects most-is-exact comp limit) (if (eq most-try t) ;; (or (null (cdr comps)) (setq prospects nil) (while (and comps (not limit)) (setq comp - (if (and prefix-len (<= prefix-len (length (car comps)))) - (substring (car comps) prefix-len) - (car comps)) + (if prefix-len (substring (car comps) prefix-len) (car comps)) comps (cdr comps)) (cond ((string-equal comp "") (setq most-is-exact t)) ((member comp prospects)) ------------------------------------------------------------ revno: 107394 committer: Glenn Morris branch nick: trunk timestamp: Thu 2012-02-23 00:32:18 -0800 message: Checked mini.texi * doc/emacs/mini.texi (Minibuffer File, Completion Options, Repetition): Copyedits. (Completion Example): Other M-x au* commands may be defined. (Completion Styles): Mention emacs21 and completion-category-overrides. * lisp/minibuffer.el (completion-category-overrides): Doc fix. * admin/FOR-RELEASE: Related markup. diff: === modified file 'admin/FOR-RELEASE' --- admin/FOR-RELEASE 2012-02-23 05:36:08 +0000 +++ admin/FOR-RELEASE 2012-02-23 08:32:18 +0000 @@ -151,7 +151,7 @@ macos.texi rgm (can't actually test any of it though) maintaining.texi cyd mark.texi cyd -mini.texi +mini.texi rgm misc.texi cyd modes.texi cyd msdog.texi rgm (can't actually test any of it though) === modified file 'doc/emacs/ChangeLog' --- doc/emacs/ChangeLog 2012-02-23 05:36:08 +0000 +++ doc/emacs/ChangeLog 2012-02-23 08:32:18 +0000 @@ -1,5 +1,10 @@ 2012-02-23 Glenn Morris + * mini.texi (Minibuffer File, Completion Options, Repetition): + Copyedits. + (Completion Example): Other M-x au* commands may be defined. + (Completion Styles): Mention emacs21 and completion-category-overrides. + * msdog.texi (Text and Binary, ls in Lisp, Windows HOME) (Windows Keyboard, Windows Mouse, Windows Processes) (Windows Printing, Windows Misc): Copyedits. === modified file 'doc/emacs/mini.texi' --- doc/emacs/mini.texi 2012-02-10 07:44:39 +0000 +++ doc/emacs/mini.texi 2012-02-23 08:32:18 +0000 @@ -58,11 +58,11 @@ directory}. For example, it may start out like this: @example -Find File: /u2/emacs/src/ +Find file: /u2/emacs/src/ @end example @noindent -Here, @samp{Find File:@: } is the prompt and @samp{/u2/emacs/src/} is +Here, @samp{Find file:@: } is the prompt and @samp{/u2/emacs/src/} is the default directory. If you now type @kbd{buffer.c} as input, that specifies the file @file{/u2/emacs/src/buffer.c}. @xref{File Names}, for information about the default directory. @@ -79,7 +79,7 @@ For example, you can specify @file{/etc/termcap} as follows: @example -Find File: /u2/emacs/src//etc/termcap +Find file: /u2/emacs/src//etc/termcap @end example @noindent @@ -247,7 +247,10 @@ completion alternatives (in this case, command names) that start with @samp{au}. There are several, including @code{auto-fill-mode} and @code{autoconf-mode}, but they all begin with @code{auto}, so the -@samp{au} in the minibuffer completes to @samp{auto}. +@samp{au} in the minibuffer completes to @samp{auto}. (More commands +may be defined in your Emacs session. For example, if a command +called @code{authorize-me} was defined, Emacs could only complete +as far as @samp{aut}.) If you type @key{TAB} again immediately, it cannot determine the next character; it could be @samp{-}, @samp{a}, or @samp{c}. So it @@ -385,7 +388,7 @@ @item @dfn{Permissive completion with confirmation} is like permissive completion, with an exception: if you typed @key{TAB} and this -completed the text up to some intermediate state (i.e. one that is not +completed the text up to some intermediate state (i.e., one that is not yet an exact completion match), typing @key{RET} right afterward does not submit the argument. Instead, Emacs asks for confirmation by momentarily displaying @samp{[Confirm]} after the text; type @key{RET} @@ -450,8 +453,7 @@ @item emacs22 This completion style is similar to @code{basic}, except that it ignores the text in the minibuffer after point. It is so-named -because it corresponds to the completion behavior in Emacs 22 and -earlier. +because it corresponds to the completion behavior in Emacs 22. @end table @noindent @@ -476,6 +478,18 @@ matches @samp{lch} to @samp{list-command-history}. @end table +@noindent +There is also a very simple completion style called @code{emacs21}. +In this style, if the text in the minibuffer is @samp{foobar}, +only matches starting with @samp{foobar} are considered. + +@vindex completion-category-overrides +You can use different completion styles in different situations, +by setting the variable @code{completion-category-overrides}. +For example, the default setting says to use only @code{basic} +and @code{substring} completion for buffer names. + + @node Completion Options @subsection Completion Options @@ -521,7 +535,7 @@ @kbd{?} to display the list. If the value is @code{lazy}, Emacs only shows the completion list buffer on the second attempt to complete. In other words, if there is nothing to complete, the first @key{TAB} -echoes @samp{Next char not unique}; the second @key{TAB} does the +echoes @samp{Next char not unique}; the second @key{TAB} shows the completion list buffer. @vindex completion-cycle-threshold @@ -688,7 +702,7 @@ @vindex command-history The list of previous minibuffer-using commands is stored as a Lisp list in the variable @code{command-history}. Each element is a Lisp -expression which describes one command and its arguments. Lisp programs +expression that describes one command and its arguments. Lisp programs can re-execute a command by calling @code{eval} with the @code{command-history} element. === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-02-23 08:13:48 +0000 +++ lisp/ChangeLog 2012-02-23 08:32:18 +0000 @@ -3,6 +3,10 @@ * emacs-lisp/lisp.el (beginning-of-defun-raw): Don't call end-of-defun when it might call us back infinitely (bug#10797). +2012-02-23 Glenn Morris + + * minibuffer.el (completion-category-overrides): Doc fix. + 2012-02-23 Stefan Monnier * minibuffer.el (completion-table-with-context): Fix inf-loop. === modified file 'lisp/minibuffer.el' --- lisp/minibuffer.el 2012-02-23 04:38:29 +0000 +++ lisp/minibuffer.el 2012-02-23 08:32:18 +0000 @@ -510,7 +510,9 @@ Each override has the shape (CATEGORY . ALIST) where ALIST is an association list that can specify properties such as: - `styles': the list of `completion-styles' to use for that category. -- `cycle': the `completion-cycle-threshold' to use for that category." +- `cycle': the `completion-cycle-threshold' to use for that category. +Categories are symbols such as `buffer' and `file', used when +completing buffer and file names, respectively." :version "24.1" :type `(alist :key-type (choice :tag "Category" (const buffer) ------------------------------------------------------------ revno: 107393 fixes bug(s): http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10797 author: Dmitry Gutov committer: Stefan Monnier branch nick: trunk timestamp: Thu 2012-02-23 03:13:48 -0500 message: * lisp/emacs-lisp/lisp.el (beginning-of-defun-raw): Don't call end-of-defun when it might call us back infinitely. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-02-23 04:38:29 +0000 +++ lisp/ChangeLog 2012-02-23 08:13:48 +0000 @@ -1,3 +1,8 @@ +2012-02-23 Dmitry Gutov + + * emacs-lisp/lisp.el (beginning-of-defun-raw): Don't call end-of-defun + when it might call us back infinitely (bug#10797). + 2012-02-23 Stefan Monnier * minibuffer.el (completion-table-with-context): Fix inf-loop. === modified file 'lisp/emacs-lisp/lisp.el' --- lisp/emacs-lisp/lisp.el 2012-01-19 07:21:25 +0000 +++ lisp/emacs-lisp/lisp.el 2012-02-23 08:13:48 +0000 @@ -257,9 +257,8 @@ (if (> arg 0) (dotimes (i arg) (funcall beginning-of-defun-function)) - ;; Better not call end-of-defun-function directly, in case - ;; it's not defined. - (end-of-defun (- arg)))))) + (dotimes (i (- arg)) + (funcall end-of-defun-function)))))) ((or defun-prompt-regexp open-paren-in-column-0-is-defun-start) (and (< arg 0) (not (eobp)) (forward-char 1)) ------------------------------------------------------------ revno: 107392 author: Dani Moncayo committer: Stefan Monnier branch nick: trunk timestamp: Thu 2012-02-23 02:52:08 -0500 message: * nt/makefile.w32-in (maybe-copy-distfiles-SH): Fix typo. diff: === modified file 'nt/ChangeLog' --- nt/ChangeLog 2012-02-09 07:48:22 +0000 +++ nt/ChangeLog 2012-02-23 07:52:08 +0000 @@ -1,3 +1,7 @@ +2012-02-23 Dani Moncayo (tiny change) + + * makefile.w32-in (maybe-copy-distfiles-SH): Fix typo. + 2012-02-06 Christoph Scholtes * README.W32: Removed specific version information for libXpm @@ -13,7 +17,7 @@ * makefile.w32-in (maybe-copy-distfiles) (maybe-copy-distfiles-CMD, maybe-copy-distfiles-SH) - (create-tmp-dist-dir): Added to make --distfiles optional. + (create-tmp-dist-dir): Add to make --distfiles optional. (dist): Use create-tmp-dist-dir and maybe-copy-distfiles. (Bug#10261) 2012-02-04 Eli Zaretskii @@ -149,8 +153,8 @@ A new ESC_USER_CFLAGS variable is written to config.settings. This variable has the same value as the escusercflags variable. - * gmake.defs, nmake.defs: Added the variable ESC_CFLAGS. This - variable is identical to the CFLAGS variable except that it + * gmake.defs, nmake.defs: Added the variable ESC_CFLAGS. + This variable is identical to the CFLAGS variable except that it includes the new ESC_USER_CFLAGS variable instead of USER_CFLAGS. These changes, along with some changes to src/makefile.w32-in, @@ -195,8 +199,7 @@ 2011-04-28 Eli Zaretskii - * gmake.defs (ARCH): Fix error message in case of unknown - architecture. + * gmake.defs (ARCH): Fix error message in case of unknown architecture. 2011-04-27 Eli Zaretskii @@ -227,8 +230,8 @@ * configure.bat: Modified the code that parses the --cflags and --ldflags options to support parameters that include the = - character as long as they are enclosed in quotes. This - functionality depends on command extensions. Configure.bat now + character as long as they are enclosed in quotes. + This functionality depends on command extensions. Configure.bat now attempts to enable command extensions and displays a warning message if they could not be enabled. If configure.bat could not enable command extensions the old parsing code is used that @@ -756,8 +759,8 @@ Ignore return status. * configure.bat (dontCopy): Rename admin/unidata/Makefile to keep - it out of the way of Windows generated file. Generate - admin/unidata/makefile. + it out of the way of Windows generated file. + Generate admin/unidata/makefile. * makefile.w32-in (unidatagen-nmake, unidatagen-clean-nmake) (unidatagen-CMD, unidatagen-clean-CMD, unidatagen-SH) @@ -956,8 +959,8 @@ * gmake.defs: Export XMFLAGS. - * makefile.w32-in (all-other-dirs-nmake, recompile-nmake): Don't - use $(XMFLAGS) for nmake, as it doesn't support parallelism. + * makefile.w32-in (all-other-dirs-nmake, recompile-nmake): + Don't use $(XMFLAGS) for nmake, as it doesn't support parallelism. 2006-12-22 Eli Zaretskii @@ -1541,8 +1544,8 @@ * README: Update info about compilers. * makefile.w32-in: Use $(MAKETYPE) instead of $(SHELLTYPE) to - select correct rule for invoking make in another directory. Amend - rules accordingly. + select correct rule for invoking make in another directory. + Amend rules accordingly. (clean): Delete $(COMPILER_TEMP_FILES) instead of *.pdb. * nmake.defs (EMACS_ICON_PATH): Delete definition. @@ -1785,7 +1788,7 @@ 1999-01-31 Andrew Innes - * addsection.c (ROUND_UP_DST_AND_ZERO): Renamed from + * addsection.c (ROUND_UP_DST_AND_ZERO): Rename from ROUND_UP_DST. Zeroes the alignment slop. (copy_executable_and_add_section): Update the SizeOfHeaders field properly. @@ -2127,7 +2130,7 @@ 1995-06-09 Geoff Voelker * emacs.bat.in: Renamed from emacs.bat. - (emacs_dir): Renamed from emacs_path. + (emacs_dir): Rename from emacs_path. Definition removed. * addpm.c: New file. @@ -2189,7 +2192,7 @@ 1995-04-09 Geoff Voelker - * makefile.def (INSTALL_DIR): Changed to generic directory. + * makefile.def (INSTALL_DIR): Change to generic directory. * emacs.bat: Added arguments when emacs.exe invoked. === modified file 'nt/makefile.w32-in' --- nt/makefile.w32-in 2012-02-05 20:14:54 +0000 +++ nt/makefile.w32-in 2012-02-23 07:52:08 +0000 @@ -264,7 +264,7 @@ maybe-copy-distfiles-SH: doit @if [ ! $(ARGQUOTE)$(DIST_FILES)$(ARGQUOTE)=="" ] ; then \ - $(CP_DIR) $(DIST_FILES) $(TMP_DIST_DIR)/bin + $(CP_DIR) $(DIST_FILES) $(TMP_DIST_DIR)/bin ; \ fi create-tmp-dist-dir: