scroll-down and partially-visible lines.

2005-02-18 Thread Matt Hodges
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.

2005-02-18 Thread Matt Hodges
> 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.

2005-02-19 Thread Matt Hodges
> 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.

2005-02-20 Thread Matt Hodges
> 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.

2005-02-22 Thread Matt Hodges
> 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.

2005-03-08 Thread Matt Hodges
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.

2005-03-09 Thread Matt Hodges
> 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.

2005-03-09 Thread Matt Hodges
> 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.

2005-03-10 Thread Matt Hodges
> 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.

2005-03-10 Thread Matt Hodges
>>>>> 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.

2005-03-10 Thread Matt Hodges
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.

2005-03-11 Thread Matt Hodges
> 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.

2005-03-14 Thread Matt Hodges
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.

2005-03-16 Thread Matt Hodges
> 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.

2005-03-16 Thread Matt Hodges
>>>>> 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.

2005-03-17 Thread Matt Hodges
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.

2005-03-17 Thread Matt Hodges
> 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.

2005-04-12 Thread Matt Hodges
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.

2005-05-05 Thread Matt Hodges
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.

2005-05-13 Thread Matt Hodges
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.

2005-05-14 Thread Matt Hodges
> 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.

2005-05-17 Thread Matt Hodges
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.

2005-05-17 Thread Matt Hodges
> 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.

2005-05-18 Thread Matt Hodges
> 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.

2005-05-22 Thread Matt Hodges
> 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.

2005-06-01 Thread Matt Hodges
> 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.

2005-07-16 Thread Matt Hodges
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.

2005-07-17 Thread Matt Hodges
> 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.

2005-08-07 Thread Matt Hodges
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.

2005-10-16 Thread Matt Hodges
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.

2005-11-04 Thread Matt Hodges
> 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.

2005-11-07 Thread Matt Hodges
> 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.

2005-11-22 Thread Matt Hodges
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.

2005-11-22 Thread Matt Hodges
>>>>> 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.

2005-12-08 Thread Matt Hodges
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.

2006-01-19 Thread Matt Hodges
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.

2006-01-25 Thread Matt Hodges
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.

2006-01-31 Thread Matt Hodges
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.

2006-02-01 Thread Matt Hodges
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.

2006-02-02 Thread Matt Hodges
> 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.

2006-02-05 Thread Matt Hodges
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.

2006-03-20 Thread Matt Hodges
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.

2006-03-22 Thread Matt Hodges
> 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

2006-05-08 Thread Matt Hodges
> 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.

2006-05-10 Thread Matt Hodges
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.

2006-07-25 Thread Matt Hodges
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.

2006-07-25 Thread Matt Hodges
> 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.

2006-08-19 Thread Matt Hodges
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.

2006-08-20 Thread Matt Hodges
> 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.

2006-08-20 Thread Matt Hodges
> 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.

2006-08-21 Thread Matt Hodges
> 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.

2006-08-21 Thread Matt Hodges
> 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.

2006-09-05 Thread Matt Hodges
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.

2006-09-28 Thread Matt Hodges
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.

2006-09-29 Thread Matt Hodges
> 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.

2006-09-30 Thread Matt Hodges
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.

2006-10-01 Thread Matt Hodges
> 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

2006-10-09 Thread Matt Hodges
> 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.

2006-11-16 Thread Matt Hodges
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.

2006-11-16 Thread Matt Hodges
> 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.

2007-02-09 Thread Matt Hodges
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.

2007-02-19 Thread Matt Hodges
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

2007-04-21 Thread Matt Hodges
> 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