Re: Emacs 23.0.0.1 fails parsing gdb output
Stefan Monnier <[EMAIL PROTECTED]> writes: > + (if (case gud-gdb-annotations > +(2 nil) > +(nil (string-match "--annotate=3" command-line)) FWIW, this should be `((nil) ...)'. `nil' means an empty KEYLIST (which always fails). The manual says To make a clause that matches the actual symbol `t', `nil', or `otherwise', enclose the symbol in a list. Maybe a similar note should be added to the docstring. -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
set-window-vscroll can hang Emacs
This hangs Emacs emacs -Q -eval '(progn (setq scroll-conservatively 1) (set-window-vscroll nil 1))' ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
The `cl-functions' byte compiler warning doesn't work
The file names in `load-history' are absolute nowadays, but bytecomp.el expects relative names: (defun byte-compile-find-cl-functions () (unless byte-compile-cl-functions (dolist (elt load-history) (when (and (stringp (car elt)) (string-match "^cl\\>" (car elt))) [...] Also, there's a typo in the comment on line 101 of bytecomp.el. "cl-warnings" should be "cl-functions". -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: "Local variables list is not properly terminated"
martin rudalics <[EMAIL PROTECTED]> writes: >> ;; Declaring and initializing local variables: > >> -- Declaring and initializing local variables: > > These lines are problematic. You should remove the colons, at least, > otherwise Emacs will consider them as start of the local variables > section and search for its end. Or insert a ^L. The start of the local variables list must be no more than 3000 characters from the end of the file, and must be in the last page if the file is divided into pages. Otherwise, Emacs will not notice it is there. The purpose of this rule is so that a stray `Local Variables:' not in the last page does not confuse Emacs, and so that visiting a long file that is all one page and has no local variables list need not take the time to search the whole file. (info "(emacs)Specifying File Variables") -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: where-is-internal doc
Richard Stallman <[EMAIL PROTECTED]> writes: > Aside from updating the value returned by this call to > where-is-internal, is there something else that needs to be changed > in the manual? No, it's OK. -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
where-is-internal doc
In the manual, (info "(elisp)Scanning Keymaps"), there is an example (where-is-internal 'describe-function) => ("\^hf" "\^hd") but in reality the return value seems to always be a vector, in this case ([8 102] [f1 102] [help 102] [menu-bar help-menu describe describe-function]) (And the `C-h d' binding has been changed.) -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: \s description in NEWS
Stefan Monnier <[EMAIL PROTECTED]> writes: > We should also consider it as a bug (to fix in Emacs-23 only, of course): > since the super modifier \s-... is meaningless in a string, it should not > signal an error but be interpreted as " -...". rms already made that change... 2007-04-28 Richard Stallman <[EMAIL PROTECTED]> * lread.c (read_escape): In a string, \s is always space. -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
\s description in NEWS
NEWS has the text *** The escape sequence \s is now interpreted as a SPACE character. Exception: In a character constant, if it is followed by a `-' in a character constant (e.g. ?\s-A), it is still interpreted as the super modifier. In strings, \s is always interpreted as a space. The last sentence is not true; "\s-..." gives an "Invalid modifier" error. (Oh, and I just noticed that the text says "in a character constant" twice.) -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: dabbrev--eliminate-newlines
Richard Stallman <[EMAIL PROTECTED]> writes: > Does this patch fix it? There are still problems (but none that should delay the release! :). In dabbrev--substitute-expansion `(search-backward old)' might find the wrong place after the whichspace has been converted. Consider a buffer containing the text "1 2 3 " (that is 1 SPC SPC 2 SPC SPC SPC 3 SPC) Then at the end of the buffer, type 1 SPC SPC M-/ SPC M-/. The buffer now contains "1 2 3 1 2 3" (with the patch there is one space less before the 3) Press M-/ again: "1 2 2 1 2 3" ^ point Here OLD is " 3", and so `search-backward' moves too far. BTW, I wonder what kind of situation "Start searching at end of ABBREV so that any whitespace carried over from the existing text is not changed" refers to. -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
defface doc fix
It should be `default', not `:default' (the manual is correct). 2007-04-24 Johan Bockgård <[EMAIL PROTECTED]> * custom.el (defface): Doc fix. --- custom.el 22 Jan 2007 00:31:42 +0100 1.132 +++ custom.el 24 Apr 2007 14:02:43 +0200 @@ -331,7 +331,7 @@ SPEC should be an alist of the form ((DISPLAY ATTS)...). -In the first element, DISPLAY can be :default. The ATTS in that +In the first element, DISPLAY can be `default'. The ATTS in that element then act as defaults for all the following elements. Aside from that, DISPLAY specifies conditions to match some or @@ -341,7 +341,7 @@ elements are ignored, on that frame. In the last element, DISPLAY can be t. That element applies to a -frame if none of the previous elements (except the :default if +frame if none of the previous elements (except the `default' if any) did. ATTS is a list of face attributes followed by their values: @@ -351,7 +351,7 @@ `:slant', `:underline', `:overline', `:strike-through', `:box', `:foreground', `:background', `:stipple', `:inverse-video', and `:inherit'. -DISPLAY can be `:default' (only in the first element), the symbol +DISPLAY can be `default' (only in the first element), the symbol t (only in the last element) to match all frames, or an alist of conditions of the form \(REQ ITEM...). For such an alist to match a frame, each of the conditions must be satisfied, meaning -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
dabbrev--eliminate-newlines
1. dabbrev--eliminate-newlines is a defcustom--should it really have a double-dash name? 2. It doesn't work correctly for SPC M-/. Assume that the buffer contains this text (and dabbrev--eliminate-newlines is t (the default)): aaa bbb Then the sequence `a M-/ SPC M-/' produces this text: aaa bbb (In Emacs 21 the result was "aaa bbb".) In this case ABBREV is " ", i.e. POS = 1, in the code below [dabbrev--substitute-expansion]. This has the effect that any whitespace characters are converted, except the first one: ;; Convert whitespace to single spaces. (if dabbrev--eliminate-newlines ;; Start searching at end of ABBREV so that any whitespace ;; carried over from the existing text is not changed. (let ((pos (length abbrev))) (while (string-match "[\n \t]+" expansion pos) (setq pos (1+ (match-beginning 0))) (setq expansion (replace-match " " nil nil expansion) 2003-01-05 Richard M. Stallman <[EMAIL PROTECTED]> * dabbrev.el (dabbrev--substitute-expansion): Convert all whitespace to single spaces, except when it's carried over from the existing text. -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: Strange undo problem
"Lennart Borgman (gmail)" <[EMAIL PROTECTED]> writes: > And in elisp Info: That is, (info "(elisp)Special Properties") > `modification-hooks' > If a character has the property `modification-hooks', then its > value should be a list of functions; modifying that character > calls all of those functions. Each function receives two > arguments: the beginning and end of the part of the buffer being > modified. Note that if a particular modification hook function Wrong section. Try (info "(elisp)Overlay Properties") `modification-hooks' This property's value is a list of functions to be called if any character within the overlay is changed or if text is inserted strictly within the overlay. The hook functions are called both before and after each change. If the functions save the information they receive, and compare notes between calls, they can determine exactly what change has been made in the buffer text. When called before a change, each function receives four arguments: the overlay, `nil', and the beginning and end of the text range to be modified. When called after a change, each function receives five arguments: the overlay, `t', the beginning and end of the text range just modified, and the length of the pre-change text replaced by that range. (For an insertion, the pre-change length is zero; for a deletion, that length is the number of characters deleted, and the post-change beginning and end are equal.) If these functions modify the buffer, they should bind `inhibit-modification-hooks' to `t' around doing so, to avoid confusing the internal mechanism that calls these hooks. -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
dired-virtual-mode doc
The doc string for dired-virtual-mode speaks about the nonexistent variable `buffer-contents-mode-alist'. Also, the regexp is wrong (the "/?+" part) and a bunch of backslashes are missing. 2007-04-21 Johan Bockgård <[EMAIL PROTECTED]> * dired-x.el (dired-virtual-mode): Doc fix. *** dired-x.el 07 Apr 2007 00:27:05 +0200 1.78 --- dired-x.el 21 Apr 2007 11:39:53 +0200 *** *** 790,810 (revert-buffer))) ;; A zero-arg version of dired-virtual. - ;; You need my modified version of set-auto-mode for the - ;; `buffer-contents-mode-alist'. - ;; Or you use infer-mode.el and infer-mode-alist, same syntax. (defun dired-virtual-mode () "Put current buffer into Virtual Dired mode (see `dired-virtual'). ! Useful on `buffer-contents-mode-alist' (which see) with the regexp ! \"^ \\(/[^ /]+\\)/?+:$\" to put saved dired buffers automatically into Virtual Dired mode. ! Also useful for `auto-mode-alist' (which see) like this: ! \(setq auto-mode-alist (cons '(\"[^/]\\.dired\\'\" . dired-virtual-mode) ! auto-mode-alist)\)" (interactive) (dired-virtual (dired-virtual-guess-dir))) --- 790,807 (revert-buffer))) ;; A zero-arg version of dired-virtual. (defun dired-virtual-mode () "Put current buffer into Virtual Dired mode (see `dired-virtual'). ! Useful on `magic-mode-alist' with the regexp ! \"^ (/[^ /]+)+/?:$\" to put saved dired buffers automatically into Virtual Dired mode. ! Also useful for `auto-mode-alist' like this: ! (add-to-list 'auto-mode-alist !'(\"[^/]\\\\.dired'\" . dired-virtual-mode))" (interactive) (dired-virtual (dired-virtual-guess-dir))) -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: visiting certain .c file adds to kill ring
[EMAIL PROTECTED] (Johan Bockgård) writes: > Here are other incorrect uses of kill-* functions in lisp/progmodes: > > cc-cmds.el:859: (kill-region (progn (forward-line 0) (point)) > perl-mode.el:653: (kill-region (point) eol)) > > And there's a bunch of suspicious kill-line/kill-word/kill-region in > mantemp.el and vhdl-mode.el. In lisp/ array.el:688: (kill-line 1)) array.el:708: (kill-line 1) strokes.el:1361: (kill-region (1+ (point)) (point-max tumme.el:918: (kill-line 1) vc.el:2279: (or (eobp) (kill-line)) -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: visiting certain .c file adds to kill ring
martin rudalics <[EMAIL PROTECTED]> writes: > cc-mode doesn't like `line-beginning-position' and > `line-end-position'. [subr.el] ;; These are the XEmacs names: (defalias 'point-at-eol 'line-end-position) (defalias 'point-at-bol 'line-beginning-position) Here are other incorrect uses of kill-* functions in lisp/progmodes: cc-cmds.el:859: (kill-region (progn (forward-line 0) (point)) perl-mode.el:653: (kill-region (point) eol)) And there's a bunch of suspicious kill-line/kill-word/kill-region in mantemp.el and vhdl-mode.el. -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
CC Mode, labels not fontified
Visit $ emacs -Q +2956 .../emacs/src/eval.c The `retry:' label is not highlighted. It is fontified correctly by `M-o M-o' though. -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: complete.el 1.53/1.54 (More partial completion)
[EMAIL PROTECTED] (Johan Bockgård) writes: > Eli Zaretskii <[EMAIL PROTECTED]> writes: > >> But since you already understood that, why not tell it and save me >> some time? > > 1.54 was checked in by Eli, but he did not write it. It was this change: > > 2006-06-23 Michael Ernst <[EMAIL PROTECTED]> > > * complete.el (PC-do-completion): Retain capitalization of user > input, when possible, even if completion-ignore-case is set. > > See http://lists.gnu.org/archive/html/emacs-pretest-bug/2006-06/msg00150.html And the oversight was the last hunk. -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: complete.el 1.53/1.54 (More partial completion)
Eli Zaretskii <[EMAIL PROTECTED]> writes: > But since you already understood that, why not tell it and save me > some time? 1.54 was checked in by Eli, but he did not write it. It was this change: 2006-06-23 Michael Ernst <[EMAIL PROTECTED]> * complete.el (PC-do-completion): Retain capitalization of user input, when possible, even if completion-ignore-case is set. See http://lists.gnu.org/archive/html/emacs-pretest-bug/2006-06/msg00150.html -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
complete.el 1.53/1.54 (More partial completion)
This part of revision 1.53, complete.el, was undone by revision 1.54, but the removal wasn't mentioned in the log. Was this intentional? revision 1.53 date: 2006-05-22 20:09:40 +0200; author: monnier; state: Exp; lines: +13 -5 [...] (read-file-name-internal): Don't add the final > if the completion is not finished. Index: complete.el === RCS file: /cvsroot/emacs/emacs/lisp/complete.el,v retrieving revision 1.52 retrieving revision 1.53 diff -u -r1.52 -r1.53 --- complete.el 18 Apr 2006 17:33:33 - 1.52 +++ complete.el 22 May 2006 18:09:40 - 1.53 @@ -943,10 +950,11 @@ (if (string-match "<\\([^\"<>]*\\)>?\\'" (ad-get-arg 0)) (let* ((string (ad-get-arg 0)) (action (ad-get-arg 2)) - (name (substring string (match-beginning 1) (match-end 1))) + (name (match-string 1 string)) (str2 (substring string (match-beginning 0))) (completion-table - (mapcar (lambda (x) (format "<%s>" x)) + (mapcar (lambda (x) + (format (if (string-match "/\\'" x) "<%s" "<%s>") x)) (PC-include-file-all-completions name (PC-include-file-path) (setq ad-return-value -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Macro declarations
The byte compiler prints macro declarations without quoting. E.g. defun-cvs-mode; the definition in pcvs.el looks like this: (defmacro defun-cvs-mode (fun args docstring interact &rest body) [...] (declare (debug (&define sexp lambda-list stringp ("interactive" interactive) def-body))) [...] Note the quotes around `interactive'. However, the edebug-form-spec loaded from pcvs.*elc* lacks the quotes: (require 'pcvs) (get 'defun-cvs-mode 'edebug-form-spec) => (&define sexp lambda-list stringp (interactive interactive) def-body) This breaks edebugging. Here's a fix. 2007-03-15 Johan Bockgård <[EMAIL PROTECTED]> * emacs-lisp/bytecomp.el (byte-compile-file-form-defmumble): Use prin1 instead of princ. --- bytecomp.el 12 Mar 2007 11:11:14 +0100 2.195 +++ bytecomp.el 15 Mar 2007 15:20:38 +0100 @@ -2341,7 +2341,7 @@ (eq (car (car (cdr tail))) 'declare)) (let ((declaration (car (cdr tail (setcdr tail (cdr (cdr tail))) - (princ `(if macro-declaration-function + (prin1 `(if macro-declaration-function (funcall macro-declaration-function ',name ',declaration)) outbuffer) -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Icomplete deactivates mark in minibuffer
emacs -Q -f icomplete-mode M-x find C-SPC C-SPC (Emacs echoes "Transient-mark-mode temporarily enabled".) C-b C-b C-b Note how nothing is highlighted (the mark is immediately deactivated). This is because icomplete makes modification to the buffer, and doesn't bind deactivate-mark, while doing its internal stuff. (After this fix, if you activate the mark in the minibuffer and exit with C-g, the mark will be activated in the non-minibuffer. This problem already exists outside icomplete mode, though. (The problems with the globalness of deactivate-mark have been discussed before.)) 2007-03-07 Johan Bockgård <[EMAIL PROTECTED]> * icomplete.el (icomplete-tidy, icomplete-exhibit): Bind deactivate-mark. --- icomplete.el07 Mar 2007 22:12:37 +0100 1.42 +++ icomplete.el22 Jan 2007 00:31:46 +0100 @@ -219,7 +219,8 @@ (when (and icomplete-mode icomplete-eoinput) (unless (>= icomplete-eoinput (point-max)) - (let ((buffer-undo-list t)) ; prevent entry + (let ((buffer-undo-list t) ; prevent entry + deactivate-mark) (delete-region icomplete-eoinput (point-max ;; Reestablish the safe value. @@ -256,7 +257,8 @@ minibuffer-completion-table minibuffer-completion-predicate (not minibuffer-completion-confirm) - (buffer-undo-list t)) + (buffer-undo-list t) + deactivate-mark) ;; Do nothing if while-no-input was aborted. (if (consp text) (insert (car text)))) -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: pre-command-hook not run for DEL
[EMAIL PROTECTED] (Kim F. Storm) writes: > ! (progn > ! ;; Since notionally this is a separate command, > ! ;; run all the hooks that would be run if it were > ! ;; executed separately. Note that at this point this-command = last-command = nil. > ! (run-hooks 'post-command-hook) > ! (setq last-command this-command) > ! (setq this-original-command 'delete-region) > ! (setq this-command (or (command-remapping this-original-command) > !this-original-command)) > ! (run-hooks 'pre-command-hook) > ! (call-interactively this-command)) What's the rationale behind the order POST, PRE, COMMAND? -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: undo-information kept for *occur*
Stefan Monnier <[EMAIL PROTECTED]> writes: > This answers the question, but not the subsequent remark. I agre with the > OP that Occur should not keep track of undo info at all. Me too. 2005-08-09 Richard M. Stallman <[EMAIL PROTECTED]> * replace.el (occur-engine): Initial *Occur* output not undoable. What significance does "initial" have here? -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: pre-command-hook not run for DEL
David Reitter <[EMAIL PROTECTED]> writes: > After evaluating this, and selecting a region with the mouse, and > pressing DEL (Backspace, actually), the text in the region is > deleted. But inspection of `dbg-log' shows that pre-command-hook > wasn't run. backspace (mouse-region-delete-keys) is handled specially inside mouse-show-mark. -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Partial completion
$ emacs -Q -l complete Insert (defma ) Place point after "a" and run M-x PC-lisp-complete-symbol => Wrong type argument: sequencep, t -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
edebug-basic-spec
edebug-basic-spec/hack-one-local-variable-eval-safep forgets to remove the quote before the value in the put expression: (hack-one-local-variable-eval-safep '(put 'ediff-defvar-local 'edebug-form-spec '(form body))) => nil (hack-one-local-variable-eval-safep '(put 'ediff-defvar-local 'edebug-form-spec (form body))) => t However, I don't think that being able to put edebug-form-spec in the local variables section is very useful at all (ediff*.el does this). The library has to be loaded anyway before you debug, so this should be put in the code. -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Emacs doesn't interpret down-mouse events on `before' and `after' strings
;;; (setq ov (make-overlay 1 3)) (setq map (make-sparse-keymap)) (define-key map [down-mouse-1] 'A) (define-key map [mouse-1] 'B) (setq str (propertize "XXX" 'keymap map)) (overlay-put ov 'before-string str) (global-set-key [down-mouse-1] 'C) (global-set-key [mouse-1] 'D) M-x eval-buffer Clicking outside the overlay beeps twice and displays: Symbol's function definition is void: C Symbol's function definition is void: D Clicking on the overlay beeps once and displays: Symbol's function definition is void: B What happened to the down-mouse event? -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
replace-regexp at end of buffer
replace-regexp/perform-replace wrongly moves back a character when the match is at end of buffer. Run (perform-replace "abc" "123" nil t nil) on a buffer that ends in "abc" (no final newline). Point ends up between 2 and 3. This is because point could not move too far in this case, and so the following correction shouldn't be done [perform-replace]: ;; The code preventing adjacent regexp matches in the condition ;; of the while-loop above will haven taken us one character ;; beyond the last replacement. Undo that. (when (and regexp-flag (not match-again) (> replace-count 0)) (backward-char 1)) -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
font-lock-maximum-decoration
font-lock-maximum-decoration has been t by default since 1997, so I don't think the doc string of font-lock-mode needs this note anymore: --- font-core.el03 Aug 2006 12:41:34 +0200 1.41 +++ font-core.el28 Sep 2006 11:17:13 +0200 @@ -124,10 +124,6 @@ fontified/defontified, though fontification occurs only if the buffer is less than `font-lock-maximum-size'. -For example, to use maximum levels of fontification, put in your ~/.emacs: - - (setq font-lock-maximum-decoration t) - To add your own highlighting for some major mode, and modify the highlighting selected automatically via the variable `font-lock-maximum-decoration', you can use `font-lock-add-keywords'. -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Description of enable-local-variables in Elisp manual needs update
The description in (info "(elisp)File Local Variables") doesn't mention :safe or :all (cf. docstring). -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
More mouse-face redisplay glitches
emacs -Q M-: (info "(ediff)Session Commands") RET Click on the "i" of "Ediff" in the header line: Next: Registry of Ediff Sessions ^ Go back with "l". Click the "i" again. Some characters in the header line are still highlighted: Next: Session Groups, Prev: Session [...] ^^ ^ ^ -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: (push-mark N t t) doesn't activate region in virgin buffer
"Drew Adams" <[EMAIL PROTECTED]> writes: > emacs -Q > M-x transient-mark-mode ; turn it on > M-: (goto-char (point-min)) > M-: (mark t) ; returns nil > M-: (push-mark 20 t t) > M-: (mark t) ; returns 20 > M-: mark-active ; returns nil > > The region is not activated by the call to push-mark Yes, it is. Your recipe doesn't prove what you think it proves. (progn (push-mark 20 t t) mark-active) => t -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: font-lock: doesn't colour non-ascii dash in string correctly
Chris Moore <[EMAIL PROTECTED]> writes: > describe-char tells me it's: [...] > hardcoded face: escape-glyph (info "(emacs)Text Display") Some character sets define "no-break" versions of the space and hyphen characters, which are used where a line should not be broken. Emacs normally displays these characters with special faces (respectively, `nobreak-space' and `escape-glyph') to distinguish them from ordinary spaces and hyphens. You can turn off this feature by setting the variable `nobreak-char-display' to `nil'. If you set the variable to any other value, that means to prefix these characters with an escape character. ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: Tutorial incorrectly thinks emacs -Q uses customizations. Alarmist and confusing tutorial intro.
"Drew Adams" <[EMAIL PROTECTED]> writes: > I really think this hack does more harm than good, at least the way > it's done now. Just say that the tutorial reflects the standard Emacs > bindings. That's all. FWIW, I agree completely. -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: describe-mode problem if called with minibuffer window selected
Richard Stallman <[EMAIL PROTECTED]> writes: > Does this patch fix the remaining bug? Yes. ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: describe-mode problem if called with minibuffer window selected
Richard Stallman <[EMAIL PROTECTED]> writes: > I recall fixing something like this a few weeks ago. The code can still recurse endlessly when filling a minibuffer, if (point-min) equals 1 after narrowing in `fill-minibuffer-function' (that is if (minibuffer-prompt-end) is 1): (interactive "s")<-- C-x C-e M-q => "Lisp nesting exceeds..." -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: [:upper:] inconsistency
Stefan Monnier <[EMAIL PROTECTED]> writes: > +;; Even if there's no uppercase char, we want to detect the use of > +;; [:upper:] char-class. Similarly, it would make sense for [:lower:] to disable case-folding. -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: Dired:: "mouse 1: visit this file in other window"
Kevin Gallagher <[EMAIL PROTECTED]> writes: > or (2) Follow link when mouse-1 is clicked while it is over link > ONLY IF the window is the current selected window, otherwise, simply > select the window. ,[ C-h v mouse-1-click-in-non-selected-windows RET ] | mouse-1-click-in-non-selected-windows is a variable defined in `mouse.el'. | Its value is t | | Documentation: | *If non-nil, a Mouse-1 click also follows links in non-selected windows. | | If nil, a Mouse-1 click on a link in a non-selected window performs | the normal mouse-1 binding, typically selects the window and sets | point at the click position. ` (This is documented in the manual and NEWS too.) -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: try-completion crashes on non-obarray vector
"Juanma Barranquero" <[EMAIL PROTECTED]> writes: > On 12/8/06, Johan Bockgård <[EMAIL PROTECTED]> wrote: > >> (try-completion "" []) >> >> => >> >> Program received signal SIGSEGV, Segmentation fault. >> 0x004d7e67 in Ftry_completion (string=10456851, alist=9781604, >> predicate=9337233) at minibuf.c:1315 >> 1315 if (XSYMBOL (bucket)->next) > > Fixed. This still crashes: (try-completion "" [1]) -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
try-completion crashes on non-obarray vector
try-completion may crash Emacs when given a non-obarray vector. (try-completion "" []) => Program received signal SIGSEGV, Segmentation fault. 0x004d7e67 in Ftry_completion (string=10456851, alist=9781604, predicate=9337233) at minibuf.c:1315 1315 if (XSYMBOL (bucket)->next) ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: minibuffer -> C-h m
David Reitter <[EMAIL PROTECTED]> writes: > C-x C-f to get a minibuffer, then C-h m (or the equivalent from the > Help menu). > > "Lisp nesting exceeds..." The problem is that Emacs tries to use `fill-minibuffer-function' in a non-mini buffer. This seems to fix it (check current buffer instead of selected window): --- fill.el 07 Nov 2006 10:36:36 +0100 1.192 +++ fill.el 06 Dec 2006 13:48:57 +0100 @@ -762,7 +762,7 @@ (list (if current-prefix-arg 'full ;; First try fill-paragraph-function. (or (and (or fill-paragraph-function - (and (window-minibuffer-p (selected-window)) + (and (minibufferp) (= 1 (point-min (let ((function (or fill-paragraph-function ;; In the minibuffer, don't count the width Actually, the code can still recurse endlessly in a minibuffer where (point-min) equals 1 after narrowing in `fill-minibuffer-function' (that is if (minibuffer-prompt-end) is 1): (interactive "s") <-- C-x C-e M-q => "Lisp nesting exceeds..." -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
move-past-close-and-indent
Consider the following Emacs Lisp code (foo) ; bar Point is between the parens. After `move-past-close-and-reindent' it ends up after the semicolon, i.e inside the comment. -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Formatting `interactive' strings.
The doc for `interactive' claims that "prompts are passed to format". This isn't quite true (it uses doprnt), and there are some problems: * Number formatting is broken: (interactive "n\ns%d") <-- C-x C-e 0 RET Instead of "0", some garbage number is used as a prompt for the second arg. (interactive "n\ns%f") <-- C-x C-e 0 RET => error "Not enough arguments for format string" etc. * %X isn't recognized. (Ditto for %i, but it's undocumented anyway.) * The `#' flag isn't recognized. -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
mouse-sel.el: Use insert-for-yank
Problem: Yanking (middle-click) in mouse-sel-mode doesn't run yank handlers. Fix: 2006-10-03 Johan Bockgård <[EMAIL PROTECTED]> * mouse-sel.el (mouse-insert-selection-internal): Use insert-for-yank. --- mouse-sel.el15 Sep 2006 14:10:04 +0200 1.48 +++ mouse-sel.el03 Oct 2006 15:42:28 +0200 @@ -737,7 +737,8 @@ (mouse-set-point event)) (when mouse-sel-get-selection-function (push-mark (point) 'nomsg) -(insert (or (funcall mouse-sel-get-selection-function selection) "" +(insert-for-yank (or (funcall mouse-sel-get-selection-function selection) +"" ;;=== Handle loss of selections === ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Bug in undo-elt-crosses-region
$ emacs -Q Insert 12 Insert yy between 1 and 2 Move to the beginning of the line Delete four characters Insert Put point and mark around the two middle characters That is 1 2 y y x x x x C-SPC Now invoke selective undo, C-u C-/ (1). Repeat (2). Repeat (3). Repeat => error. The buffer contents are the nonsensical: xxyxx (1) xx1yxx (2) xx1x (3) (The expected behavior is that undo stops at step (1) since the last insertion crosses the edge of the undo region.) The logic in undo-elt-crosses-region is wrong: (undo-elt-crosses-region '(2 . 7) 1 5) => nil I believe that the (not (or (< (car FOO) end) (> (cdr FOO) start))) tests should be (and (< (car FOO) end) (> (cdr FOO) start)) (Equivalently, (not (or (>= (car FOO) end) (<= (cdr FOO) start))) ) *** simple.el 01 Oct 2006 18:07:42 +0200 1.830 --- simple.el 01 Oct 2006 19:08:06 +0200 *** *** 1648,1659 ((null (car undo-elt)) ;; (nil PROPERTY VALUE BEG . END) (let ((tail (nthcdr 3 undo-elt))) ! (not (or (< (car tail) end) ! (> (cdr tail) start) ((integerp (car undo-elt)) ;; (BEGIN . END) !(not (or (< (car undo-elt) end) ! (> (cdr undo-elt) start)) ;; Return the first affected buffer position and the delta for an undo element ;; delta is defined as the change in subsequent buffer positions if we *did* --- 1648,1659 ((null (car undo-elt)) ;; (nil PROPERTY VALUE BEG . END) (let ((tail (nthcdr 3 undo-elt))) ! (and (< (car tail) end) ! (> (cdr tail) start ((integerp (car undo-elt)) ;; (BEGIN . END) !(and (< (car undo-elt) end) ! (> (cdr undo-elt) start) ;; Return the first affected buffer position and the delta for an undo element ;; delta is defined as the change in subsequent buffer positions if we *did* -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: delsel: undo in region should revert to global when region is empty
"Drew Adams" <[EMAIL PROTECTED]> writes: > After the undo for the region is exhausted, it continues to say No > further undo information. It would be better for undo to continue > with the global undo I disagree. However, the following change will make Emacs say "No further undo information FOR REGION" for this case (as intended). Ditto when selective undo is invoked through a prefix argument. --- simple.el 25 Sep 2006 18:31:06 +0200 1.828 +++ simple.el 26 Sep 2006 13:14:14 +0200 @@ -1501,8 +1501,7 @@ then call `undo-more' one or more times to undo them." (or (listp pending-undo-list) (error (concat "No further undo information" - (and transient-mark-mode mark-active - " for region" + (and undo-in-region " for region" (let ((undo-in-progress t)) (setq pending-undo-list (primitive-undo n pending-undo-list)) (if (null pending-undo-list) -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: directory names ending with a colon confuse dired
Chris Moore <[EMAIL PROTECTED]> writes: > The match data which the (match-beginning 1) refers to is that which > was saved by the > > (re-search-forward dired-subdir-regexp nil t) > > not by the looking-at, and so the save-match-data call is really not > needed. The manual gives this piece of advice: A search which fails may or may not alter the match data. In the past, a failing search did not do this, but we may change it in the future. So don't try to rely on the value of the match data after a failing search. (info "(elisp)Simple Match Data") -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: emacs-lisp/cl.el (pushnew): void-variable x
Miles Bader <[EMAIL PROTECTED]> writes: > How about adding a new primitive `memql', a variant of memq that > uses eql -- which should be very efficient in C -- and then make the > slight tweak to cl's `member*' expander to produce that in the > default case? Yes, please. That should also fix the `(case foo (LIST-OF-KEYS ...) ...)' problem. -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: crash when function-key-map is nil
Richard Stallman <[EMAIL PROTECTED]> writes: > KEY here. KEY gets its value from > > key = keybuf[fkey->end++] > > Does an element of keybuf contain 1? > I think 1 is an invalid Lisp object, so it should not be there. (gdb) frame 5 #5 0x004bbf7f in keyremap_step (keybuf=0x7fb3e180, bufsize=30, fkey=0x7fb3dec0, input=1, doit=1, diff=0x7fb3dd9c, prompt=9427345) at keyboard.c:8429 8429 next = access_keymap_keyremap (fkey->map, key, prompt, doit); (gdb) print *fkey $5 = { map = 6645, parent = 6645, start = 17, end = 18 } (gdb) print [EMAIL PROTECTED] $6 = {9702401, 40, 140737483366928, 0, 140737483369128, 0, 140737483366848, 5367980, 140737483366928, 5367886, 4294967296, 8134148, 14866096, 8134144, 0, 140737483369128, 140737483368856, 1, 140737483367136, 5365576, 46912518591648, 678102311572810528, 2, 678102312999445120, 0, 14866096, 46912521232444, 46912521212752, 46912521165136, 22} > How did it get there? read_key_sequence is almost 1000 lines long, and I don't understand how keybuf is used or what it is supposed to contain. Sorry. A few other people have been able to reproduce this. -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: crash when function-key-map is nil
Richard Stallman <[EMAIL PROTECTED]> writes: > #0 0x00526211 in Fget (symbol=0, propname=9476017) at fns.c:2004 > No locals. > > > SYMBOL looks wrong. Can you trace back where that value came from? (I think GDB is lying here. If I set a breakpoint on Fget it displays "symbol=", and if I recompile fns.c without optimizations it changes to "symbol=1".) > #1 0x004b74d0 in parse_modifiers (symbol=1) at keyboard.c:6147 > elements = 4294967296 > #2 0x004b77c0 in reorder_modifiers (symbol=1) at keyboard.c:6266 > parsed = 9700501 > > > SYMBOL looks wrong here too. Can you trace back where that value came > from? The "1" comes from... #3 0x004c368a in access_keymap (map=11100261, idx=1, t_ok=1, noinherit=0, autoload=1) at keymap.c:527 val = 9411009 IDX here #4 0x004bbcee in access_keymap_keyremap (map=11100261, key=1, prompt=9410961, do_funcall=1) at keyboard.c:8374 next = 9410961 KEY here #5 0x004bbf7f in keyremap_step (keybuf=0x7f818780, bufsize=30, fkey=0x7f8184c0, input=1, doit=1, diff=0x7f81839c, prompt=9410961) at keyboard.c:8429 next = 9410961 key = 1 KEY here. KEY gets its value from key = keybuf[fkey->end++] #6 0x004be35a in read_key_sequence (keybuf=0x7f818780, bufsize=30, prompt=9410961, dont_downcase_last=0, can_return_switch_frame=1, fix_current_buffer=1) at keyboard.c:9386 This is inside this loop: /* Look for this sequence in key-translation-map. Scan from keytran.end until we find a bound suffix. */ while (keytran.end < fkey.start) { struct gcpro gcpro1, gcpro2, gcpro3; int done, diff; GCPRO3 (fkey.map, keytran.map, delayed_switch_frame); done = keyremap_step (keybuf, bufsize, &keytran, max (t, mock_input), 1, &diff, prompt); UNGCPRO; if (done) { mock_input = diff + max (t, mock_input); /* Adjust the function-key-map counters. */ fkey.end += diff; fkey.start += diff; goto replay_sequence; } } -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: crash when function-key-map is nil
locals. #12 0x004ad4b5 in recursive_edit_1 () at keyboard.c:1003 count = 1 val = 0 #13 0x004ad613 in Frecursive_edit () at keyboard.c:1064 count = 0 buffer = 9410961 #14 0x004ac01f in main (argc=2, argv=0x7f8190a8) at emacs.c:1794 tz = 0x0 dummy = 0 stack_bottom_variable = 0 '\0' do_initial_setlocale = skip_args = 0 rlim = { rlim_cur = 872, rlim_max = 18446744073709551615 } no_loadup = 0 junk = 0x0 -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
crash when function-key-map is nil
emacs -Q (setq function-key-map) Press a key => Segfault. -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: strange key handling on a terminal
> (define-key map "\e[27;5;9~" [?\C-\t]) [etc.] Shouldn't this be [C-tab]? (eq ?\C-\t ?\C-\C-i) => t -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: C-n doesn't work in Customize Option buffer in -nw with long value displayed
Here's a simpler test case for this line-move/field/line-wrap interaction bug: $ emacs -Q Evaluate this code (assuming window width < 90): (insert (propertize "x" 'field t) (make-string 89 ?y) "\n") Put point on the x (or the first y) and press C-n. Point doesn't move. -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
(elisp)Syntactic Font Lock
The docstring of `font-lock-syntax-table' says that "If this is nil, the major mode's syntax table is used". The Emacs Lisp manual doesn't say this--maybe it should. -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
INSTALL file
The INSTALL file says that Compiling with LessTif or Motif causes a standard File Selection Dialog to pop up when you type "C-x C-f" and similar commands. but I believe that dialogs are used only for mouse commands, not for keyboard commands. -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Documentation
* There is a "Changes in C-h bindings" heading in NEWS but the new `C-h r' command (info-emacs-manual) isn't documented there (or in the manual). * The change from using signal-USR1-hook (or USR2) to using an event isn't documented in NEWS. * eval-current-buffer has been obsoleted and replaced by eval-buffer. Some places in the Emacs and Emacs Lisp manuals refer to both eval-current-buffer and eval-buffer, some refer only to eval-current-buffer. -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: Delayed redisplay problem
[EMAIL PROTECTED] (Kim F. Storm) writes: > It doesn't happen to me with the test case you provided. > > I might be doing something wrong, but I'm not sure how to proceed. > > Maybe you can give me a 100% step-by-step test case starting from > emacs -D -Q. Try it on a tty. $ emacs -nw -Q (defun comint-scroll-to-bottom (window display-start) (let ((proc (get-buffer-process (current-buffer (when (and proc window (window-live-p window)) (let ((resize-mini-windows nil)) (save-selected-window (select-window window) (save-restriction (widen) (when (>= (point) (process-mark proc)) (save-excursion (goto-char (point-max)) (recenter -1) (sit-for 0) (let ((explicit-shell-file-name "bash")) (shell) (add-hook 'window-scroll-functions 'comint-scroll-to-bottom nil t) (comint-send-string nil "while sleep 1 ; do echo -n x ; done\n") (display-buffer "*scratch*")) M-x eval-buffer If you do `C-x o' to switch away from the *shell* buffer the update stops (for many seconds). -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Regexp compiler, problem with character classes
Character classes are translated to character alternatives during the regexp compile phase. This is wrong, since the syntax table should be taken into account during the actual matching. This may be non-trivial to fix. (with-temp-buffer (list (progn (modify-syntax-entry ?a " ") (string-match "x[[:space:]]" "xa")) (progn (modify-syntax-entry ?a "w") (string-match "x[[:space:]]" "xa" => (0 0) 0: /exactn/1/x 3: /charset [\t\f a\302\200-\303\277] 37: /succeed 38: end of pattern. Compiling pattern: x[[:space:]] Compiled pattern: 38 bytes used/174 bytes allocated. fastmap: x re_nsub: 0 regs_alloc: 0 can_be_null: 0 no_sub: 0 not_bol: 0 not_eol: 0 syntax: 340204 0: /exactn/1/x 3: /charset [\t\f a\302\200-\303\277] 37: /succeed 38: end of pattern. 0: /exactn/1/x 3: /charset [\t\f a\302\200-\303\277] 37: /succeed 38: end of pattern. As an effect you get the behavior below, since the compiler takes no care to setup the syntax in the first place: 1) emacs -Q (with-temp-buffer (string-match "x[[:space:]]" "x\n")) => nil (exit Emacs) 2) emacs -Q (with-temp-buffer (char-syntax ?\n) (string-match "x[[:space:]]" "x\n")) => 0 (Fchar_syntax does gl_state.current_syntax_table = current_buffer->syntax_table;) -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: Loading an output from prin1 (savehist bug).
Stefan Monnier <[EMAIL PROTECTED]> writes: > I think those uses of prin1 really call for some way to reliably > print data in a lisp-readable form. I.e. a variant of prin1 (or a > way to tell prin1) that ignores print-depth and friends and which > signals an error when it encounters an element that it can't print > readably (e.g. a marker, a hash table, ...). How about a `print-readably' variable? XEmacs has one, Common Lisp has *print-readably*. Hmm... In fact savehist already binds `print-readably'. -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: add info about safe-local-variable to describe-variable
Reiner Steib <[EMAIL PROTECTED]> writes: > Emacs 21 doesn't look at the safe-local-variable property at all. It does. -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
calendar autoloads
The calendar-*-date-string functions aren't interactive but are autoloaded with a non-nil INTERACTIVE arg in calendar.el. This patch removes the erroneous arg. --- calendar.el 11 May 2006 18:39:17 +0200 1.185 +++ calendar.el 11 May 2006 18:51:13 +0200 @@ -1686,12 +1686,10 @@ t) (autoload 'calendar-french-date-string "cal-french" - "String of French Revolutionary date of Gregorian date." - t) + "String of French Revolutionary date of Gregorian date.") (autoload 'calendar-mayan-date-string "cal-mayan" - "String of Mayan date of Gregorian date." - t) + "String of Mayan date of Gregorian date.") (autoload 'calendar-print-mayan-date "cal-mayan" "Show the Mayan long count, Tzolkin, and Haab equivalents of the date under the cursor." @@ -1734,8 +1732,7 @@ t) (autoload 'calendar-chinese-date-string "cal-china" - "String of Chinese date of Gregorian date." - t) + "String of Chinese date of Gregorian date.") (autoload 'calendar-absolute-from-astro "cal-julian" "Absolute date of astronomical (Julian) day number D." @@ -1745,8 +1742,7 @@ "Astronomical (Julian) day number of absolute date D.") (autoload 'calendar-astro-date-string "cal-julian" - "String of astronomical (Julian) day number of Gregorian date." - t) + "String of astronomical (Julian) day number of Gregorian date.") (autoload 'calendar-goto-astro-day-number "cal-julian" "Move cursor to astronomical (Julian) day number." @@ -1787,8 +1783,7 @@ t) (autoload 'calendar-iso-date-string "cal-iso" - "String of ISO date of Gregorian date." - t) + "String of ISO date of Gregorian date.") (autoload 'calendar-goto-islamic-date "cal-islam" "Move cursor to Islamic date." @@ -1799,16 +1794,14 @@ t) (autoload 'calendar-islamic-date-string "cal-islam" - "String of Islamic date of Gregorian date." - t) + "String of Islamic date of Gregorian date.") (autoload 'calendar-print-bahai-date "cal-bahai" "Show the Baha'i date equivalents of date." t) (autoload 'calendar-bahai-date-string "cal-bahai" - "String of Baha'i date of Gregorian date." - t) + "String of Baha'i date of Gregorian date.") (autoload 'calendar-goto-hebrew-date "cal-hebrew" "Move cursor to Hebrew date." @@ -1819,8 +1812,7 @@ t) (autoload 'calendar-hebrew-date-string "cal-hebrew" - "String of Hebrew date of Gregorian date." - t) + "String of Hebrew date of Gregorian date.") (autoload 'calendar-goto-coptic-date "cal-coptic" "Move cursor to Coptic date." @@ -1831,8 +1823,7 @@ t) (autoload 'calendar-coptic-date-string "cal-coptic" - "String of Coptic date of Gregorian date." - t) + "String of Coptic date of Gregorian date.") (autoload 'calendar-goto-ethiopic-date "cal-coptic" "Move cursor to Ethiopic date." @@ -1843,8 +1834,7 @@ t) (autoload 'calendar-ethiopic-date-string "cal-coptic" - "String of Ethiopic date of Gregorian date." - t) + "String of Ethiopic date of Gregorian date.") (autoload 'calendar-goto-persian-date "cal-persia" "Move cursor to Persian date." @@ -1855,8 +1845,7 @@ t) (autoload 'calendar-persian-date-string "cal-persia" - "String of Persian date of Gregorian date." - t) + "String of Persian date of Gregorian date.") (autoload 'show-all-diary-entries "diary-lib" "Show all of the diary entries in the diary file. ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
crash under X using compose-region with null string
$ emacs -Q Insert (compose-region 1 2 "") in the *scratch* buffer and evaluate it. Emacs crashes during redisplay: Program received signal SIGSEGV, Segmentation fault. set_glyph_string_background_width (s=0x0, start=1, last_x=892) at xdisp.c:19150 19150 if (start == s->row->used[s->area] (gdb) In GNU Emacs 22.0.50.33 (x86_64-unknown-linux-gnu, X toolkit) of 2006-05-01 on muon X server distributor `The X.Org Foundation', version 11.0.7000 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: en_US.UTF-8 locale-coding-system: utf-8 default-enable-multibyte-characters: t ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Searching Keymaps, pseudo-Lisp description
The documention for `local-map' says: This property works like `keymap' except that it specifies a keymap to use _instead of_ the buffer's local map. For most purposes (perhaps all purposes), the `keymap' is superior. There are two pseudo-Lisp descriptions, in "(elisp)Active Keymaps" and "(elisp)Searching Keymaps". The latter one is incorrect. The former one is correct but has a parenthesis error. --- keymaps.texi05 Mar 2006 19:00:56 +0100 1.74 +++ keymaps.texi26 Apr 2006 15:07:47 +0200 @@ -561,7 +561,7 @@ (@var{find-in-any} emulation-mode-map-alists) (@var{find-in-any} minor-mode-overriding-map-alist) (@var{find-in-any} minor-mode-map-alist) -(if (get-text-property (point) 'local-map)) +(if (get-text-property (point) 'local-map) (@var{find-in} (get-text-property (point) 'local-map)) (@var{find-in} (current-local-map)) (@var{find-in} (current-global-map))) @@ -670,8 +670,9 @@ (@var{find-in-any} emulation-mode-map-alists) (@var{find-in-any} minor-mode-overriding-map-alist) (@var{find-in-any} minor-mode-map-alist) -(@var{find-in} (get-text-property (point) 'local-map)) -(@var{find-in} (current-local-map) +(if (get-text-property (point) 'local-map) +(@var{find-in} (get-text-property (point) 'local-map)) + (@var{find-in} (current-local-map)))))) (@var{find-in} (current-global-map))) @end lisp -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
More safe local variables
`hack-one-local-variable-eval-safep' looks for `(put ...)' expressions involving the `lisp-indent-hook' property, but not the `lisp-indent-function' variant. The latter is the one that is documented in the manual. Maybe it should handle the `common-lisp-indent-function' property too (used by cl-indent.el). Currently (hack-one-local-variable-eval-safep '(put 'foo 'lisp-indent-hook 0)) => t (hack-one-local-variable-eval-safep '(put 'foo 'lisp-indent-function 0)) => nil (hack-one-local-variable-eval-safep '(put 'foo 'common-lisp-indent-function 0)) => nil (And maybe `hack-one-local-variable-eval-safep' could use the `safe-local-eval-function' property mechanism for checking `put' expressions.) ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
display.texi
This change to the manual revision 1.198 date: 2006-01-29 16:59:57 +; author: cyd; state: Exp; lines: +2 -2 * display.texi (Other Display Specs, Image Descriptors): Image description is a list, not a cons cell. replaced (image . PROPS) with (image PROPS). The old description was correct. The proper format is (image . PROPS) == (image . (:prop1 val1 :prop2 val2 ...)) == (image :prop1 val1 :prop2 val2 ...) -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: move-beginning-of-line
Luc Teirlinck <[EMAIL PROTECTED]> writes: > Drew Adams wrote: > >Is there some reason not to bind to >`move-beginning-of-line'? This was my #2 question. > > Not that I know of. I believe that it is just an omission. 2005-10-04 Stefan Monnier <...> * bindings.el (global-map): Resync [home] and [end] bindings with C-a and C-e. -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Emacs bugs
GNU Emacs 22.0.50.62 (x86_64-unknown-linux-gnu, X toolkit) of 2006-01-18 emacs -Q Insert this code in *scratch* and evaluate it. (progn (setq foo (make-overlay 7 7)) (let ((str (propertize "x" 'display '(space :align-to 60 (overlay-put foo 'after-string str)) (goto-char 1)) Bug 1) Press C-n => Args out of range: 0, 0 Backtrace: Debugger entered--Lisp error: (args-out-of-range 0 0) vertical-motion(1) line-move-1(1 nil nil) line-move(1 nil nil 1) byte-code("..." [arg try-vscroll line-move nil] 5) next-line(1 1) call-interactively(next-line) Bug 2) Move point back to the beginning of the buffer in the above scenario and resize the frame to make it less than ~60 columns wide. The buffer turns blank below the first line and Emacs aborts shortly after. #0 abort () at emacs.c:463 #1 0x005162ed in Fsignal (error_symbol=9689489, data=10601701) at eval.c:1593 #2 0x00501b99 in args_out_of_range (a1=0, a2=0) at data.c:142 #3 0x00557722 in validate_interval_range (object=9647604, begin=0x7fee5400, end=0x7fee5400, force=0) at textprop.c:151 #4 0x00558401 in Ftext_properties_at (position=0, object=Variable "object" is not available. ) at textprop.c:585 #5 0x0055849c in Fget_text_property (position=Variable "position" is not available. ) at textprop.c:606 #6 0x0055851c in get_char_property_and_overlay (position=0, prop=9920337, object=9647604, overlay=0x0) at textprop.c:671 #7 0x004213c6 in string_buffer_position (w=Variable "w" is not available. ) at xdisp.c:4365 #8 0x00442917 in note_mouse_highlight (f=0xf97090, x=533, y=33) at xdisp.c:22662 #9 0x0048325f in note_mouse_movement (frame=0xf97090, event=0x7fee5d10) at xterm.c:3614 #10 0x00487484 in handle_one_xevent (dpyinfo=0xe73cd0, eventp=0x7fee5e70, finish=0x7fee5f7c, hold_quit=0x7fee6fc0) at xterm.c:6556 #11 0x00489759 in XTread_socket (sd=Variable "sd" is not available. ) at xterm.c:7004 #12 0x004b43e5 in read_avail_input (expected=1) at keyboard.c:6710 #13 0x004b45ba in handle_async_input () at keyboard.c:6856 #14 0x004b460a in input_available_signal (signo=Variable "signo" is not available. ) at keyboard.c:6898 -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Iswitchb key binding
This change was made a while ago: [iswitchb.el] revision 1.64 date: 2005-11-01 07:10:49 +; author: johnw; state: Exp; lines: +1 -1 (iswitchb-define-mode-map): Re-enabled the toggle-ignore keybinding (C-a). I like the idea of binding `iswitchb-toggle-ignore' (I had already bound it to C-n in my .emacs file). It should use a different key than C-a though, the usual meaning of C-a is too important. -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
(info "(elisp)Other Display Specs")
In (info "(elisp)Other Display Specs") the STRING display property is listed twice: `STRING' Display STRING instead of the text that has this property. [...] `((margin nil) STRING)' `STRING' A display specification of this form means to display STRING instead of the text that has the display specification, at the same position as that text. This is a special case of marginal display (*note Display Margins::). Recursive display specifications are not supported--string display specifications must not have `display' properties themselves. Here's a patch that removes the first entry and moves the second one to the top. It also reverses the order of the lines "`((margin nil) STRING)'" and "`STRING'" so that `STRING' is less easy to miss (presumably that's why it was added a second time). --- display.texi21 Nov 2005 11:18:47 +0100 1.195 +++ display.texi21 Dec 2005 05:05:05 +0100 @@ -3275,7 +3275,14 @@ @table @code @item @var{string} -Display @var{string} instead of the text that has this property. [EMAIL PROTECTED] ((margin nil) @var{string}) +A display specification of this form means to display @var{string} +instead of the text that has the display specification, at the same +position as that text. This is a special case of marginal display +(@pxref{Display Margins}). + +Recursive display specifications are not supported---string display +specifications must not have @code{display} properties themselves. @item (image . @var{image-props}) This kind of display specification is an image descriptor (@pxref{Images}). @@ -3291,16 +3298,6 @@ in the range 0.0--1.0 stands for that fraction of the width or height of the entire image. [EMAIL PROTECTED] ((margin nil) @var{string}) [EMAIL PROTECTED] @var{string} -A display specification of this form means to display @var{string} -instead of the text that has the display specification, at the same -position as that text. This is a special case of marginal display -(@pxref{Display Margins}). - -Recursive display specifications are not supported---string display -specifications must not have @code{display} properties themselves. - @item (space-width @var{factor}) This display specification affects all the space characters within the text that has the specification. It displays all of these spaces ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: Interactive specs, align.el
Juri Linkov <[EMAIL PROTECTED]> writes: > I think using `region-beginning' and `region-end' is cleaner than > `(max (point) (mark))', but for `repeat-complex-command' this change > makes no difference. I does make a difference for one of them. Yes, I overlooked the `append' in the other one. Yes, it's still an improvement. -- Johan Bockgård ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Interactive specs, align.el
This change makes repetition of these commands (with `repeat-complex-command') recompute the bounds of the region rather than use the old values of point and mark. --- align.el18 Aug 2005 03:25:33 +0200 1.19 +++ align.el09 Dec 2005 07:14:35 +0100 @@ -931,8 +931,8 @@ region, call `align-regexp' and type in that regular expression." (interactive (append -(list (min (point) (mark)) - (max (point) (mark))) +(list (region-beginning) + (region-end)) (if current-prefix-arg (list (read-string "Complex align using regexp: " "\\(\\s-*\\)") @@ -988,8 +988,8 @@ default alignment rules that would have been used to identify the text to be colored." (interactive - (list (min (mark) (point)) -(max (mark) (point)) + (list (region-beginning) +(region-end) (completing-read "Title of rule to highlight: " (mapcar ___ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
sort-subr documentation
The new argument PREDICATE of sort-subr is documented in the docstring, but is missing in the Emacs Lisp manual. -- Johan Bockgård ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: Problem with minibuffer completion
Stefan Monnier <[EMAIL PROTECTED]> writes: >> run-hooks: Wrong type argument: stringp, # >^^ > This indicates a bug in the C code. And Kim's latest change seems to have fixed it. -- Johan Bockgård ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Problem with minibuffer completion
$ emacs -Q completion-common-substring => nil After quitting out of the minibuffer (C-h f TAB C-g) completion-common-substring hasn't been unbound correctly: completion-common-substring => t After that completion is broken: C-h f TAB => Making completion list... run-hooks: Wrong type argument: stringp, # (Other people have failed to reproduce this bug. I, too, can't reproduce it on another system.) In GNU Emacs 22.0.50.23 (x86_64-unknown-linux-gnu, X toolkit) of 2005-10-17 on muon X server distributor `The X.Org Foundation', version 11.0.60802000 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: en_US.UTF-8 locale-coding-system: utf-8 default-enable-multibyte-characters: t Major mode: Lisp Interaction Minor modes in effect: mouse-wheel-mode: t tooltip-mode: t auto-compression-mode: t unify-8859-on-encoding-mode: t utf-translate-cjk-mode: t line-number-mode: t Recent input: C-h f C-g C-h f C-g M-x r e p o r t Recent messages: Loading disp-table...done Loading image...done For information about the GNU Project and its goals, type C-h C-p. Loading help-fns...done Making completion list... Quit Making completion list... run-hooks: Wrong type argument: stringp, # Quit Loading emacsbug...done -- Johan Bockgård ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Fatal error (11)You are dead
Symptom: Running dunnet in batch mode crashes Emacs. $ emacs -batch -f dunnet Dead end You are at a dead end of a dirt road. The road goes to the east. In the distance you can see that it will eventually fork off. The trees here are very tall royal palms, and they are spaced equidistant from each other. There is a shovel here. >take shovel Taken. >eat shovel You forcefully shove a shovel down your throat, and start choking. You are dead. You have scored 0 out of a possible 90 points. Dead end Mark set Fatal error (11)Segmentation fault $ Backtrace: Program received signal SIGSEGV, Segmentation fault. start_display (it=0x7fbfffdf00, w=0x908980, pos={charpos = 1, bytepos = 1}) at xdisp.c:2507 2507 row = w->desired_matrix->rows + first_vpos; (gdb) bt full #0 start_display (it=0x7fbfffdf00, w=0x908980, pos= {charpos = 1, bytepos = 1}) at xdisp.c:2507 first_vpos = 0 #1 0x00446410 in Fwindow_end (window=13030416, update=13030416) at window.c:1060 startp = { charpos = 1, bytepos = 1 } it = { window = 7175331, w = 0x100976460, f = 0x2a9556a330, method = 2505482240, stop_charpos = 42, end_charpos = 9472388, s = 0xc2d340 "\261^LERCHA\372\303\222", string_nchars = 12879525, region_beg_charpos = 0, region_end_charpos = 12768066, redisplay_end_trigger_charpos = 0, multibyte_p = 1, header_line_p = 0, string_from_display_prop_p = 0, ellipsis_p = 0, dp = 0x944350, dpvec = 0x944300, dpend = 0x1, dpvec_char_len = 1, dpvec_face_id = 0, saved_face_id = -1073749960, ctl_chars = {548682063928, 1, 8795512, 5268578, 9585105, 548682063904, 548682063920, 5200233, 9585105, 5270457, 13030416, 1, 13030416, 10948128, 10948130, 1}, start = { pos = { charpos = 7579368, bytepos = 0 }, overlay_string_index = 5007941, string_pos = { charpos = 0, bytepos = 0 }, dpvec_index = 0 }, current = { pos = { charpos = 9933873, bytepos = 0 }, overlay_string_index = -1073749808, string_pos = { charpos = 127, bytepos = 147 }, dpvec_index = 0 }, overlay_strings = {548682063920, 5439651, 10948130, 8, 13030420, 182915270466, 23, 182915251952, 7579336, 0, 548682063920, 7579291, 7579320, 7579356, 548682064352, 4346438}, n_overlay_strings = 1802658125, string = 7579216, stack = {{ stop_charpos = 9375777, face_id = 0, string = 1, pos = { pos = { charpos = 9933873, bytepos = 0 }, overlay_string_index = 9375825, string_pos = { charpos = 0, bytepos = 0 }, dpvec_index = 0 }, end_charpos = 0, string_nchars = 0, area = 8, multibyte_p = 0, string_from_display_prop_p = 0, display_ellipsis_p = 0, slice = { x = 0, y = 22, width = 13710627, height = 548682064304 }, space_width = 7579220, voffset = -7776, font_height = 548682064304 }, { stop_charpos = 7579220, face_id = 0, string = 548682064288, pos = { pos = { charpos = -1073749584, bytepos = 127 }, overlay_string_index = 5270164, string_pos = { charpos = 0, bytepos = 10948130 }, dpvec_index = 0 }, end_charpos = 9375777, string_nchars = 0, area = 3221218000, multibyte_p = 1, string_from_display_prop_p = 1, display_ellipsis_p = 1, slice = { x = 548682064304, y = 548682064312, width = 1, height = 7581304 }, space_width = 9559217, voffset = 1, font_height = 548682064304 }}, sp = 0, selective_display_ellipsis_p = 0, ctl_arrow_p = 0, selective = 7581304, wrap_at_x = 0, what = 3221217872, face_id = 127, face_box_p = 1, start_of_box_run_p = 0, end_of_box_run_p = 0, overlay_strings_at_end_processed_p = 1, glyph_not_available_p = 0, starts_in_middle_of_char_p = 1, face_before_selective_p = 1, constrain_row_ascent_descent_p = 1, base_face_id = 0, c = 9375777, len = 0, cmp_id = 8, cmp_len = 0, char_to_display = 9375873, image_id = 0, slice = { x = 182915263893, y = 22, width = 182917033280, height = 7581285 }, space_width = 0, voffset = -7760, font_height = 7581131, object = 7581160, position = { charpos = 7581292, bytepos = 0 }, truncate_lines_p = 0, tab_width = -16385, truncation_pixel_width = 127, continuation_pixel_width = 0, first_visible_x = -1768326744, last_visible_x = 42, last_visible_y = -1073749208, extra_line_spacing = 1, max_extra_line_spacing = 7581008, override_ascent = 0, override_descent = 9375777, ov
Re: artist mode poly line
Joakim Verona <[EMAIL PROTECTED]> writes: > to reproduce: > > m-x artist-mode > m-x artist-select-op-poly-line > RET > move cursor about > RET > c-u RET > > theres some kind of error there... the last step is supposed to stop > the drawing of the poly-line. An earlier change to artist.el replaced `artist-last' with `last' (and deleted the `artist-last' function) . However, the definition of `artist-last' was equivalent to (car (last ...)) not (last ...) (the docstring of artist-last claimed otherwise though). Try this patch: --- artist.el 24 Sep 2005 18:26:40 +0200 1.25 +++ artist.el 02 Oct 2005 04:49:20 +0200 @@ -3379,7 +3379,7 @@ ;; that look like:\ / instead we get: ( ) ;; \ / \ / ;; -- -(let ((last-coord (last point-list))) +(let ((last-coord (car (last point-list (if (= (artist-coord-get-new-char last-coord) ?/) (artist-coord-set-new-char last-coord artist-ellipse-right-char))) @@ -3848,8 +3848,8 @@ (x2(artist-endpoint-get-x ep2)) (y2(artist-endpoint-get-y ep2)) (dir1 (artist-find-direction x2 y2 x1 y1)) -(epn (last point-list)) -(epn-1 (last point-list 2)) +(epn (car (last point-list))) +(epn-1 (car (last point-list 2))) (xn(artist-endpoint-get-x epn)) (yn(artist-endpoint-get-y epn)) (xn-1 (artist-endpoint-get-x epn-1)) -- Johan Bockgård ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
`dired-virtual' calls the deleted function `dired-insert-headerline'
`dired-virtual' calls the deleted function `dired-insert-headerline'. ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Fformat fails to detect premature end of string
(format "%" 0) => Invalid format operation %j (where "j" is some random garbage) The problem is this code in Fformat [editfns.c:3427]: while (index ("-0# ", *format)) ++format; which is executed before the `if (format == end)' test. The man page for `index' says "The index() function returns a pointer to the first occurrence of the character c in the string s. [...] The terminating NULL character is considered to be a part of the strings." So when *format is '\0' the pointer will be incremented past the end of the string. -- Johan Bockgård ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
dired-aux.el: prompt string formatted twice
2005-09-19 Johan Bockgård <[EMAIL PROTECTED]> * dired-aux.el (dired-handle-overwrite): Don't use `format' here. The prompt is formatted later. --- dired-aux.el18 Sep 2005 12:25:01 - 1.138 +++ dired-aux.el18 Sep 2005 22:44:50 - @@ -1126,8 +1126,8 @@ (setq backup (car (find-backup-file-name to))) (or (eq 'always dired-backup-overwrite) (dired-query 'overwrite-backup-query - (format "Make backup for existing file `%s'? " - to + "Make backup for existing file `%s'? " + to))) (progn (rename-file to backup 0) ; confirm overwrite of old backup (dired-relist-entry backup) ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Missing q(uote) in scheme.el
--- scheme.el 22 Aug 2005 11:51:46 +0200 1.54 +++ scheme.el 15 Sep 2005 23:40:52 +0200 @@ -157,7 +157,7 @@ (make-local-variable 'parse-sexp-ignore-comments) (setq parse-sexp-ignore-comments t) (make-local-variable 'lisp-indent-function) - (set lisp-indent-function 'scheme-indent-function) + (setq lisp-indent-function 'scheme-indent-function) (setq mode-line-process '("" scheme-mode-line-process)) (set (make-local-variable 'imenu-case-fold-search) t) (setq imenu-generic-expression scheme-imenu-generic-expression) ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Non-symbolic text property names
The manual says in (info "(elisp)Text Properties") that Each property has a name and a value. Both of these can be any Lisp object, but the name is normally a symbol. However, `propertize' doesn't let you create a string with property names that are not symbols: (propertize "foo" 0 t) => error: (wrong-type-argument symbolp 0) The CHECK_SYMBOL test in Fpropertize should be removed. This code in `describe-property-list' has to be changed as well to deal with property names that are not symbols (note that the comment is wrong, btw) or M-x describe-char will signal an error when trying to describe such text: [...] ;; Sort the properties by the size of their value. (dolist (elt (sort (let (ret) (while properties (push (list (pop properties) (pop properties)) ret)) ret) (lambda (a b) (string< (nth 0 a) (nth 0 b) [...] ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
cl-make-type-test, more
Revision 1.31 of cl-macs.el broke cl-make-type-test's handling of (NUMBER LOW HIGH) types. This patch restores the pre-1.31 behavior. (cl-make-type-test 3 '(integer 5 7)) --> without patch: (<= 3 7) with patch: (and (integerp 3) (>= 3 5) (<= 3 7)) --- cl-macs.el 05 Jul 2005 00:41:32 +0200 1.53 +++ cl-macs.el 13 Jul 2005 03:49:24 +0200 @@ -2398,7 +2399,7 @@ (cl-make-type-test val (apply (get (car type) 'cl-deftype-handler) (cdr type ((memq (car type) '(integer float real number)) - (delq t (and (cl-make-type-test val (car type)) + (delq t (list 'and (cl-make-type-test val (car type)) (if (memq (cadr type) '(* nil)) t (if (consp (cadr type)) (list '> val (caadr type)) (list '>= val (cadr type -- Johan Bockgård ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
cl-make-type-test, add atom type
This patch adds the `atom' type specifier. 2005-07-12 Johan Bockgard <[EMAIL PROTECTED]> * emacs-lisp/cl-macs.el (cl-make-type-test): Add `atom' type. --- cl-macs.el 05 Jul 2005 00:41:32 +0200 1.53 +++ cl-macs.el 12 Jul 2005 13:10:15 +0200 @@ -2384,6 +2384,7 @@ (cl-make-type-test val (funcall (get type 'cl-deftype-handler ((memq type '(nil t)) type) ((eq type 'null) `(null ,val)) + ((eq type 'atom) `(atom ,val)) ((eq type 'float) `(floatp-safe ,val)) ((eq type 'real) `(numberp ,val)) ((eq type 'fixnum) `(integerp ,val)) 2005-07-12 Johan Bockgard <[EMAIL PROTECTED]> * cl.texi (Type Predicates): Mention `atom' type. --- cl.texi 12 Apr 2005 22:02:09 +0200 1.23 +++ cl.texi 12 Jul 2005 13:32:16 +0200 @@ -736,6 +736,11 @@ @code{(null @var{object})}. @item +The type symbol @code{atom} represents all objects that are not cons +cells. Thus @code{(typep @var{object} 'atom)} is equivalent to [EMAIL PROTECTED](atom @var{object})}. + [EMAIL PROTECTED] The type symbol @code{real} is a synonym for @code{number}, and @code{fixnum} is a synonym for @code{integer}. -- Johan Bockgård ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Loading tpu-edt.el changes Emacs
(This was reported before.) Loading tpu-edt.el (e.g. by M-x customize-group RET emulations RET) defines keys in the global map: (define-key global-map "\e[" CSI-map) (define-key global-map "\eO" SS3-map) If you are running in a terminal you may find that your key is bound to `tpu-cut' etc after doing that, which is not very nice. -- Johan Bockgård ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: Docstring argument highlighting
"Richard M. Stallman" <[EMAIL PROTECTED]> writes: > I don't use macroexp; could someone verify this is correct? [...] > ! result will be eq to LIST). > ! \(fn (VAR LIST) BODY...)" The \(fn ...) construct must be preceded by a blank line. -- Johan Bockgård ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Docstring argument highlighting
Docstring highlighting signals an error when the argument names of a function contain funny characters. Example: M-x load-library RET macroexp RET C-h f macroexp-accumulate RET => Invalid regexp: "Unmatched ( or \\(" To to protect from such errors i think the following two changes would be good. The former uses regexp-quote to protect against errors. The latter makes the arguments of macroexp-accumulate display a little prettier, "(macroexp-accumulate (VAR LIST) BODY...)" instead of "(macroexp-accumulate \(VAR\ LIST\) &rest BODY)". 2005-06-30 Johan Bockgård <[EMAIL PROTECTED]> * emacs-lisp/macroexp.el (macroexp-accumulate): Doc fix. * help-fns.el (help-do-arg-highlight): Regexp-quote argument names. --- help-fns.el 01 Jun 2005 15:13:52 +0200 1.68 +++ help-fns.el 16 Jun 2005 18:17:58 +0200 @@ -277,7 +277,7 @@ (concat "\\<" ; beginning of word "\\(?:[a-z-]+-\\)?" ; for xxx-ARG "\\(" - arg + (regexp-quote arg) "\\)" "\\(?:es\\|s\\|th\\)?" ; for ARGth, ARGs "\\(?:-[a-z-]+\\)?" ; for ARG-xxx --- macroexp.el 25 May 2005 18:19:35 +0200 1.2 +++ macroexp.el 30 Jun 2005 19:36:27 +0200 @@ -51,7 +51,9 @@ Return a list of the values of the final form in BODY. The list structure of the result will share as much with LIST as possible (for instance, when BODY just returns VAR unchanged, the -result will be eq to LIST)." +result will be eq to LIST). + +\(fn (VAR LIST) BODY...)" (let ((var (car #1#)) (list (cadr #1#)) (shared (make-symbol "shared")) -- Johan Bockgård ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
arc-mode.el
In arc-mode.el there are 8 calls to `locate-file' of this kind: (locate-file "unzip" nil 'file-executable-p) This doesn't work. PATH is nil so this will never find any files. Also, PREDICATE should be the fourth argument, not the third. And in any case, shouldn't executable-find suffice here? -- Johan Bockgård ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: Infitite recursion in indentation
"Richard M. Stallman" <[EMAIL PROTECTED]> writes: > Does this patch give good results? Yes, it works now. -- Johan Bockgård ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Infitite recursion in indentation
Emacs goes into an infitite recursion when trying to indent a buffer that ends with a semicolon on a line by itself (in lisp mode). Start emacs -Q (buffer is empty) Insert a semicolon and press TAB => Variable binding depth exceeds max-specpdl-size -- Johan Bockgård ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Segfault under edebug
In GNU Emacs 22.0.50.25 (x86_64-unknown-linux-gnu, X toolkit) of 2005-06-23 on muon Instrument the following definition for edebugging with C-u C-M-x: (defun foo () (foo)) Evaluate (foo) When edebug is entered press `c' to continue. Emacs segfaults. (gdb) run -Q Starting program: /home/bojohan/cvs/emacs/src/emacs -Q Program received signal SIGSEGV, Segmentation fault. doprnt1 (lispstrings=Cannot access memory at address 0x7fbf7aff4c ) at doprnt.c:114 114 char *big_buffer = 0; (gdb) bt #0 doprnt1 (lispstrings=Cannot access memory at address 0x7fbf7aff4c ) at doprnt.c:114 #1 0x0053da1f in doprnt (buffer=0x0, bufsize=-1082457696, format=0x7fbf7aff90 , format_end=0x561dc0 "Lisp nesting exceeds `max-lisp-eval-depth'", nargs=5643754, args=0x3) at doprnt.c:72 #2 0x00503efa in error (m=0x561dc0 "Lisp nesting exceeds `max-lisp-eval-depth'", a1=0x7fbf7b01a0 "", a2=0xc8 , a3=0x561dc0 "Lisp nesting exceeds `max-lisp-eval-depth'") at eval.c:1800 #3 0x0050559e in Ffuncall (nargs=3, args=0x7fbf7b0320) at eval.c:2736 #4 0x00505007 in call2 (fn=0, arg1=548673356192, arg2=200) at eval.c:2601 #5 0x005038a3 in Fsignal (error_symbol=9477985, data=12956325) at eval.c:1536 #6 0x00503f57 in error (m=0xdc8d93 "", a1=0x7fbf7b01a0 "", a2=0xc8 , a3=0x561dc0 "Lisp nesting exceeds `max-lisp-eval-depth'") at eval.c:1817 #7 0x0050559e in Ffuncall (nargs=3, args=0x7fbf7b0560) at eval.c:2736 #8 0x000000505007 in call2 (fn=0, arg1=548673356192, arg2=200) at eval.c:2601 -- Johan Bockgård ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
scroll-margin has no effect when show-trailing-whitespace is true
`scroll-margin' has no effect when `show-trailing-whitespace' is true. -- Johan Bockgård ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
C-M-x on defface doesn't always work
C-M-x on a `defface' form doesn't work for resetting a face if the user has set the face through custom. The face spec is not used; in custom-declare-face: ;; If the user has already created the face, respect that. (let ((value (or (get face 'saved-face) spec))) -- Johan Bockgård ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
Re: `cursor-type', docstring error
Richard Stallman <[EMAIL PROTECTED]> writes: > Thanks. You missed one occurrence: (hbar . HEIGHT) display a horizontal bar cursor with width HEIGHT ^^ -- Johan Bockgård ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
`cursor-type', docstring error
The docstring of `cursor-type' should speak about "height" instead of "width" for the hbar cursor type (the manual is correct). The following two lines are wrong: hbar display a horizontal bar cursor with default width (hbar . WIDTH) display a horizontal bar cursor with width WIDTH -- Johan Bockgård ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
(emacs)Lisp Eval
In the Emacs manual, (emacs)Lisp Eval, the following is not true for C-M-x: If `C-M-x', `C-x C-e', or `M-:' is given a numeric argument, it inserts the value into the current buffer at point, rather than displaying it in the echo area. The argument's value does not matter. A prefix argument means instrument for edebug. -- Johan Bockgård ___ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug