scroll-down and partially-visible lines.
In GNU Emacs 22.0.50.3 (i686-pc-linux-gnu, GTK+ Version 2.6.2) of 2005-02-14 on dugong Distributor `The XFree86 Project, Inc', version 11.0.4031 configured using `configure '--with-gtk'' Important settings: value of $LC_ALL: nil value of $LC_COLLATE: nil value of $LC_CTYPE: nil value of $LC_MESSAGES: nil value of $LC_MONETARY: nil value of $LC_NUMERIC: nil value of $LC_TIME: nil value of $LANG: nil locale-coding-system: nil default-enable-multibyte-characters: t I see a problem with scroll-down and partially-visible lines which can be triggered in view-mode. Run `emacs -q' and evaluate: (progn (set-face-attribute 'modeline nil :family "helv") (find-file (expand-file-name "NEWS" data-directory)) (set-buffer "NEWS") (goto-char (point-max)) (view-mode 1) (split-window)) Now recenter point at the bottom of the window with `M-- C-l' and scroll backward one line with `y' (or C-u 1 M-v). The cursor is displayed momentarily on a partially-visible line, and then point is recentered, its value being the same. (When there is no possibility of partially-visible lines, point moves up one line and remains on the last line of the window.) Hence, pressing y over and over can mean you go round in circles (providing a redisplay happens for the situation detailed above). Note that when the window isn't split, if point is on a partially-visible line the recentering doesn't occur, and point moves up two lines after every second one-line scroll. Thanks. Matt ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: scroll-down and partially-visible lines.
> Kim F Storm writes: > > Now recenter point at the bottom of the window with `M-- C-l' and > > scroll backward one line with `y' (or C-u 1 M-v). The cursor is > > displayed momentarily on a partially-visible line, and then point > > is recentered, its value being the same. > I know what's wrong -- try this and repeat your test: > M-x blink-cursor-mode RET While it's true that blink-cursor-mode changes the behaviour of the test case, I came across the problem in my day-to-day usage of Emacs, where I have (blink-cursor-mode 0). I haven't worked out the minimum configuration to reproduce this though... > I'll look at fixing this. Thanks. ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: scroll-down and partially-visible lines.
> Kim F Storm writes: > > While it's true that blink-cursor-mode changes the behaviour of > > the test case, I came across the problem in my day-to-day usage > > of Emacs, where I have (blink-cursor-mode 0). I haven't worked > > out the minimum configuration to reproduce this though... > It might happen for other async events like accepting process > output. Another fairly-minimal setup that triggers the problem here is: emacs -Q (not -q) and: (progn (set-face-attribute 'modeline nil :box nil :family "helv") (set-frame-font "-xos4-Terminus-Medium-R-Normal--20-200-72-72-C-100-ISO8859-1") (find-file (expand-file-name "NEWS" data-directory)) (set-buffer "NEWS") (goto-char (point-max)) (blink-cursor-mode 0) (view-mode 1) (scroll-bar-mode 1) (split-window)) I have to enable the scroll bars (GTK build), which I don't usually use. Thanks. ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: scroll-down and partially-visible lines.
> Kim F Storm writes: > > I know what's wrong -- try this and repeat your test: > > > > M-x blink-cursor-mode RET > > > > I'll look at fixing this. > I installed a fix for this which should also cover cases when > blink-cursor-mode is off. The latest code fixes the first scenario I sent, but not the second. Thanks for working on this. Matt ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: scroll-down and partially-visible lines.
> Kim F Storm writes: > I have installed another patch which should avoid the partially > visible cursor altogether -- although I cannot specifically > reproduce your bug, I think it will fix it. Looks good here after initial testing. Thanks, Matt ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
diary-redraw-calendar clobbers point in diary-file buffer.
In GNU Emacs 22.0.50.8 (i686-pc-linux-gnu, GTK+ Version 2.6.2) of 2005-03-04 on dugong Distributor `The XFree86 Project, Inc', version 11.0.4031 configured using `configure '--with-gtk'' Recent code has added diary-redraw-calendar to write-contents-functions in the buffer associated with diary-file. However, this function doesn't preserve point, and it gets clobbered in mark-diary-entries (provided mark-diary-entries-in-calendar is non-nil, of course). Suggested patch attached. Thanks. Index: lisp/calendar/diary-lib.el === RCS file: /cvsroot/emacs/emacs/lisp/calendar/diary-lib.el,v retrieving revision 1.89 diff -u -r1.89 diary-lib.el --- lisp/calendar/diary-lib.el 1 Mar 2005 10:23:58 - 1.89 +++ lisp/calendar/diary-lib.el 8 Mar 2005 15:47:49 - @@ -1653,8 +1653,9 @@ (defun diary-redraw-calendar () "If `calendar-buffer' is live and diary entries are marked, redraw it." - (and mark-diary-entries-in-calendar - (redraw-calendar)) + (save-excursion +(and mark-diary-entries-in-calendar + (redraw-calendar))) ;; Return value suitable for `write-contents-functions'. nil) Index: lisp/ChangeLog === RCS file: /cvsroot/emacs/emacs/lisp/ChangeLog,v retrieving revision 1.7069 diff -u -r1.7069 ChangeLog --- lisp/ChangeLog 8 Mar 2005 11:14:00 - 1.7069 +++ lisp/ChangeLog 8 Mar 2005 15:47:50 - @@ -1,3 +1,8 @@ +2005-03-08 Matt Hodges <[EMAIL PROTECTED]> + + * calendar/diary-lib.el (diary-redraw-calendar): Preserve point in + diary-file buffer. + 2005-03-08 Kenichi Handa <[EMAIL PROTECTED]> * international/ccl.el (define-ccl-program): Fix docstring about ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: diary-redraw-calendar clobbers point in diary-file buffer.
> Glenn Morris writes: > > Recent code has added diary-redraw-calendar to > > write-contents-functions in the buffer associated with diary-file. > > However, this function doesn't preserve point, and it gets clobbered > > in mark-diary-entries (provided mark-diary-entries-in-calendar is > > non-nil, of course). > > > > Suggested patch attached. > Thanks - I put the save-excursion in redraw-calendar itself. For > some reason I though with-current-buffer would preserve point. Thanks. Now I see the problem reported by Frederik Fouvry: Debugger entered--Lisp error: (wrong-type-argument number-or-marker-p nil) <=(1 nil) (and (<= 1 month) (<= month 12) (<= 1 day) (<= day (calendar-last-day-of-month month year)) (<= 1 year)) (let ((month ...) (day ...) (year ...)) (and (<= 1 month) (<= month 12) (<= 1 day) (<= day ...) (<= 1 year))) calendar-date-is-legal-p(nil) (if (calendar-date-is-legal-p date) (save-excursion (set-buffer calendar-buffer) (calendar-cursor-to-visible-date date) (let ... ...))) mark-visible-calendar-date(nil calendar-today-face) calendar-mark-today() run-hooks(today-visible-calendar-hook) (if today-visible (run-hooks (quote today-visible-calendar-hook)) (run-hooks (quote today-invisible-calendar-hook))) (unwind-protect (if mark-diary-entries-in-calendar (mark-diary-entries)) (if today-visible (run-hooks ...) (run-hooks ...))) (let* ((buffer-read-only nil) (today ...) (month ...) (day ...) (year ...) (today-visible ...) (day-in-week ...) (in-calendar-window ...)) (update-calendar-mode-line) (if mon (generate-calendar mon yr) (generate-calendar month year)) (calendar-cursor-to-visible-date (if today-visible today ...)) (set-buffer-modified-p nil) (when in-calendar-window (if ... ... ...) (sit-for 0)) (if (and ... font-lock-mode) (font-lock-fontify-buffer)) (and mark-holidays-in-calendar (mark-calendar-holidays) (and in-calendar-window ...)) (unwind-protect (if mark-diary-entries-in-calendar ...) (if today-visible ... ...))) generate-calendar-window(3 2005) (let ((cursor-date ...)) (generate-calendar-window displayed-month displayed-year) (calendar-cursor-to-visible-date cursor-date)) (save-current-buffer (set-buffer calendar-buffer) (let (...) (generate-calendar-window displayed-month displayed-year) (calendar-cursor-to-visible-date cursor-date))) (with-current-buffer calendar-buffer (let (...) (generate-calendar-window displayed-month displayed-year) (calendar-cursor-to-visible-date cursor-date))) (save-excursion (with-current-buffer calendar-buffer (let ... ... ...))) (if (get-buffer calendar-buffer) (save-excursion (with-current-buffer calendar-buffer ...))) redraw-calendar() call-interactively(redraw-calendar) ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: diary-redraw-calendar clobbers point in diary-file buffer.
> Glenn Morris writes: > Thanks - I put the save-excursion in redraw-calendar itself. For > some reason I though with-current-buffer would preserve point. This save-excursion can't do anything meaningful to preserve point in the calendar buffer can it? (I mean because the calendar buffer contents are erased in generate-calendar.) The calendar buffer will be current when redraw-calendar is called from mark-diary-entries. Now, if I do `emacs -Q -f calendar' and C-c C-l, point moves to (point-min). Thanks, Matt ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: diary-redraw-calendar clobbers point in diary-file buffer.
> Glenn Morris writes: > > This save-excursion can't do anything meaningful to preserve > > point in the calendar buffer can it? > No, it's complete rubbish! As you and Stefan pointed (ahem) out, > I'm saving point in the calling buffer, not the calendar. Being > extra dim this week, sorry. > But I don't understand what's going on here. > The final calendar-cursor-to-visible-date in redraw-calendar should > mean that no saving of point is necessary (once the save-excursion > is deleted completely, that only messes things up). As Johan Bockgård points out, "The buffer's point and the window's point (cursor) aren't necessarily the same thing." Anyway, I've briefly tested the attached patch (including your calendar-redrawing stuff), and it seems OK, so far. Thanks, Matt cvs diff: Diffing . Index: cal-move.el === RCS file: /cvsroot/emacs/emacs/lisp/calendar/cal-move.el,v retrieving revision 1.9 diff -u -r1.9 cal-move.el --- cal-move.el 1 Sep 2003 15:45:19 - 1.9 +++ cal-move.el 10 Mar 2005 10:40:19 - @@ -311,8 +311,9 @@ (* 3 (mod (- (calendar-day-of-week date) calendar-week-start-day) - 7)) - + 7) + (point)) + (defun calendar-goto-date (date) "Move cursor to DATE." (interactive (list (calendar-read-date))) Index: calendar.el === RCS file: /cvsroot/emacs/emacs/lisp/calendar/calendar.el,v retrieving revision 1.163 diff -u -r1.163 calendar.el --- calendar.el 9 Mar 2005 00:28:22 - 1.163 +++ calendar.el 10 Mar 2005 10:40:19 - @@ -2150,15 +2150,24 @@ (forward-line 1 t) +(defvar calendar-redrawing nil + "Internal calendar variable, non-nil if inside redraw-calendar.") + (defun redraw-calendar () "Redraw the calendar display, if `calendar-buffer' is live." (interactive) (if (get-buffer calendar-buffer) - (save-excursion + (let (posn window) (with-current-buffer calendar-buffer - (let ((cursor-date (calendar-cursor-to-nearest-date))) + (let ((cursor-date (calendar-cursor-to-nearest-date)) +(calendar-redrawing t)) (generate-calendar-window displayed-month displayed-year) -(calendar-cursor-to-visible-date cursor-date)) +(calendar-cursor-to-visible-date cursor-date)) + (setq posn (point))) +(setq window (get-buffer-window calendar-buffer)) + (when (and window + (not (eq window (selected-window + (set-window-point window posn) ;;;###autoload (defcustom calendar-week-start-day 0 Index: diary-lib.el === RCS file: /cvsroot/emacs/emacs/lisp/calendar/diary-lib.el,v retrieving revision 1.90 diff -u -r1.90 diary-lib.el --- diary-lib.el 9 Mar 2005 00:29:14 - 1.90 +++ diary-lib.el 10 Mar 2005 10:40:19 - @@ -846,7 +846,8 @@ ;; Avoid redrawing when called recursively, eg through ;; mark-diary-entries-hook for #include's, else only get ;; the last set of diary marks. - (not marking-diary-entries)) + (not marking-diary-entries) + (not calendar-redrawing)) (setq mark-diary-entries-in-calendar nil) (redraw-calendar)) (let ((marking-diary-entries t) @@ -1658,7 +1659,8 @@ (defun diary-redraw-calendar () "If `calendar-buffer' is live and diary entries are marked, redraw it." (and mark-diary-entries-in-calendar - (redraw-calendar)) + (save-excursion + (redraw-calendar))) ;; Return value suitable for `write-contents-functions'. nil) ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: diary-redraw-calendar clobbers point in diary-file buffer.
>>>>> Matt Hodges writes: > Anyway, I've briefly tested the attached patch (including your > calendar-redrawing stuff), and it seems OK, so far. The change to cal-move.el in that patch is extraneous. Sorry. ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Doc fixes for goto-line.
In GNU Emacs 22.0.50.10 (i686-pc-linux-gnu, GTK+ Version 2.6.2) of 2005-03-09 on dugong Distributor `The XFree86 Project, Inc', version 11.0.4031 configured using `configure '--with-gtk'' The attached patch fixes a typo in the goto-line documentation, changes C-u to \\[universal-argument] (is this correct?), and documents optional arg BUFFER (to keep checkdoc happy). Thanks. Matt Index: lisp/simple.el === RCS file: /cvsroot/emacs/emacs/lisp/simple.el,v retrieving revision 1.696 diff -u -r1.696 simple.el --- lisp/simple.el 7 Mar 2005 11:12:31 - 1.696 +++ lisp/simple.el 10 Mar 2005 16:24:37 - @@ -735,9 +735,10 @@ (defun goto-line (arg &optional buffer) "Goto line ARG, counting from line 1 at beginning of buffer. -Normally, move point in the curren buffer. -With just C-u as argument, move point in the most recently displayed -other buffer, and switch to it. +Normally, move point in the current buffer. +With just \\[universal-argument] as argument, move point in the most recently displayed +other buffer, and switch to it. When called from Lisp code, the +optional argument BUFFER may be used to specify a buffer. If there's a number in the buffer at point, it is the default for ARG." (interactive Index: lisp/ChangeLog === RCS file: /cvsroot/emacs/emacs/lisp/ChangeLog,v retrieving revision 1.7082 diff -u -r1.7082 ChangeLog --- lisp/ChangeLog 10 Mar 2005 14:45:31 - 1.7082 +++ lisp/ChangeLog 10 Mar 2005 16:24:37 - @@ -1,3 +1,7 @@ +2005-03-10 Matt Hodges <[EMAIL PROTECTED]> + + * simple.el (goto-line): Doc fixes. + 2005-03-10 Stefan Monnier <[EMAIL PROTECTED]> * tooltip.el (tooltip-mode): Don't complain that you can't turn the ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: diary-redraw-calendar clobbers point in diary-file buffer.
> Glenn Morris writes: > OK, so when generate-calendar erases the calendar buffer, window > point gets set to 1 and never moves back. You explictly set it back > to the cursor-date position. Isn't this purely cosmetic though? Yes, this is what I was trying to fix with the patch. > I don't see how it could ever cause a bug of the recently reported > kind. All lisp commands will use the buffer point rather than the > window point. Someone would have to select the calendar window > part-way through an operation for this to cause a problem. I don't > see any instance in calendar.el that could do that. I don't see this bug any more. > And (trivially) what if the calendar window is in a different > frame, or there is more than one calendar window? Indeed these are situations that you may want to consider and cater for. It would be easy to sync all the relevant window points, if this is thought best. > This function is only called when the diary is saved after, eg, "i > d". So I also don't see how this function could have caused any > kind of bug at calendar start-up. Agreed. But some mechanism is still required to stop point being clobbered in the diary-file buffer when saving, and write-contents-functions contains diary-redraw-calendar. Thanks, Matt ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
pcvs and smerge-ediff autoload.
In GNU Emacs 22.0.50.11 (i686-pc-linux-gnu, GTK+ Version 2.6.2) of 2005-03-11 on dugong Distributor `The XFree86 Project, Inc', version 11.0.4031 configured using `configure '--with-gtk'' With emacs -Q, smerge-ediff is fully documented, and can be invoked interactively. After loading pcvs, it is undocumented, and cannot be invoked interactively. This is a minor irritation, since smerge-mode now has to be loaded by hand before interactive use of smerge-ediff. I presume this is the result of: (eval-and-compile (autoload 'smerge-ediff "smerge-mode")) in pcvs.el, and that adding a non-nil INTERACTIVE arg would be one way to fix this. Thanks, Matt ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: diary-redraw-calendar clobbers point in diary-file buffer.
> Glenn Morris writes: > > But some mechanism is still required to stop point being > > clobbered in the diary-file buffer when saving, and > > write-contents-functions contains diary-redraw-calendar. [...] > I have finally installed the patch you recommended all along, to > solve the issue you were talking about. Thanks, Glenn. Something is still needed to set the window point(s) when not calling redraw-calendar from calendar-buffer? Something like the attached, perhaps. --- calendar.el 16 Mar 2005 13:46:14 + 1.165 +++ calendar.el 16 Mar 2005 14:21:08 + @@ -2153,11 +2153,19 @@ (defun redraw-calendar () "Redraw the calendar display, if `calendar-buffer' is live." (interactive) - (if (get-buffer calendar-buffer) - (with-current-buffer calendar-buffer + (let ((buffer (get-buffer calendar-buffer)) +posn) +(when buffer + (with-current-buffer buffer (let ((cursor-date (calendar-cursor-to-nearest-date))) (generate-calendar-window displayed-month displayed-year) - (calendar-cursor-to-visible-date cursor-date) + (calendar-cursor-to-visible-date cursor-date) + (setq posn (point + ;; Sync point in all calendar windows + (walk-windows (lambda (w) + (when (eq (window-buffer w) buffer) +(set-window-point w posn))) +nil t ;;;###autoload (defcustom calendar-week-start-day 0 ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: diary-redraw-calendar clobbers point in diary-file buffer.
>>>>> Matt Hodges writes: > Thanks, Glenn. Something is still needed to set the window > point(s) when not calling redraw-calendar from calendar-buffer? > Something like the attached, perhaps. Which I should have tested, since I now see that the motion commands don't call redraw-calendar, and you may want these commands to do something similar with the window points... ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Regexp search problem.
In GNU Emacs 22.0.50.13 (i686-pc-linux-gnu, GTK+ Version 2.6.2) of 2005-03-16 on dugong Distributor `The XFree86 Project, Inc', version 11.0.4031 configured using `configure '--with-gtk'' An incremental regexp search starting with `*' (i.e., C-M-s *) causes an error: Debugger entered--Lisp error: (wrong-type-argument arrayp nil) isearch-fallback(nil) isearch-*-char() call-interactively(isearch-*-char) I know not quoting the special character isn't best practice, but it shouldn't cause an error. The same problem occurs for C-M-s ?. Thanks, Matt ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: Regexp search problem.
> Juri Linkov writes: > > An incremental regexp search starting with `*' (i.e., C-M-s *) > > causes an error > Thanks for the report. This is quite an old bug and is fixed now. Thanks for the fix. Works here... ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
repeat and pre/post-command-hook.
In GNU Emacs 22.0.50.26 (i686-pc-linux-gnu, GTK+ Version 2.6.4) of 2005-04-07 on dugong Distributor `The XFree86 Project, Inc', version 11.0.4031 configured using `configure '--with-gtk'' Using repeat (C-x z z z) doesn't take account of pre-command-hook and post-command-hook. To demonstrate this, activate hl-line-mode and try something like C-p C-x z z z. During the repeats, the highlighted line doesn't move. Simply running these hooks in repeat fixes this example at least, though I don't know if this could cause problems in other cases. (Note that an additional pre/post hook will get run for each C-x z z z ... sequence relative to repeating the command by hand the same number of times.) Thanks, Matt --- repeat.el 01 Sep 2003 16:45:14 +0100 1.14 +++ repeat.el 12 Apr 2005 13:07:41 +0100 @@ -284,7 +284,9 @@ ;; does not alter it. (let ((real-last-command real-last-command)) (execute-kbd-macro real-last-command)) - (call-interactively real-last-command) +(run-hooks 'pre-command-hook) + (call-interactively real-last-command) +(run-hooks 'post-command-hook) (when repeat-repeat-char ;; A simple recursion here gets into trouble with max-lisp-eval-depth ;; on long sequences of repetitions of a command like `forward-word' ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
occur and read-only text.
In GNU Emacs 22.0.50.37 (i686-pc-linux-gnu, GTK+ Version 2.6.4) of 2005-04-30 on dugong Distributor `The XFree86 Project, Inc', version 11.0.4031 configured using `configure '--with-gtk'' Important settings: value of $LC_ALL: nil value of $LC_COLLATE: nil value of $LC_CTYPE: nil value of $LC_MESSAGES: nil value of $LC_MONETARY: nil value of $LC_NUMERIC: nil value of $LC_TIME: nil value of $LANG: nil locale-coding-system: nil default-enable-multibyte-characters: t When there are read-only text properties in a buffer, occur fails with "Text is read-only". If no *Occur* buffer exists before the call, the failure is in occur-engine when it adds text properties; otherwise the failure is in occur-1 when erase-buffer is called. Suggested patch attached, which also marks the *Occur* buffer as unmodified (cf Emacs 21). Thanks, Matt Index: lisp/replace.el === RCS file: /cvsroot/emacs/emacs/lisp/replace.el,v retrieving revision 1.208 diff -u -r1.208 replace.el --- lisp/replace.el 18 Mar 2005 09:59:45 - 1.208 +++ lisp/replace.el 5 May 2005 14:19:18 - @@ -977,32 +977,33 @@ (setq occur-buf (get-buffer-create buf-name)) (with-current-buffer occur-buf - (setq buffer-read-only nil) (occur-mode) - (erase-buffer) - (let ((count (occur-engine - regexp active-bufs occur-buf - (or nlines list-matching-lines-default-context-lines) - (and case-fold-search - (isearch-no-upper-case-p regexp t)) - list-matching-lines-buffer-name-face - nil list-matching-lines-face t))) - (let* ((bufcount (length active-bufs)) - (diff (- (length bufs) bufcount))) - (message "Searched %d buffer%s%s; %s match%s for `%s'" - bufcount (if (= bufcount 1) "" "s") - (if (zerop diff) "" (format " (%d killed)" diff)) - (if (zerop count) "no" (format "%d" count)) - (if (= count 1) "" "es") - regexp)) - (setq occur-revert-arguments (list regexp nlines bufs) - buffer-read-only t) - (if (> count 0) - (progn - (display-buffer occur-buf) - (setq next-error-last-buffer occur-buf)) - (kill-buffer occur-buf))) - (run-hooks 'occur-hook + (let ((inhibit-read-only t)) + (erase-buffer) + (let ((count (occur-engine + regexp active-bufs occur-buf + (or nlines list-matching-lines-default-context-lines) + (and case-fold-search + (isearch-no-upper-case-p regexp t)) + list-matching-lines-buffer-name-face + nil list-matching-lines-face t))) + (let* ((bufcount (length active-bufs)) + (diff (- (length bufs) bufcount))) + (message "Searched %d buffer%s%s; %s match%s for `%s'" + bufcount (if (= bufcount 1) "" "s") + (if (zerop diff) "" (format " (%d killed)" diff)) + (if (zerop count) "no" (format "%d" count)) + (if (= count 1) "" "es") + regexp)) + (setq occur-revert-arguments (list regexp nlines bufs)) + (if (> count 0) + (progn + (display-buffer occur-buf) + (setq next-error-last-buffer occur-buf)) + (kill-buffer occur-buf))) + (run-hooks 'occur-hook)) + (setq buffer-read-only t) + (set-buffer-modified-p nil (defun occur-engine-add-prefix (lines) (mapcar @@ -1013,7 +1014,6 @@ (defun occur-engine (regexp buffers out-buf nlines case-fold-search title-face prefix-face match-face keep-props) (with-current-buffer out-buf -(setq buffer-read-only nil) (let ((globalcount 0) (coding nil)) ;; Map over all the buffers Index: lisp/ChangeLog === RCS file: /cvsroot/emacs/emacs/lisp/ChangeLog,v retrieving revision 1.7446 diff -u -r1.7446 ChangeLog --- lisp/ChangeLog 5 May 2005 11:04:51 - 1.7446 +++ lisp/ChangeLog 5 May 2005 14:19:21 - @@ -1,3 +1,11 @@ +2005-05-05 Matt Hodges <[EMAIL PROTECTED]> + + * replace.el (occur-1): Bind inhibit-read-only so that + erase-buffer doesn't barf on read-only text properties (likewise + for add-text-properties in occur-engine). Mark buffer as + unmodified. + (occur-engine): Don't set buffer-read-only here. + 2005-05-05 Juanma Barranquero <[EMAIL PROTECTED]> * emacs-lisp/byte-run.el (define-obsolete-function-alias): Fix ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
tmm and enabled menus.
In GNU Emacs 22.0.50.41 (i686-pc-linux-gnu, GTK+ Version 2.6.4) of 2005-05-11 on dugong Distributor `The XFree86 Project, Inc', version 11.0.4031 configured using `configure '--with-gtk'' When using tmm-menubar, tmm-get-keymap checks for the menu-enable property, but doesn't check for menus and menu items made inactive through the :enable keyword. A proposed patch to fix this is attached. I also noticed that the documentation for easy-menu-define says that for menus, :include is an alias for :visible; I think this should be :included. For menu items, :visible is supported but not mentioned, so unless there is a reason for this difference, maybe the documentation describing the menu and menu item keywords should be made equivalent in this respect. Thanks, Matt Index: lisp/emacs-lisp/easymenu.el === RCS file: /cvsroot/emacs/emacs/lisp/emacs-lisp/easymenu.el,v retrieving revision 1.72 diff -u -r1.72 easymenu.el --- lisp/emacs-lisp/easymenu.el 23 Apr 2005 16:38:03 - 1.72 +++ lisp/emacs-lisp/easymenu.el 13 May 2005 13:53:03 - @@ -65,7 +65,7 @@ :visible INCLUDE INCLUDE is an expression; this menu is only visible if this -expression has a non-nil value. `:include' is an alias for `:visible'. +expression has a non-nil value. `:included' is an alias for `:visible'. :active ENABLE @@ -110,10 +110,10 @@ ENABLE is an expression; the item is enabled for selection whenever this expression's value is non-nil. - :included INCLUDE + :visible INCLUDE INCLUDE is an expression; this item is only visible if this -expression has a non-nil value. +expression has a non-nil value. `:included' is an alias for `:visible'. :suffix FORM Index: lisp/tmm.el === RCS file: /cvsroot/emacs/emacs/lisp/tmm.el,v retrieving revision 1.39 diff -u -r1.39 tmm.el --- lisp/tmm.el 1 Sep 2003 15:45:17 - 1.39 +++ lisp/tmm.el 13 May 2005 13:53:03 - @@ -395,7 +395,7 @@ `x-popup-menu' argument (when IN-X-MENU is not-nil). This function adds the element only if it is not already present. It uses the free variable `tmm-table-undef' to keep undefined keys." - (let (km str cache plist filter visible (event (car elt))) + (let (km str cache plist filter visible enable (event (car elt))) (setq elt (cdr elt)) (if (eq elt 'undefined) (setq tmm-table-undef (cons (cons event nil) tmm-table-undef)) @@ -436,6 +436,9 @@ (setq visible (plist-get plist :visible)) (if visible (setq km (and (eval visible) km))) + (setq enable (plist-get plist :enable)) + (if enable + (setq km (and (eval enable) km))) (and str (consp (nth 3 elt)) (stringp (cdr (nth 3 elt))) ; keyseq cache Index: lisp/ChangeLog === RCS file: /cvsroot/emacs/emacs/lisp/ChangeLog,v retrieving revision 1.7499 diff -u -r1.7499 ChangeLog --- lisp/ChangeLog 13 May 2005 08:52:08 - 1.7499 +++ lisp/ChangeLog 13 May 2005 13:53:05 - @@ -1,3 +1,10 @@ +2005-05-13 Matt Hodges <[EMAIL PROTECTED]> + + * tmm.el (tmm-get-keymap): Include only active menus and menu + items. + + * emacs-lisp/easymenu.el (easy-menu-define): Doc fixes. + 2005-05-13 YAMAMOTO Mitsuharu <[EMAIL PROTECTED]> * term/mac-win.el (mac-select-convert-to-string): Try coding ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: tmm and enabled menus.
> Richard Stallman writes: > > When using tmm-menubar, tmm-get-keymap checks for the menu-enable > > property, but doesn't check for menus and menu items made > > inactive through the :enable keyword. A proposed patch to fix > > this is attached. > These changes look right to me, more or less. I see you've > implemented :enabled as equivalent to :visible. Maybe that is the > best thing in practice, but nominally it is supposed to control > whether you can select the item, not whether it appears in the > menu. Would it work ok as a user interface if we followed that > definition on ttys too? I know this is different from normal menu behaviour, but the change is consistent with how the menu-enable property was already implemented. On ttys, reducing clutter may be more important than presenting a consistent interface. Thanks. ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
tmm and separators.
In GNU Emacs 22.0.50.45 (i686-pc-linux-gnu, GTK+ Version 2.6.4) of 2005-05-17 on dugong Distributor `The XFree86 Project, Inc', version 11.0.4031 configured using `configure '--with-gtk'' Several packages (table.el and cal-menu.el) add menu separators in ways that cause tmm to add completion entries for them. Suggested patch attached. ChangeLog entry: 2005-05-17 Matt Hodges <[EMAIL PROTECTED]> * calendar/cal-menu.el (cal-menu-update): Add separator as a string so that tmm doesn't create a completion entry for it. * textmodes/table.el (table-disable-menu): Ditto. Index: lisp/textmodes/table.el === RCS file: /cvsroot/emacs/emacs/lisp/textmodes/table.el,v retrieving revision 1.13 diff -u -r1.13 table.el --- lisp/textmodes/table.el 8 Apr 2005 14:26:12 - 1.13 +++ lisp/textmodes/table.el 17 May 2005 14:35:43 - @@ -1271,7 +1271,7 @@ (if (featurep 'xemacs) (progn (easy-menu-add-item nil '("Tools") table-global-menu-map)) -(easy-menu-add-item (current-global-map) '("menu-bar" "tools") '("--")) +(easy-menu-add-item (current-global-map) '("menu-bar" "tools") "--") (easy-menu-add-item (current-global-map) '("menu-bar" "tools") table-global-menu-map))) ; Index: lisp/calendar/cal-menu.el === RCS file: /cvsroot/emacs/emacs/lisp/calendar/cal-menu.el,v retrieving revision 1.56 diff -u -r1.56 cal-menu.el --- lisp/calendar/cal-menu.el 26 Mar 2005 15:54:29 - 1.56 +++ lisp/calendar/cal-menu.el 17 May 2005 14:35:43 - @@ -221,7 +221,7 @@ l))) (setq l (cons ["Mark Holidays" mark-calendar-holidays t] (cons ["Unmark Calendar" calendar-unmark t] -(cons ["--" '("--") t] l +(cons "--" l (define-key calendar-mode-map [menu-bar Holidays] (cons "Holidays" (easy-menu-create-menu "Holidays" (nreverse l (define-key calendar-mode-map [menu-bar Holidays separator] ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: tmm and enabled menus.
> Richard Stallman writes: > On ttys, reducing clutter may be more important than presenting > a consistent interface. > That may be the right argument. I don't have a feel for what is > best here. I made some quick changes to test inclusion of inactive entries in text menus. For what it's worth, I didn't find the extra entries distracting. Others may disagree. If anyone is interested in trying it out, I've attached a patch. This may not be the cleanest implementation, but it works as far as I have tested it. The menus should now look something like this: n==>New File... (C-x C-f) o==>Open Recent O==>Open File... d==>Open Directory... (C-x d) i==>Insert File... (C-x i)c==>Close (current buffer) ---Save (current buffer) (C-x C-s) s==>Save Buffer As... (C-x C-w)---Revert Buffer r==>Recover Crashed Sessionp==>Print Buffer ---Print Region P==>Postscript Print Buffer ---Postscript Print Region0==>Postscript Print Buffer (B+W) ---Postscript Print Region (B+W) a==>a2ps () S==>Split Window (C-x 2) ---Unsplit Windows (C-x 1) N==>New Frame (C-x 5 2) f==>New Frame on Display... D==>Delete Frame (C-x 5 0)e==>Exit Emacs (C-x C-c) Thanks. Index: tmm.el === RCS file: /cvsroot/emacs/emacs/lisp/tmm.el,v retrieving revision 1.40 diff -u -r1.40 tmm.el --- tmm.el 13 May 2005 23:23:42 - 1.40 +++ tmm.el 16 May 2005 12:42:55 - @@ -193,7 +193,14 @@ (eq (car-safe (cdr (car tail))) 'menu-item))) (setq index-of-default (1+ index-of-default))) (setq tail (cdr tail) - (setq history (reverse (mapcar 'car tmm-km-list))) + (let ((prompt (concat "^." (regexp-quote tmm-mid-prompt + (setq history + (reverse (delq nil +(mapcar + (lambda (elt) + (if (string-match prompt (car elt)) + (car elt))) + tmm-km-list) (setq history-len (length history)) (setq history (append history history history history)) (setq tmm-c-prompt (nth (- history-len 1 index-of-default) history)) @@ -259,37 +266,44 @@ (defsubst tmm-add-one-shortcut (elt) ;; uses the free vars tmm-next-shortcut-digit and tmm-short-cuts - (let* ((str (car elt)) -(paren (string-match "(" str)) -(pos 0) (word 0) char) -(catch 'done; ??? is this slow? - (while (and (or (not tmm-shortcut-words) ; no limit on words - (< word tmm-shortcut-words)) ; try n words - (setq pos (string-match "\\w+" str pos)) ; get next word - (not (and paren (> pos paren ; don't go past "(binding.." -(if (or (= pos 0) -(/= (aref str (1- pos)) ?.)) ; avoid file extensions -(let ((shortcut-style - (if (listp tmm-shortcut-style) ; convert to list - tmm-shortcut-style - (list tmm-shortcut-style - (while shortcut-style ; try upcase and downcase variants -(setq char (funcall (car shortcut-style) (aref str pos))) -(if (not (memq char tmm-short-cuts)) (throw 'done char)) -(setq shortcut-style (cdr shortcut-style) -(setq word (1+ word)) -(setq pos (match-end 0))) - (while (<= tmm-next-shortcut-digit ?9) ; no letter shortcut, pick a digit -(setq char tmm-next-shortcut-digit) -(setq tmm-next-shortcut-digit (1+ tmm-next-shortcut-digit)) -(if (not (memq char tmm-short-cuts)) (throw 'done char))) - (setq char nil)) -(if char (setq tmm-short-cuts (cons char tmm-short-cuts))) -(cons (concat (if char (concat (char-to-string char) tmm-mid-prompt) -;; keep them lined up in columns -(make-string (1+ (length tmm-mid-prompt)) ?\ )) - str) - (cdr elt + (cond + ((eq (cddr elt) 'ignore) +(setcar elt (concat " " + (make-string (length tmm-mid-prompt) ?\-) +(car elt))) +elt) + (t +(let* ((str (car elt)) + (paren (string-match "(" str)) + (pos 0) (word 0) char) + (catch 'done ; ??? is this slow? +(while (and (or (not tmm-shortcut-words) ; no limit on words +(< word tmm-shortcut-words)) ; try n words +(setq pos (string-match "\\w+" str pos)) ; get next word +(not (and paren (> pos paren ; don't go past "(binding.." + (if (or (= pos 0) + (/= (aref str (1- pos)) ?.)) ; avoid file extensions +
Re: tmm and enabled menus.
> Nick Roberts writes: > > I am interested in hearing what others here think about that > > question. > I've tried it and it seems to work. I think it would be even > clearer without the hyphens: I tried without hyphens first, but found their addition clarified things for me when there are long entries that span the two columns. [...] > The nonselectable items, are still selectable from the completions > buffer with mouse-1 or . They just do nothing and return to > the original buffer. I guess this is consistent with clicking on a > nonselectable menu-item but in this case its clearer that you > haven't selected anything because the relief of the menu-item > doesn't raise when the mouse is over it. Might it be better/is it > possible to make clicking with mouse-1 or typing over these > items do absolutely nothing in text mode i.e keep the completions > buffer intact (and perhaps echo "No completions here" in the > mini-buffer), just like in the preamble? I have written some code that removes the mouse-face property for inactive entries, and adds a face inherited from font-lock-comment-face; see attached. I think this does what you want regarding selection. > Overall I think this an improvement, more consistent and worth > installing. Thanks for testing. Index: lisp/tmm.el === RCS file: /cvsroot/emacs/emacs/lisp/tmm.el,v retrieving revision 1.40 diff -u -r1.40 tmm.el --- lisp/tmm.el 13 May 2005 23:23:42 - 1.40 +++ lisp/tmm.el 18 May 2005 09:47:50 - @@ -133,6 +133,12 @@ :type '(choice integer (const nil)) :group 'tmm) +(require 'font-lock) +(defface tmm-inactive-face + '((t :inherit font-lock-comment-face)) + "Face used for inactive menu items." + :group 'tmm) + ;;;###autoload (defun tmm-prompt (menu &optional in-popup default-item) "Text-mode emulation of calling the bindings in keymap. @@ -193,7 +199,14 @@ (eq (car-safe (cdr (car tail))) 'menu-item))) (setq index-of-default (1+ index-of-default))) (setq tail (cdr tail) - (setq history (reverse (mapcar 'car tmm-km-list))) + (let ((prompt (concat "^." (regexp-quote tmm-mid-prompt + (setq history + (reverse (delq nil +(mapcar + (lambda (elt) + (if (string-match prompt (car elt)) + (car elt))) + tmm-km-list) (setq history-len (length history)) (setq history (append history history history history)) (setq tmm-c-prompt (nth (- history-len 1 index-of-default) history)) @@ -259,37 +272,43 @@ (defsubst tmm-add-one-shortcut (elt) ;; uses the free vars tmm-next-shortcut-digit and tmm-short-cuts - (let* ((str (car elt)) -(paren (string-match "(" str)) -(pos 0) (word 0) char) -(catch 'done; ??? is this slow? - (while (and (or (not tmm-shortcut-words) ; no limit on words - (< word tmm-shortcut-words)) ; try n words - (setq pos (string-match "\\w+" str pos)) ; get next word - (not (and paren (> pos paren ; don't go past "(binding.." -(if (or (= pos 0) -(/= (aref str (1- pos)) ?.)) ; avoid file extensions -(let ((shortcut-style - (if (listp tmm-shortcut-style) ; convert to list - tmm-shortcut-style - (list tmm-shortcut-style - (while shortcut-style ; try upcase and downcase variants -(setq char (funcall (car shortcut-style) (aref str pos))) -(if (not (memq char tmm-short-cuts)) (throw 'done char)) -(setq shortcut-style (cdr shortcut-style) -(setq word (1+ word)) -(setq pos (match-end 0))) - (while (<= tmm-next-shortcut-digit ?9) ; no letter shortcut, pick a digit -(setq char tmm-next-shortcut-digit) -(setq tmm-next-shortcut-digit (1+ tmm-next-shortcut-digit)) -(if (not (memq char tmm-short-cuts)) (throw 'done char))) - (setq char nil)) -(if char (setq tmm-short-cuts (cons char tmm-short-cuts))) -(cons (concat (if char (concat (char-to-string char) tmm-mid-prompt) -;; keep them lined up in columns -(make-string (1+ (length tmm-mid-prompt)) ?\ )) - str) - (cdr elt + (cond + ((eq (cddr elt) 'ignore) +(cons (concat " " (make-string (length tmm-mid-prompt) ?\-) + (car elt)) + (cdr elt))) + (t +(let* ((str (car elt)) + (paren (string-match "(" str)) + (pos 0) (word 0) char) + (catch 'done ; ??? is this slow? +(while (and (or (not tmm-shortcut-words) ; no limit on words +
Re: iswitchb and regexps.
> Michael Cadilhac writes: > With iswitchb-mode, C-x b, then hit C-t to enable regexp mode, and > then `['. > This gives me the following error message: Error in > post-command-hook: (invalid-regexp Unmatched [ or [^) then makes > buffer switching completely unusable until C-g. This is documented in the source: ;; Regexp matching ;; There is limited provision for regexp matching within iswitchb, ;; enabled through `iswitchb-regexp'. This allows you to type `c$' ;; for example and see all buffer names ending in `c'. This facility ;; is quite limited though in two respects. First, you can't ;; currently type in expressions like `[0-9]' directly -- you have to ;; type them in when iswitchb-regexp is nil and then toggle on the ;; regexp functionality. Likewise, don't enter an expression ;; containing `\' in regexp mode. If you try, iswitchb gets confused, ;; so just hit C-g and try again. Secondly, no completion mechanism ;; is currently offered when regexp searching. However, I think the error in post-command-hook should be handled. The attached patch shows how this might be done, but isn't a complete solution. Index: iswitchb.el === RCS file: /cvsroot/emacs/emacs/lisp/iswitchb.el,v retrieving revision 1.55 diff -u -r1.55 iswitchb.el --- iswitchb.el 22 Aug 2004 10:58:16 - 1.55 +++ iswitchb.el 22 May 2005 09:26:36 - @@ -889,22 +889,27 @@ (do-string (stringp (car list))) name ret) -(mapcar - (lambda (x) - - (if do-string - (setq name x) ;We already have the name - (setq name (buffer-name x))) - - (cond - ((and (or (and string-format (string-match regexp name)) - (and (null string-format) - (string-match (regexp-quote regexp) name))) - - (not (iswitchb-ignore-buffername-p name))) - (setq ret (cons name ret)) - ))) - list) +(catch 'invalid-regexp + (mapcar + (lambda (x) + + (if do-string + (setq name x) ;We already have the name + (setq name (buffer-name x))) + + (cond + ((and (or (and string-format + (condition-case error + (string-match regexp name) + (invalid-regexp +(throw 'invalid-regexp (setq ret (cdr error)) + (and (null string-format) + (string-match (regexp-quote regexp) name))) + + (not (iswitchb-ignore-buffername-p name))) + (setq ret (cons name ret)) + ))) + list)) ret)) (defun iswitchb-ignore-buffername-p (bufname) ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: tmm and enabled menus.
> Nick Roberts writes: > > I have written some code that removes the mouse-face property for > > inactive entries, and adds a face inherited from > > font-lock-comment-face; see attached. I think this does what you > > want regarding selection. > I prefer this behaviour for selection but I don't understand why > you have removed the mouse-face property. I can't see such > properties on a text terminal and in situations where I can, I > would be able to use the ordinary menu bar. These are removed so that if you go into the *Completions* buffer (with PgUp or M-v) and press RET on an inactive entry, you just get a "No completion here" message; choose-completion checks for a mouse-face property around point. Since this is not obvious, maybe a comment should be added. > +(defface tmm-inactive-face > + '((t :inherit font-lock-comment-face)) > + "Face used for inactive menu items." > + :group 'tmm) > font-lock-comment-face displays as ordinary text on a text terminal > now. I use a terminal with more than 16 colours, so didn't notice this. > Would it not be better to define tmm-active-face and make that > stand out? I thought it more natural to deal with the inactive entries, especially since the mouse-face can be removed at the same time. Thanks, Matt ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
ido and dired-other-window.
In GNU Emacs 22.0.50.17 (i686-pc-linux-gnu, GTK+ Version 2.6.8) of 2005-07-16 on dugong X server distributor `The X.Org Foundation', version 11.0.60802000 configured using `configure '--with-gtk'' It would be nice, with (ido-mode 1), to have C-x 4 d remapped to an ido-dired-other-window command. At the moment, dired-other-window and Ido don't seem to interact as expected (a `.' for the current directory is not presented as the first item in the prompt, and I don't see how to select the current directory). Thanks, Matt ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: ido and dired-other-window.
> Kim Storm writes: > > It would be nice, with (ido-mode 1), to have C-x 4 d remapped to > > an ido-dired-other-window command. At the moment, > > dired-other-window and Ido don't seem to interact as expected (a > > `.' for the current directory is not presented as the first item > > in the prompt, and I don't see how to select the current > > directory). > I assume that you have set ido-everywhere. Yes. > I installed a fix to make ido recognize dired-other-window. Works great. Thanks. ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Eldoc and move to beginning/end of line.
In GNU Emacs 22.0.50.23 (i686-pc-linux-gnu, GTK+ Version 2.6.8) of 2005-07-30 on dugong X server distributor `The X.Org Foundation', version 11.0.60802000 configured using `configure '--with-gtk'' Moving to the beginning/end of line with C-a/C-e doesn't update the printed Eldoc information. This used to work, but these key sequences are now bound to commands that don't get added to eldoc-message-commands via eldoc-add-command-completions. Commands that could be added include: move-{beginning,end}-of-line move-to-window-line exchange-point-and-mark mark-paragraph mark-page pop-global-mark Suggested patch attached; ChangeLog entry: 2005-08-07 Matt Hodges <[EMAIL PROTECTED]> * emacs-lisp/eldoc.el: Augment list of commands after which echo area is updated. Out of interest, is there a reason why / were not moved onto the new commands? key binding --- --- C-a move-beginning-of-line C-e move-end-of-line end-of-line beginning-of-line Thanks. Index: eldoc.el === RCS file: /cvsroot/emacs/emacs/lisp/emacs-lisp/eldoc.el,v retrieving revision 1.35 diff -u -r1.35 eldoc.el --- eldoc.el 6 Aug 2005 17:08:59 - 1.35 +++ eldoc.el 7 Aug 2005 08:13:41 - @@ -454,10 +454,11 @@ ;; Prime the command list. (eldoc-add-command-completions "backward-" "beginning-of-" "delete-other-windows" "delete-window" - "end-of-" "forward-" "indent-for-tab-command" "goto-" "mouse-set-point" - "next-" "other-window" "previous-" "recenter" "scroll-" - "self-insert-command" "split-window-" - "up-list" "down-list") + "end-of-" "exchange-point-and-mark" "forward-" + "indent-for-tab-command" "goto-" "mark-page" "mark-paragraph" + "mouse-set-point" "move-" "pop-global-mark" "next-" "other-window" + "previous-" "recenter" "scroll-" "self-insert-command" + "split-window-" "up-list" "down-list") (provide 'eldoc) ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
mouse-1-click-follows-link doc and custom spec.
In GNU Emacs 22.0.50.3 (i686-pc-linux-gnu, GTK+ Version 2.6.10) of 2005-10-08 on dugong X server distributor `The X.Org Foundation', version 11.0.60802000 configured using `configure '--with-gtk'' The default value of mouse-1-click-follows-link is 450 (milliseconds), but the documentation mentions 350 milliseconds, and the custom spec for type number has a value of 350. ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: Partial completion and completions-first-difference.
> Michael Cadilhac writes: > This is a bug that could take a while to fix ;-) > When in partial-completion-mode, if I try, say M-x > describe-function RET -function TAB the *Completion* buffer is > shown, but the letter in bold are not those which make a difference > for the completion. [...] > As this is an old bug, it could have been already discussed, if so, > sorry for the noise. There was a small fix to completion-setup-function to work with partial-completion-mode except for in the situation that you describe. There remains a comment in the source: ;; If partial-completion-mode is on, point might not be after the ;; last character in the minibuffer. ;; FIXME: This still doesn't work if the text to be completed ;; starts with a `-'. If partial completion happened before rather than after a leading `-' maybe that would fix the problem? Matt ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: Partial completion and completions-first-difference.
> Stefan Monnier writes: > > ;; If partial-completion-mode is on, point might not be after the > > ;; last character in the minibuffer. > > ;; FIXME: This still doesn't work if the text to be completed > > ;; starts with a `-'. > An easy fix is to turn off the boldening if partial-completion-mode > is ON and the string starts with a - (or maybe even turn it OFF > altogether whenever partial-completion-mode is ON). I don't mind the boldening with partial-completion-mode when it is correct. If fixing the incorrect case is easy, and someone has the time, maybe it should just be done. (I still don't understand if the behaviour of partial-completion-mode with a leading `-', i.e. completing after the hypen, is intended.) Thanks, Matt ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
table.el: beginning/end of line commands.
In GNU Emacs 22.0.50.22 (i686-pc-linux-gnu, GTK+ Version 2.6.10) of 2005-11-21 on escpc40 X server distributor `The X.Org Foundation', version 11.0.60802000 configured using `configure '--with-gtk'' table.el needs updating to reflect change of commands bound on C-a and C-e; patch attached. ChangeLog entry: 2005-11-22 Matt Hodges <[EMAIL PROTECTED]> * textmodes/table.el: Change beginning-of-line to move-beginning-of-line and end-of-line to move-end-of-line in Point Motion group. Thanks. Index: ChangeLog === RCS file: /cvsroot/emacs/emacs/lisp/ChangeLog,v retrieving revision 1.8642 diff -u -r1.8642 ChangeLog --- ChangeLog 22 Nov 2005 03:31:30 - 1.8642 +++ ChangeLog 22 Nov 2005 09:38:58 - @@ -1,3 +1,11 @@ +<<<<<<< ChangeLog +2005-11-22 Matt Hodges <[EMAIL PROTECTED]> + + * textmodes/table.el: Change beginning-of-line to + move-beginning-of-line and end-of-line to move-end-of-line in + Point Motion group. + +=== 2005-11-21 Luc Teirlinck <[EMAIL PROTECTED]> * startup.el (command-line): Make sure that loaddefs.el is handled @@ -15,6 +23,7 @@ * progmodes/sh-script.el (sh-font-lock-paren): Handle continued lines in patterns. +>>>>>>> 1.8642 2005-11-21 Juri Linkov <[EMAIL PROTECTED]> * custom.el (defcustom): Update link types in docstring. ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: table.el: beginning/end of line commands.
>>>>> Matt Hodges writes: For those who couldn't decipher that (no idea what happened there): table.el needs updating to reflect change of commands bound on C-a and C-e; patch attached. ChangeLog entry: 2005-11-22 Matt Hodges <[EMAIL PROTECTED]> * textmodes/table.el: Change beginning-of-line to move-beginning-of-line and end-of-line to move-end-of-line in Point Motion group. --- table.el 19 Aug 2005 18:56:23 +0100 1.21 +++ table.el 22 Nov 2005 20:25:40 + @@ -1396,8 +1396,8 @@ (setq table-command-remap-alist (cons (cons command func-symbol) table-command-remap-alist - '(beginning-of-line - end-of-line + '(move-beginning-of-line + move-end-of-line beginning-of-buffer end-of-buffer forward-word ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Ibuffer and Dired with list.
In GNU Emacs 22.0.50.26 (i686-pc-linux-gnu, GTK+ Version 2.6.10) of 2005-12-08 on escpc40 configured using `configure '--with-gtk'' I have a package that shows a list of files in various directories using Dired. Ibuffer throws an error when such a buffer exists, and filtering by filename. To reproduce: (dired '("/etc" "/etc/passwd" "/etc/group")) M-x ibuffer RET / f RET Backtrace with ibuffer.el and ibuf-ext.el loaded is: Debugger entered--Lisp error: (wrong-type-argument stringp ("/etc/" "/etc/passwd" "/etc/group")) expand-file-name(("/etc/" "/etc/passwd" "/etc/group")) (and (boundp (quote dired-directory)) (if (stringp dired-directory) dired-directory (car dired-directory)) (expand-file-name dired-directory)) (or buffer-file-name (and (boundp ...) (if ... dired-directory ...) (expand-file-name dired-directory))) (save-current-buffer (set-buffer buf) (or buffer-file-name (and ... ... ...))) (with-current-buffer buf (or buffer-file-name (and ... ... ...))) (let ((ibuffer-aif-sym ...)) (if ibuffer-aif-sym (let ... ...) (progn nil))) (ibuffer-aif (with-current-buffer buf (or buffer-file-name ...)) (progn (string-match qualifier it)) nil) (ibuffer-awhen (with-current-buffer buf (or buffer-file-name ...)) (string-match qualifier it)) (lambda (buf qualifier) (ibuffer-awhen (with-current-buffer buf ...) (string-match qualifier it)))(# "") funcall((lambda (buf qualifier) (ibuffer-awhen (with-current-buffer buf ...) (string-match qualifier it))) # "") (not (funcall (caddr filterdat) buf (cdr filter))) (not (not (funcall ... buf ...))) (let ((filterdat ...)) (unless filterdat (ibuffer-filter-disable) (error "Undefined filter %s" ...)) (not (not ...))) (cond ((eql ... ...) (memq t ...)) ((eql ... ...) (let ... ... ...)) (t (let ... ... ...))) (case (car filter) (or (memq t ...)) (saved (let ... ... ...)) (t (let ... ... ...))) (not (case (car filter) (or ...) (saved ...) (t ...))) (not (not (case ... ... ... ...))) ibuffer-included-in-filter-p-1(# (filename . "")) (if (eq (car filter) (quote not)) (not (ibuffer-included-in-filter-p-1 buf ...)) (ibuffer-included-in-filter-p-1 buf filter)) ibuffer-included-in-filter-p(# (filename . "")) (lambda (qual) (ibuffer-included-in-filter-p buf qual))((filename . "")) mapcar((lambda (qual) (ibuffer-included-in-filter-p buf qual)) ((filename . ""))) (memq nil (mapcar (function ...) filters)) (not (memq nil (mapcar ... filters))) ibuffer-included-in-filters-p(# ((filename . ""))) (or (ibuffer-included-in-filters-p buf ibuffer-filtering-qualifiers) (ibuffer-buf-matches-predicates buf ibuffer-always-show-predicates)) (and (not (or ... ...)) (or all (not ...)) (or ibuffer-view-ibuffer (and ibuffer-buf ...)) (or (ibuffer-included-in-filters-p buf ibuffer-filtering-qualifiers) (ibuffer-buf-matches-predicates buf ibuffer-always-show-predicates))) (or (ibuffer-buf-matches-predicates buf ibuffer-tmp-show-regexps) (and (not ...) (or all ...) (or ibuffer-view-ibuffer ...) (or ... ...))) ibuffer-ext-visible-p(# nil #) funcall(ibuffer-ext-visible-p # nil #) (or (and ibuffer-always-show-last-buffer (eq last buf)) (funcall (if ext-loaded ... ...) buf all ibuffer-buf)) (if (or (and ibuffer-always-show-last-buffer ...) (funcall ... buf all ibuffer-buf)) (progn e)) (when (or (and ibuffer-always-show-last-buffer ...) (funcall ... buf all ibuffer-buf)) e) (let* ((buf ...)) (when (or ... ...) e)) (lambda (e) (let* (...) (when ... e)))((# . 32)) mapcar((lambda (e) (let* (...) (when ... e))) ((# . 32) (# . 32) (# . 32) (# . 32) (# . 32) (# . 32) (# . 32) (# . 32) (# . 32) (# . 32) (# . 32) (# . 32) (# . 32))) (delq nil (mapcar (function ...) bmarklist)) (let ((ext-loaded ...)) (delq nil (mapcar ... bmarklist))) ibuffer-filter-buffers(# # ((# . 32) (# . 32) (# . 32) (# . 32) (# . 32) (# . 32) (# . 32) (# . 32) (# . 32) (# . 32) (# . 32) (# . 32) (# . 32)) nil) (let* ((bufs ...) (blist ...)) (when (null blist) (if ... ... ...)) (unless silent (message "Updating buffer list...")) (ibuffer-redisplay-engine blist arg) (ibuffer-update-mode-name) (unless silent (message "Updating buffer list...done"))) ibuffer-update(nil t) ibuffer-filter-by-filename("") call-interactively(ibuffer-filter-by-filename) Thanks, Matt ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
table-mode-indicator problem.
In GNU Emacs 22.0.50.11 (i686-pc-linux-gnu, GTK+ Version 2.8.10) of 2006-01-18 on escpc40 X server distributor `The X.Org Foundation', version 11.0.6090 configured using `configure '--with-gtk'' The unquoted variable in this form from table.el: (make-variable-buffer-local table-mode-indicator) leads to a "Symbol nil may not be buffer-local" error on loading. Thanks, Matt ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Problem with clone-indirect-buffer-other-window.
In GNU Emacs 22.0.50.16 (i686-pc-linux-gnu, GTK+ Version 2.8.10) of 2006-01-25 on escpc40 configured using `configure '--with-gtk'' clone-indirect-buffer-other-window results in the following error: Debugger entered--Lisp error: (wrong-type-argument stringp nil) clone-indirect-buffer-other-window(nil t) call-interactively(clone-indirect-buffer-other-window) Thanks, Matt ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
tramp and RCS files.
In GNU Emacs 22.0.50.17 (i686-pc-linux-gnu, GTK+ Version 2.8.10) of 2006-01-31 on escpc40 X server distributor `The X.Org Foundation', version 11.0.6090 configured using `configure '--with-gtk'' Important settings: value of $LC_ALL: nil value of $LC_COLLATE: nil value of $LC_CTYPE: nil value of $LC_MESSAGES: nil value of $LC_MONETARY: nil value of $LC_NUMERIC: nil value of $LC_TIME: nil value of $LANG: nil locale-coding-system: nil default-enable-multibyte-characters: t I tried to access via TRAMP a remote file that was under version control (RCS). I got an error like: Debugger entered--Lisp error: (wrong-type-argument number-or-marker-p "root") tramp-convert-file-attributes(nil "sudo" nil "" (nil 1 "root" "root" (17375 30202) (17375 30099) (17375 30118) 0 "-rw-r--r--" t (0 . 12064) -1)) tramp-handle-file-attributes("/sudo::/tmp/test" string) apply(tramp-handle-file-attributes ("/sudo::/tmp/test" string)) tramp-sh-file-name-handler(file-attributes "/sudo::/tmp/test" string) apply(tramp-sh-file-name-handler file-attributes ("/sudo::/tmp/test" string)) tramp-file-name-handler(file-attributes "/sudo::/tmp/test" string) file-attributes("/sudo::/tmp/test" string) vc-rcs-state-heuristic("/sudo::/tmp/test") apply(vc-rcs-state-heuristic "/sudo::/tmp/test") vc-call-backend(RCS state-heuristic "/sudo::/tmp/test") vc-state("/sudo::/tmp/test") vc-default-mode-line-string(RCS "/sudo::/tmp/test") apply(vc-default-mode-line-string RCS "/sudo::/tmp/test") vc-call-backend(RCS mode-line-string "/sudo::/tmp/test") vc-mode-line("/sudo::/tmp/test") vc-find-file-hook() run-hooks(find-file-hook) after-find-file(nil t) find-file-noselect-1(# "/sudo::/tmp/test" nil nil "/sudo::/tmp/test" ((0 . 12064) (-1 0))) find-file-noselect("/sudo::/tmp/test" nil nil nil) find-file("/sudo::/tmp/test") eval((find-file "/sudo::/tmp/test")) eval-last-sexp-1(nil) eval-last-sexp(nil) call-interactively(eval-last-sexp) To reproduce: (1) sudo touch /tmp/test (2) sudo rcs-checkin /tmp/test (3) emacs -Q (4) eval (find-file "/sudo::/tmp/test") Thanks, Matt ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
table.el and help-print-return-message.
In GNU Emacs 22.0.50.17 (i686-pc-linux-gnu, GTK+ Version 2.8.10) of 2006-01-31 on escpc40 X server distributor `The X.Org Foundation', version 11.0.6090 configured using `configure '--with-gtk'' In a table cell, C-h m leads to the following error: Debugger entered--Lisp error: (void-function help-print-return-message) help-print-return-message() *table--cell-describe-mode() call-interactively(*table--cell-describe-mode) C-h b leads to a similar error. The ChangeLog from 2006-01-18 includes: (*table--cell-describe-bindings, *table--cell-describe-mode): Avoid obsolete name print-help-return-message. I can't find reference to help-print-return-message in the sources (outside table.el). A local change or pending checkin? Thanks, Matt ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: tramp and RCS files.
> Michael Albinus writes: > > I tried to access via TRAMP a remote file that was under version > > control (RCS). I got an error like: > Should be fixed now in Emacs CVS. The fix works for me. Thanks. Matt ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
ido-insert-file doesn't set mark.
In GNU Emacs 22.0.50.17 (i686-pc-linux-gnu, GTK+ Version 2.8.10) of 2006-01-31 on escpc40 X server distributor `The X.Org Foundation', version 11.0.6090 configured using `configure '--with-gtk'' Unlike insert-file, ido-insert-file doesn't set the mark after the inserted text. I think it would be useful and more consistent if it did. Reproducible with emacs -Q, (ido-mode 1) and C-x i file RET. Thanks, Matt ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Scrolling completions with Eshell on terminal.
In GNU Emacs 22.0.50.34 (i686-pc-linux-gnu, GTK+ Version 2.8.13) of 2006-03-15 on escpc40 X server distributor `The X.Org Foundation', version 11.0.6090 configured using `configure '--with-gtk'' When running on a terminal the *Completions* buffer isn't scrolled when there are more completions than fit in the window and TAB is hit at an Eshell prompt multiple times. This seems to be because the: (event-matches-key-specifier-p event 'tab) test in pcomplete-show-completions returns nil on a terminal. (Actually, event-matches-key-specifier-p in just an alias for eq in GNU Emacs.) The attached patch fixes this for me, but may not be the best fix. Thanks, Matt --- pcomplete.el 07 Feb 2006 07:59:09 + 1.23 +++ pcomplete.el 17 Mar 2006 08:41:55 + @@ -978,7 +978,9 @@ (set-window-configuration pcomplete-last-window-config) (setq pcomplete-last-window-config nil) (throw 'done nil)) - ((event-matches-key-specifier-p event 'tab) + ((or (event-matches-key-specifier-p event 'tab) +;; Needed on a terminal +(event-matches-key-specifier-p event 9)) (save-selected-window (select-window (get-buffer-window "*Completions*")) (if (pos-visible-in-window-p (point-max)) ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: Scrolling completions with Eshell on terminal.
> Stefan Monnier writes: > Maybe you could use something like last-nonmenu-event instead so it > also works for people who use some other key. Although I'm not > sure it actually solves your problem (I can never remember which > events are "raw" and which have been translated through > function-key-map and friends). Do you mean like: --- pcomplete.el07 Feb 2006 07:59:09 + 1.23 +++ pcomplete.el22 Mar 2006 07:43:03 + @@ -978,7 +978,7 @@ (set-window-configuration pcomplete-last-window-config) (setq pcomplete-last-window-config nil) (throw 'done nil)) - ((event-matches-key-specifier-p event 'tab) + ((event-matches-key-specifier-p event last-nonmenu-event) (save-selected-window (select-window (get-buffer-window "*Completions*")) (if (pos-visible-in-window-p (point-max)) This could be a step in the right direction, although (1) it doesn't work when using pcomplete bound to a function key with -nw, and (2) it doesn't work under XEmacs. I doubt (1) would affect many people, but (2) should be addressed. Maybe something like: --- pcomplete.el07 Feb 2006 07:59:09 + 1.23 +++ pcomplete.el22 Mar 2006 08:03:26 + @@ -978,7 +978,9 @@ (set-window-configuration pcomplete-last-window-config) (setq pcomplete-last-window-config nil) (throw 'done nil)) - ((event-matches-key-specifier-p event 'tab) + ((if (eshell-under-xemacs-p) +(event-matches-key-specifier-p event 'tab) + (event-matches-key-specifier-p event last-nonmenu-event)) (save-selected-window (select-window (get-buffer-window "*Completions*")) (if (pos-visible-in-window-p (point-max)) Thanks, Matt ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: Please readd grep-tree
> Kim F. Storm writes: > It's not gone, just renamed -- and improved! Try M-x rgrep > There is also M-x lgrep which is like M-x grep but using the new > interface. There seems to be a typo in the docstring: --- grep.el 08 May 2006 09:13:49 +0100 1.56 +++ grep.el 08 May 2006 11:07:30 +0100 @@ -687,7 +687,7 @@ ;;;###autoload (defun rgrep (regexp &optional files dir) - "Recusively grep for REGEXP in FILES in directory tree rooted at DIR. + "Recursively grep for REGEXP in FILES in directory tree rooted at DIR. The search is limited to file names matching shell pattern FILES. FILES may use abbreviations defined in `grep-files-aliases', e.g. entering `ch' is equivalent to `*.[ch]'. ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Org mode and view-calendar-holidays-initially.
In GNU Emacs 22.0.50.49 (i686-pc-linux-gnu, GTK+ Version 2.8.17) of 2006-05-10 on escpc40 configured using `configure '--with-gtk'' With non-nil view-calendar-holidays-initially, org-schedule results in an error. This is reproducible with emacs -Q and: (load-library "org.el") (with-temp-buffer (org-mode) (let ((view-calendar-holidays-initially t)) (org-schedule))) which gives the following backtrace: Debugger entered--Lisp error: (void-variable displayed-month) calendar-cursor-to-date() (if (calendar-cursor-to-date) (progn (let* ... ...))) (when (calendar-cursor-to-date) (let* (... ...) (setq ans2 ...))) (let ((sw ...)) (select-window (get-buffer-window "*Calendar*")) (eval form) (when (calendar-cursor-to-date) (let* ... ...)) (org-move-overlay org-date-ovl (1- ...) (1+ ...) (current-buffer)) (select-window sw)) org-eval-in-calendar(nil) (save-window-excursion (calendar) (calendar-forward-day (- ... ...)) (org-eval-in-calendar nil) (let* (... ... ...) (define-key map ... ...) (define-key map ... ...) (define-key map ... ...) (define-key minibuffer-local-map [...] ...) (define-key minibuffer-local-map [...] ...) (define-key minibuffer-local-map [...] ...) (define-key minibuffer-local-map [...] ...) (define-key minibuffer-local-map [...] ...) (define-key minibuffer-local-map [...] ...) (define-key minibuffer-local-map ">" ...) (define-key minibuffer-local-map "<" ...) (unwind-protect ... ...))) (save-excursion (save-window-excursion (calendar) (calendar-forward-day ...) (org-eval-in-calendar nil) (let* ... ... ... ... ... ... ... ... ... ... ... ... ...))) (if org-popup-calendar-for-date-prompt (save-excursion (save-window-excursion ... ... ... ...)) (setq ans (read-string prompt "" nil timestr))) (let* ((org-time-stamp-rounding-minutes ...) (ct ...) (default-time ...) (calendar-move-hook nil) (view-diary-entries-initially nil) (timestr ...) (prompt ...) ans ans1 ans2 second minute hour day month year tl wday wday1) (if org-popup-calendar-for-date-prompt (save-excursion ...) (setq ans ...)) (org-detatch-overlay org-date-ovl) (if (string-match "^ *\\(\\([0-9]+\\)-\\)?\\([0-1]?[0-9]\\)-\\([0-3]?[0-9]\\)\\([^-0-9]\\|$\\)" ans) (progn ... ... ...)) (setq tl (parse-time-string ans) year (or ... ...) month (or ... ...) day (or ... ...) hour (or ... ...) minute (or ... ...) second (or ... 0) wday (nth 6 tl)) (when (and wday ...) (setq wday1 ...) (unless ... ...)) (if (and ... ...) (setq org-time-was-given t)) (if (< year 100) (setq year ...)) (if to-time (encode-time second minute hour day month year) (if ... ... ...))) org-read-date(nil to-time) (format-time-string (car org-time-stamp-formats) (org-read-date nil (quote to-time))) (insert org-scheduled-string " " (format-time-string (car org-time-stamp-formats) (org-read-date nil ...))) org-schedule() (let ((view-calendar-holidays-initially t)) (org-schedule)) (save-current-buffer (set-buffer temp-buffer) (org-mode) (let (...) (org-schedule))) (with-current-buffer temp-buffer (org-mode) (let (...) (org-schedule))) (unwind-protect (with-current-buffer temp-buffer (org-mode) (let ... ...)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))) (let ((temp-buffer ...)) (unwind-protect (with-current-buffer temp-buffer ... ...) (and ... ...))) (with-temp-buffer (org-mode) (let (...) (org-schedule))) (progn (load-library "org.el") (with-temp-buffer (org-mode) (let ... ...))) eval((progn (load-library "org.el") (with-temp-buffer (org-mode) (let ... ... eval-last-sexp-1(nil) eval-last-sexp(nil) call-interactively(eval-last-sexp) It looks like binding view-calendar-holidays-initially to nil in org-read-date (cf. view-diary-entries-initially) may be the right fix: --- org.el 24 Apr 2006 09:00:30 +0100 1.89 +++ org.el 10 May 2006 13:37:21 +0100 @@ -4348,6 +4348,7 @@ (parse-time-string (match-string 1 ct)) (calendar-move-hook nil) + (view-calendar-holidays-initially nil) (view-diary-entries-initially nil) (timestr (format-time-string (if with-time "%Y-%m-%d %H:%M" "%Y-%m-%d") default-time)) Thanks, Matt ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
tumme and killed dired buffer.
In GNU Emacs 22.0.50.81 (i686-pc-linux-gnu, GTK+ Version 2.8.18) of 2006-07-24 on escpc40 X server distributor `The X.Org Foundation', version 11.0.7000 configured using `configure '--with-gtk'' The attached patch has two quick fixes for when the tumme associated dired buffer is killed. Thanks, Matt Index: tumme.el === RCS file: /sources/emacs/emacs/lisp/tumme.el,v retrieving revision 1.39 diff -u -r1.39 tumme.el --- tumme.el 24 Jul 2006 16:27:01 - 1.39 +++ tumme.el 25 Jul 2006 09:18:52 - @@ -1009,7 +1009,7 @@ (let ((old-buf (current-buffer)) (dired-buf (tumme-associated-dired-buffer)) (file-name (tumme-original-file-name))) -(when (and dired-buf file-name) +(when (and (buffer-live-p dired-buf) file-name) (setq file-name (file-name-nondirectory file-name)) (set-buffer dired-buf) (goto-char (point-min)) @@ -1134,7 +1134,7 @@ (format-spec tumme-display-properties-format (list -(cons ?b buf) +(cons ?b (or buf "")) (cons ?f file) (cons ?t (or (princ props) "")) (cons ?c (or comment "") ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: tumme and killed dired buffer.
> Mathias Dahl writes: > Thanks, I'd never dream of killing the dired buffer where I keep > all (yes, all) my images, so I would never have found this :) Never expect others to use your packages as intended :-) > I applied the patch. Thanks. ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Header line and align-to.
In GNU Emacs 22.0.50.18 (i686-pc-linux-gnu, GTK+ Version 2.8.9) of 2006-08-13 on dugong X server distributor `The X.Org Foundation', version 11.0.60802000 configured using `configure '--with-gtk'' With: (setq header-line-format "foo") the header line (face) extends over the total width of the window including fringes. With either: (setq header-line-format (concat (propertize " " 'display `(space :align-to (+ left-fringe 10))) "foo")) or: (setq header-line-format (concat (propertize " " 'display `(space :align-to (+ left-margin 10))) "foo")) the header line starts after the left fringe (and a redisplay is needed to clear the header-line region above the left fringe). With: (set-window-margins nil 5 5) the alignments work the same, but the header line starts after the left margin; it does, however, extend above the right margin. Is it intended that in the above cases the header line doesn't appear across the whole window? Thanks, Matt ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: Header line and align-to.
> Kim F. Storm writes: >(setq header-line-format (concat " " (propertize " " 'display > `(space :align-to (+ left-fringe 10))) "foo")) OK. So I have to calculate what padding I need to fill out the left margin. (Slightly complicated by the fact that I use a variable-pitch face for the header-line face, but that's my problem.) Thanks, Matt ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: Header line and align-to.
> Kim F. Storm writes: > Why? Isn't the leading space enough to get good results? Maybe I misunderstood something. This is what I see with emacs -Q and (setq header-line-format (concat " " (propertize " " 'display `(space :align-to (+ left-fringe 10))) "foo")) Thanks, Matt ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: Header line and align-to.
> Kim F. Storm writes: > Ah yes, with the scroll-bar on the left, I see the same thing. > I'll look into it. Thanks. ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: Header line and align-to.
> Kim F. Storm writes: > > Maybe I misunderstood something. This is what I see with emacs -Q and > > > > (setq header-line-format > > (concat " " (propertize " " 'display `(space :align-to (+ > > left-fringe 10))) "foo")) > I found the problem, and have installed a fix. Thanks! Tested the fix, and it works for me. > Thanks for reporting it (and being so persistent!) No problem. Thanks again. Matt ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Reverting locate buffers.
In GNU Emacs 22.0.50.93 (i686-pc-linux-gnu, GTK+ Version 2.8.20) of 2006-09-01 on escpc40 X server distributor `The X.Org Foundation', version 11.0.7000 configured using `configure '--with-gtk'' Reverting Locate mode buffers (via locate-update) currently ignores filters from locate-with-filter. It also doesn't work with uniquely renamed buffers, or when locate has been called non-interactively (e.g., from eshell/locate) and locate-history-list and locate-grep-history-list aren't modified. The attached patch has suggested changes to address these issues. If suitable, a ChangeLog entry is: 2006-09-05 Matt Hodges <[EMAIL PROTECTED]> * locate.el (locate-current-search): New variable. (locate): Set buffer local value. Use current buffer if it is in Locate mode. (locate-mode): Disable undo here. (locate-do-setup): Use locate-current-filter from buffer to be killed. (locate-update): Use locate-current-search and locate-current-filter. Thanks, Matt --- locate.el 04 Jul 2006 11:11:38 +0100 1.37 +++ locate.el 05 Sep 2006 13:15:31 +0100 @@ -114,6 +114,7 @@ ;; Variables +(defvar locate-current-search nil) (defvar locate-current-filter nil) (defgroup locate nil @@ -289,29 +290,36 @@ (run-locate-command (or (and current-prefix-arg (not locate-prompt-for-command)) (and (not current-prefix-arg) locate-prompt-for-command))) + locate-buffer ) ;; Find the Locate buffer -(save-window-excursion - (set-buffer (get-buffer-create locate-buffer-name)) +(setq locate-buffer (if (eq major-mode 'locate-mode) +(current-buffer) + (get-buffer-create locate-buffer-name))) + +(save-excursion + (set-buffer locate-buffer) (locate-mode) + (let ((inhibit-read-only t) - (buffer-undo-list t)) - (erase-buffer) +(buffer-undo-list t)) +(erase-buffer) + +(set (make-local-variable 'locate-current-search) search-string) +(set (make-local-variable 'locate-current-filter) filter) + +(if run-locate-command +(shell-command search-string) + (apply 'call-process locate-cmd nil t nil locate-cmd-args)) + +(and filter + (locate-filter-output filter)) - (setq locate-current-filter filter) +(locate-do-setup search-string))) - (if run-locate-command - (shell-command search-string locate-buffer-name) - (apply 'call-process locate-cmd nil t nil locate-cmd-args)) - - (and filter - (locate-filter-output filter)) - - (locate-do-setup search-string) - )) -(and (not (string-equal (buffer-name) locate-buffer-name)) - (switch-to-buffer-other-window locate-buffer-name)) +(unless (eq (current-buffer) locate-buffer) + (switch-to-buffer-other-window locate-buffer)) (run-hooks 'dired-mode-hook) (dired-next-line 3) ;move to first matching file. @@ -461,6 +469,7 @@ default-directory "/" buffer-read-onlyt selective-display t) + (buffer-disable-undo) (dired-alist-add-1 default-directory (point-min-marker)) (set (make-local-variable 'dired-directory) "/") (set (make-local-variable 'dired-subdir-switches) locate-ls-subdir-switches) @@ -492,11 +501,12 @@ ;; Nothing returned from locate command? (and (eobp) (progn - (kill-buffer locate-buffer-name) - (if locate-current-filter - (error "Locate: no match for %s in database using filter %s" - search-string locate-current-filter) - (error "Locate: no match for %s in database" search-string + (let ((filter locate-current-filter)) ; local + (kill-buffer (current-buffer)) + (if filter + (error "Locate: no match for %s in database using filter %s" +search-string filter) + (error "Locate: no match for %s in database" search-string) (locate-insert-header search-string) @@ -580,15 +590,14 @@ "Revert the *Locate* buffer. If `locate-update-when-revert' is non-nil, offer to update the locate database using the shell command in `locate-update-command'." - (let ((str (car locate-history-list))) -(and locate-update-when-revert - (yes-or-no-p "Update locate database (may take a few seconds)? ") - ;; `expand-file-name' is used in order to autoload Tramp if - ;; necessary. It cannot be loaded when `default-directory' - ;; is remote. - (let ((default-directory (expand-file-name locate-update-path))) - (shell-command locate-update-command))) -(locate str))) + (and locate-update-when-revert + (yes-or-no-p "Update locate database (may take a few seconds)? ") + ;; `expand-file-name' is used in order to autoload Tramp
Problem with ido-mode and partial-completion-mode.
In GNU Emacs 22.0.50.101 (i686-pc-linux-gnu, GTK+ Version 2.8.20) of 2006-09-25 on escpc40 X server distributor `The X.Org Foundation', version 11.0.70101000 configured using `configure '--with-gtk'' Important settings: value of $LC_ALL: nil value of $LC_COLLATE: nil value of $LC_CTYPE: nil value of $LC_MESSAGES: nil value of $LC_MONETARY: nil value of $LC_NUMERIC: nil value of $LC_TIME: nil value of $LANG: nil locale-coding-system: nil default-enable-multibyte-characters: t With emacs -Q and eval: (progn (ido-mode 1) (ido-everywhere 1) (partial-completion-mode 1)) In *scratch* enter non-ascii character (e.g., C-q 2 0 0 SPC), and write file with C-x C-w (ido-write-file). After choosing a file name, if TAB is pressed for a list of coding systems, the following error is signalled: Debugger entered--Lisp error: (wrong-type-argument stringp nil) expand-file-name(nil) PC-do-completion(nil) PC-complete() call-interactively(PC-complete) read-coding-system("Select coding system (default mule-utf-8): " mule-utf-8) select-safe-coding-system-interactively(1 3 (utf-8 utf-16 utf-16 utf-16 utf-16be utf-16le raw-text emacs-mule no-conversion) (iso-latin-1) nil mule-utf-8) select-safe-coding-system(1 3 nil nil "/tmp/foo") write-region(1 3 "/tmp/foo" nil t "/tmp/foo") basic-save-buffer-2() basic-save-buffer-1() basic-save-buffer() save-buffer() write-file("/tmp/foo") ido-file-internal(write write-file nil "Write file: " nil nil ignore) ido-write-file() call-interactively(ido-write-file) This is because minibuffer-completing-file-name is still bound to t when write-file is called, and in particular the (funcall PC-completion-as-file-name-predicate) in PC-do-completion returns this value. Localising the binding of minibuffer-completing-file-name to ido-read-internal fixes the problem, but I don't know the code sufficiently well to know if this is the correct fix. Over to Kim... Thanks, Matt ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: Problem with ido-mode and partial-completion-mode.
> Kim F. Storm writes: > I see that (but only when forcing LANG to the null-string before > starting emacs). I can reproduce the problem with: LANG=en_GB > Close, but not quite. I have installed a proper fix. Thanks for > your report. Thanks. Matt ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
list-processes and process sentinels not run.
In GNU Emacs 22.0.50.3 (i686-pc-linux-gnu, GTK+ Version 2.8.20) of 2006-09-29 on saiga X server distributor `The X.Org Foundation', version 11.0.70101000 configured using `configure '--with-gtk'' If a process status changes to exit and list-processes is called without there being idle time, then the process is removed in list_processes_1: if (EQ (symbol, Qsignal) || EQ (symbol, Qexit)) remove_process (proc); and the process sentinel isn't run. This can be demonstrated with: (let ((proc (start-process "test-seq" nil "/bin/sleep" "0"))) (set-process-sentinel proc (lambda (proc msg) (message msg))) (while (delq nil (mapcar (lambda (p) (string-match "test-seq" (process-name p))) (process-list))) (list-processes))) but I think the same problem is responsible for my observation that process sentinels sometimes don't get run in an application I am developing. Admittedly, I only see the problem when there is a constant turnover of many concurrent short-lived processes, but maybe it is possible to reproduce with one process and an unfortunately-timed list-processes call. Is the fact that a process status can change, and the process sentinel not be run a bug? (If the above analysis is incorrect, and I have misunderstood something about processes and sentinels, then sorry.) Thanks, Matt ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: list-processes and process sentinels not run.
> Kim F. Storm writes: > > and the process sentinel isn't run. > Does the following patch solve the problem? Yes -- fixes both the test case and where I saw the problem initially. Thanks, Kim. Matt ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: image-mode: mom sideways
> Richard Stallman writes: > Image mode is neat (v on a .jpg in dired), but what about a r > key to rotate a image to vertical, and some other basic xli > keys. > If you give us the code, we will install it (after the release). I have some code that rotates images displayed in buffers, and does other image modifications. I use it mostly to resize images. It can be downloaded at: http://alioth.debian.org/download.php/1777/eimp-1.2.0.tar.gz or the latest CVS from: http://cvs.alioth.debian.org/cgi-bin/cvsweb.cgi/mph-emacs-pkgs/elisp/eimp.el?cvsroot=mph-emacs-pkgs It's not released in any formal sense, so don't expect a polished UI, for example. (I know nothing about xli.) Matt ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
ido and find-alternate-file.
In GNU Emacs 22.0.90.4 (i686-pc-linux-gnu, GTK+ Version 2.8.20) of 2006-11-14 on escpc40 X server distributor `The X.Org Foundation', version 11.0.70101000 configured using `configure '--with-gtk'' To align ido-find-alternate-file more closely with find-alternate-file, perhaps the current file name should be offered as a default. This would be particularly useful when using ido-edit-input. Suggested patch attached. Thanks, Matt --- ido.el 14 Nov 2006 11:32:55 + 1.114 +++ ido.el 16 Nov 2006 07:43:42 + @@ -2270,7 +2270,9 @@ (let ((minibuffer-completing-file-name t)) (setq filename (ido-read-internal item (or prompt "Find file: ") - 'ido-file-history nil nil initial + 'ido-file-history +(and (eq method 'alt-file) buffer-file-name) +nil initial ;; Choose the file name: either the text typed in, or the head ;; of the list of matches ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: ido and find-alternate-file.
> Kim F. Storm writes: > Very useful, thanks. I've installed the patch. Thanks. ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Org-mode agenda and category text-property.
In GNU Emacs 22.0.93.3 (i686-pc-linux-gnu, GTK+ Version 2.8.20) of 2007-02-09 on escpc40 X server distributor `The X.Org Foundation', version 11.0.70101000 configured using `configure '--with-gtk'' I tried to use `C-u C-x =' on some propertised text in an *Org Agenda* buffer (a TODO note), and this resulted in an error with the following backtrace: Debugger entered--Lisp error: (wrong-type-argument symbolp "Notes") symbol-name("Notes") describe-property-list((org-agenda-type agenda day 732718 fontified nil category "Notes" tags nil prefix-length 26 time-of-day nil dotime #("<2007-02-11 Sun>" 0 16 (fontified nil)) face org-warning org-not-done-regexp "\\<\\(TODO\\)\\>" mouse-face highlight keymap (keymap (mouse-3 . org-agenda-show-mouse) (mouse-2 . org-agenda-goto-mouse) (left . org-agenda-earlier) (right . org-agenda-later) (S-down . org-agenda-priority-down) (S-up . org-agenda-priority-up) (45 . org-agenda-priority-down) (88 . org-clock-cancel) (79 . org-clock-out) (73 . org-agenda-clock-in) (43 . org-agenda-priority-up) (72 . org-agenda-holidays) (104 . org-agenda-holidays) (83 . org-agenda-sunrise-sunset) (77 . org-agenda-phases-of-moon) (109 . org-agenda-phases-of-moon) (67 . org-agenda-convert-date) (99 . org-agenda-goto-calendar) (105 . org-agenda-diary-entry) (44 . org-agenda-priority) (16 . org-agenda-previous-date-line) (14 . org-agenda-next-date-line) (112 . previous-line) (110 . next-line) (84 . org-agenda-show-tags) (80 . org-agenda-show-priority) (115 . org-save-all-org-buffers) (120 . org-agenda-exit) (113 . org-agenda-quit) (114 . org-agenda-redo) (103 . org-agenda-toggle-time-grid) (68 . org-agenda-toggle-diary) (108 . org-agenda-log-mode) (102 . org-agenda-follow-mode) (48 . digit-argument) (57 . digit-argument) (56 . digit-argument) (55 . digit-argument) (54 . digit-argument) (53 . digit-argument) (52 . digit-argument) (51 . digit-argument) (50 . digit-argument) (49 . digit-argument) (62 . org-agenda-date-prompt) (S-left . org-agenda-date-earlier) (S-right . org-agenda-date-later) (119 . org-agenda-week-view) (100 . org-agenda-day-view) ...) help-echo "mouse-2 or RET jump to org file ~/Org/Notes.org" org-marker # org-hd-marker # undone-face org-warning done-face org-done priority 1100)) describe-text-properties-1(304 #) describe-text-properties(304 #) describe-char(304) what-cursor-position((4)) call-interactively(what-cursor-position) This is due to the `category' key with value "Notes", which trips up on symbol-name in describe-property-list: (cond ((eq key 'category) (insert-text-button (symbol-name value) Since category is documented as special: `category' If a character has a `category' property, we call it the "category" of the character. It should be a symbol. The properties of the symbol serve as defaults for the properties of the character. I guess it's an Org-mode bug. Thanks, Matt ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
C-u beginning/end-of-buffer.
In GNU Emacs 22.0.93.6 (i686-pc-linux-gnu, GTK+ Version 2.8.20) of 2007-02-19 on escpc40 X server distributor `The X.Org Foundation', version 11.0.70101000 configured using `configure '--with-gtk'' Both C-u M-< and C-u M-> have forward-line calls that check for arg but not (consp arg). Therefore, C-u M-< leaves point not at the beginning of the buffer, but from the docstring C-u is only supposed to affect whether the mark is set at the previous position. Thanks, Matt ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: patch for locate.el when called with prefix arg
> Chong Yidong writes: > Thanks. I've checked the patch in. (I see Luc made further changes.) There are still a few problems: (1) revert-buffer does not work in *Locate* buffers that result from C-u locate RET or C-u locate-with-filter RET. (2) While C-u locate RET gives the prompt "Run locate (like this): ", locate-with-filter gives the same prompt, "Locate: ", regardless of whether or not a prefix arg is used. The behaviour of C-u locate-with-filter is analogous to C-u locate (due to the value current-prefix-arg), but the use of a prefix arg is not documented for locate-with-filter. (All of this is also true for Emacs 21.) (FYI; not necessarily suggesting this is addressed before the release.) Thanks, Matt ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug