emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] find-file-noselect-1


From: Nick Roberts
Subject: [PATCH] find-file-noselect-1
Date: Fri, 11 Feb 2005 09:36:16 +1300

I would like to change find-file-noselect-1, which is called by find-file.  It
would mean that if you visit a file that is part of the source code of the
current GDB session, then you can set a breakpoint by clicking in the
fringe. Pretty good huh! It could also mean that I've broken find-file, just
before the release. Not so good. Thats why I am posting it here first.

Nick


*** /home/nick/emacs/lisp/files.el.~1.745.~     2005-02-10 08:22:48.000000000 
+1300
--- /home/nick/emacs/lisp/files.el      2005-02-11 09:06:39.000000000 +1300
***************
*** 1511,1516 ****
--- 1511,1525 ----
            (make-local-variable 'find-file-literally)
            (setq find-file-literally t))
        (after-find-file error (not nowarn)))
+       (if (and (boundp 'gud-comint-buffer)
+              (buffer-name gud-comint-buffer)
+              (with-current-buffer gud-comint-buffer
+                (eq gud-minor-mode 'gdba)))
+         (progn
+           (gdb-enqueue-input
+            (list (concat "list " (file-name-nondirectory buffer-file-name)
+                          ":1\n")
+                  `(lambda () (gdb-set-gud-minor-mode ,buffer-file-name))))))
        (current-buffer))))
  
  (defun insert-file-contents-literally (filename &optional visit beg end 
replace)


*** /home/nick/emacs/lisp/progmodes/gdb-ui.el.~1.47.~   2005-02-10 
08:22:54.000000000 +1300
--- /home/nick/emacs/lisp/progmodes/gdb-ui.el   2005-02-11 09:07:10.000000000 
+1300
***************
*** 2085,2090 ****
--- 2085,2100 ----
        (goto-line (string-to-number line))
        (gdb-put-breakpoint-icon (eq flag ?y) bptno))))
  
+ (defun gdb-set-gud-minor-mode (file)
+   "Set gud-minor-mode from find-file if appropriate."
+   (goto-char (point-min))
+   (unless (search-forward "No source file named " nil t)
+       (with-current-buffer
+         (find-file-noselect file)
+       (save-current-buffer
+         (set (make-local-variable 'gud-minor-mode) 'gdba)
+         (set (make-local-variable 'tool-bar-map) gud-tool-bar-map)))))
+ 
  ;;from put-image
  (defun gdb-put-string (putstring pos &optional dprop)
    "Put string PUTSTRING in front of POS in the current buffer.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]