• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.9.5/emacs-92/emacs/lisp/progmodes/

Lines Matching +defs:compilation +defs:forget +defs:errors

66 ;; These are the value of the `message' text-properties in the compilation
79 (defgroup compilation nil
86 (defcustom compilation-mode-hook nil
87 "*List of hook functions run by `compilation-mode' (see `run-mode-hooks')."
89 :group 'compilation)
92 (defcustom compilation-window-height nil
93 "*Number of lines in a compilation window. If nil, use Emacs default."
96 :group 'compilation)
98 (defvar compilation-first-column 1
101 (defvar compilation-parse-errors-filename-function nil
104 in the compilation output, and should return a transformed file name.")
107 (defvar compilation-process-setup-function nil
108 "*Function to call to customize the compilation process.
109 This function is called immediately before the compilation process is
111 while processing the output of the compilation process. The function
112 is called with variables `compilation-buffer' and `compilation-window'
113 bound to the compilation buffer and window, respectively.")
116 (defvar compilation-buffer-name-function nil
117 "Function to compute the name of a compilation buffer.
119 compilation buffer. It should return a string.
123 (defvar compilation-finish-function nil
124 "Function to call when a compilation process finishes.
125 It is called with two arguments: the compilation buffer, and a string
128 (make-obsolete-variable 'compilation-finish-function
129 "Use `compilation-finish-functions', but it works a little differently."
133 (defvar compilation-finish-functions nil
134 "Functions to call when a compilation process finishes.
135 Each function is called with two arguments: the compilation buffer,
138 (defvar compilation-in-progress nil
139 "List of compilation processes now running.")
140 (or (assq 'compilation-in-progress minor-mode-alist)
141 (setq minor-mode-alist (cons '(compilation-in-progress " Compiling")
144 (defvar compilation-error "error"
147 (defvar compilation-arguments nil
148 "Arguments that were given to `compilation-start'.")
150 (defvar compilation-num-errors-found)
152 (defconst compilation-error-regexp-alist-alist
219 (2 (compilation-face '(3))))
255 (2 compilation-info-face)
256 (3 compilation-line-face nil t)
257 (1 (compilation-error-properties 2 3 nil nil nil 0 nil)
290 nil 3 nil (2) nil (1 (compilation-face '(2))))
293 nil 1 nil (3) nil (2 (compilation-face '(3))))
310 (1 compilation-line-face prepend) (2 compilation-info-face prepend))
314 (1 compilation-line-face prepend))
318 ;; compilation-*-face by manually to eliminate the underlines.
324 (1 compilation-line-face prepend))
329 (1 compilation-info-face prepend) (2 compilation-line-face prepend))
334 (1 compilation-error-face prepend) (2 compilation-line-face prepend))
336 "Alist of values for `compilation-error-regexp-alist'.")
338 (defcustom compilation-error-regexp-alist
339 (mapcar 'car compilation-error-regexp-alist-alist)
340 "Alist that specifies how to match errors in compiler output.
346 looked up in `compilation-error-regexp-alist-alist'. You can see
348 `etc/compilation.txt' (linked below if you are customizing this).
377 See `compilation-error-face', `compilation-warning-face',
378 `compilation-info-face' and `compilation-skip-threshold'.
381 `compilation-message-face' applied. If this is nil, the text
389 compilation-error-regexp-alist-alist))
391 ,(expand-file-name "compilation.txt" data-directory))
392 :group 'compilation)
394 ;;;###autoload(put 'compilation-directory 'safe-local-variable 'stringp)
395 (defvar compilation-directory nil
398 (defvar compilation-directory-matcher
409 you may also want to change `compilation-page-delimiter'.")
411 (defvar compilation-page-delimiter
415 (defvar compilation-mode-font-lock-keywords
419 (2 (compilation-face '(4 . 3))))
422 (1 font-lock-function-name-face) (3 compilation-line-face nil t))
426 (1 compilation-info-face))
429 (1 compilation-error-face)
430 (2 compilation-error-face nil t)))
434 (defvar compilation-highlight-regexp t
438 (defvar compilation-highlight-overlay nil
439 "Overlay used to temporarily highlight compilation matches.")
441 (defcustom compilation-error-screen-columns t
445 The default is to use screen columns, which requires that the compilation
449 :group 'compilation
452 (defcustom compilation-read-command t
453 "*Non-nil means \\[compile] reads the compilation command to use.
456 :group 'compilation)
459 (defcustom compilation-ask-about-save t
463 :group 'compilation)
466 (defcustom compilation-search-path '(nil)
472 :group 'compilation)
476 "*Last shell command used to do a compilation; default for next compilation.
489 :group 'compilation)
493 (defcustom compilation-disable-input nil
494 "*If non-nil, send end-of-file as compilation process input.
496 `start-process'); synchronous compilation processes never accept input."
498 :group 'compilation
501 ;; A weak per-compilation-buffer hash indexed by (FILENAME . DIRECTORY). Each
504 (defvar compilation-locs ())
506 (defvar compilation-debug nil
507 "*Set this to t before creating a *compilation* buffer.
511 (defvar compilation-exit-message-function nil "\
512 If non-nil, called when a compilation process dies to return a status message.
515 write into the compilation buffer, and to put in its mode line.")
517 (defvar compilation-environment nil
518 "*List of environment variables for compilation to inherit.
521 starting the compilation process.")
526 (defface compilation-error
528 "Face used to highlight compiler errors."
529 :group 'compilation
532 (defface compilation-warning
537 :group 'compilation
540 (defface compilation-info
550 :group 'compilation
553 (defface compilation-line-number
556 :group 'compilation
559 (defface compilation-column-number
562 :group 'compilation
565 (defcustom compilation-message-face 'underline
567 Faces `compilation-error-face', `compilation-warning-face',
568 `compilation-info-face', `compilation-line-face' and
569 `compilation-column-face' get prepended to this, when applicable."
571 :group 'compilation
574 (defvar compilation-error-face 'compilation-error
577 (defvar compilation-warning-face 'compilation-warning
580 (defvar compilation-info-face 'compilation-info
583 (defvar compilation-line-face 'compilation-line-number
586 (defvar compilation-column-face 'compilation-column-number
590 (defvar compilation-enter-directory-face 'font-lock-function-name-face
593 (defvar compilation-leave-directory-face 'font-lock-type-face
599 (defvaralias 'compilation-last-buffer 'next-error-last-buffer)
600 (defvar compilation-parsing-end (make-marker))
601 (defvar compilation-parse-errors-function nil)
602 (defvar compilation-error-list nil)
603 (defvar compilation-old-error-list nil)
605 (defun compilation-face (type)
606 (or (and (car type) (match-end (car type)) compilation-warning-face)
607 (and (cdr type) (match-end (cdr type)) compilation-info-face)
608 compilation-error-face))
614 (defun compilation-directory-properties (idx leave)
621 compilation-leave-directory-face
622 compilation-enter-directory-face)
628 keymap compilation-button-map
640 (defmacro compilation-assq (key alist)
657 (defun compilation-error-properties (file line end-line col end-col type fmt)
700 (setq col (- (string-to-number col) compilation-first-column)))))
704 (setq end-col (- (string-to-number end-col) compilation-first-column -1))
710 (compilation-internal-error-properties file line end-line col end-col type fmt)))
712 (defun compilation-move-to-column (col screen)
720 (defun compilation-internal-error-properties (file line end-line col end-col type fmts)
726 (See `compilation-error-regexp-alist'.)"
728 (let* ((file-struct (compilation-get-file-structure file fmts))
730 ;; Do this first, as the compilation-assq`s may create new nodes.
733 (compilation-error-screen-columns compilation-error-screen-columns)
757 (compilation-move-to-column
758 end-col compilation-error-screen-columns))
764 (compilation-move-to-column
765 col compilation-error-screen-columns)
769 (setq loc (compilation-assq line (cdr file-struct)))
771 (setq end-loc (compilation-assq end-line (cdr file-struct))
772 end-loc (compilation-assq end-col end-loc))
774 (setq end-loc (compilation-assq end-col loc))))
775 (setq loc (compilation-assq col loc))
783 `(face ,compilation-message-face
785 ,@(if compilation-debug
793 keymap compilation-button-map
796 (defun compilation-mode-font-lock-keywords ()
798 (if compilation-parse-errors-function
800 '((compilation-compat-parse-errors))
803 (if compilation-directory-matcher
804 `((,(car compilation-directory-matcher)
807 (compilation-directory-properties
810 (cdr compilation-directory-matcher)))))
817 compilation-error-regexp-alist-alist))))
833 (compilation-compat-error-properties
838 (,file compilation-error-face t))
847 `(compilation-face ',type)
848 (aref [compilation-info-face
849 compilation-warning-face
850 compilation-error-face]
854 `((,line compilation-line-face nil t)))
856 `((,end-line compilation-line-face nil t)))
859 `((,col compilation-column-face nil t)))
861 `((,end-col compilation-column-face nil t)))
865 (compilation-error-properties ',file ,line ,end-line
868 append))))) ; for compilation-message-face
869 compilation-error-regexp-alist)
871 compilation-mode-font-lock-keywords)))
879 with output going to the buffer `*compilation*'.
885 `compilation-shell-minor-mode'.
887 Interactively, prompts for the command if `compilation-read-command' is
889 Additionally, with universal prefix arg, compilation buffer will be in
892 To run more than one compilation at once, start one and rename
893 the \`*compilation*' buffer to some other name with
895 termination of the main compilation process kills its
899 the function in `compilation-buffer-name-function', so you can set that
904 (if (or compilation-read-command current-prefix-arg)
914 (save-some-buffers (not compilation-ask-about-save) nil)
915 (setq compilation-directory default-directory)
916 (compilation-start command comint))
924 (save-some-buffers (not compilation-ask-about-save) nil)
926 (or (and (not (eq major-mode (nth 1 compilation-arguments)))
927 compilation-directory)
929 (apply 'compilation-start (or compilation-arguments
932 (defcustom compilation-scroll-output nil
933 "*Non-nil to scroll the *compilation* buffer window as output appears.
940 :group 'compilation)
943 (defun compilation-buffer-name (mode-name mode-command name-function)
944 "Return the name of a compilation buffer to use.
947 Likewise if `compilation-buffer-name-function' is non-nil.
953 (compilation-buffer-name-function
954 (funcall compilation-buffer-name-function mode-name))
956 (eq major-mode (nth 1 compilation-arguments)))
970 (error "Compile now works very differently, see `compilation-error-regexp-alist'"))
971 (let ((compilation-error-regexp-alist
973 compilation-error-regexp-alist)))
974 (compilation-error (replace-regexp-in-string "^No more \\(.+\\)s\\.?"
976 (compilation-start command nil name-function highlight-regexp)))
977 (make-obsolete 'compile-internal 'compilation-start)
980 (defun compilation-start (command &optional mode name-function highlight-regexp)
981 "Run compilation command COMMAND (low level interface).
985 MODE is the major mode to set in the compilation buffer. Mode
986 may also be t meaning use `compilation-shell-minor-mode' under `comint-mode'.
992 global value of `compilation-highlight-regexp'.
994 Returns the compilation buffer created."
995 (or mode (setq mode 'compilation-mode))
998 (prog1 "compilation" (require 'comint))
1005 (compilation-buffer-name name-of-mode mode name-function)))
1023 ;; Make compilation buffer read-only. The filter can still write it.
1024 ;; Clear out the compilation buffer.
1040 (compilation-shell-minor-mode))
1042 (set (make-local-variable 'compilation-highlight-regexp)
1054 ;; If we're already in the compilation buffer, go to the end
1055 ;; of the buffer, so point will track the compilation output.
1058 ;; Pop up the compilation buffer.
1063 compilation-environment
1077 (set (make-local-variable 'compilation-arguments)
1080 'compilation-revert-buffer)
1083 (set-window-point outwin (if compilation-scroll-output
1086 ;; The setup function is called before compilation-set-window-height
1087 ;; so it can set the compilation-window-height buffer locally.
1088 (if compilation-process-setup-function
1089 (funcall compilation-process-setup-function))
1090 (compilation-set-window-height outwin)
1091 ;; Start the compilation.
1102 (set-process-sentinel proc 'compilation-sentinel)
1103 (set-process-filter proc 'compilation-filter)
1105 (when compilation-disable-input
1110 (setq compilation-in-progress
1111 (cons proc compilation-in-progress)))
1122 (compilation-handle-exit 'exit status
1129 (compilation-handle-exit 'signal status
1132 (compilation-handle-exit 'bizarre status status))))
1141 (if (buffer-local-value 'compilation-scroll-output outbuf)
1148 (defun compilation-set-window-height (window)
1149 "Set the height of WINDOW according to `compilation-window-height'."
1150 (let ((height (buffer-local-value 'compilation-window-height (window-buffer window))))
1162 (defvar compilation-menu-map
1165 '("Stop Compilation" . kill-compilation))
1166 (define-key map [compilation-mode-separator2]
1168 (define-key map [compilation-first-error]
1170 (define-key map [compilation-previous-error]
1172 (define-key map [compilation-next-error]
1176 (defvar compilation-minor-mode-map
1182 (define-key map "\C-c\C-k" 'kill-compilation)
1183 (define-key map "\M-n" 'compilation-next-error)
1184 (define-key map "\M-p" 'compilation-previous-error)
1185 (define-key map "\M-{" 'compilation-previous-file)
1186 (define-key map "\M-}" 'compilation-next-file)
1188 (define-key map [menu-bar compilation]
1189 (cons "Errors" compilation-menu-map))
1191 "Keymap for `compilation-minor-mode'.")
1193 (defvar compilation-shell-minor-mode-map
1196 (define-key map "\M-\C-n" 'compilation-next-error)
1197 (define-key map "\M-\C-p" 'compilation-previous-error)
1198 (define-key map "\M-{" 'compilation-previous-file)
1199 (define-key map "\M-}" 'compilation-next-file)
1201 (define-key map [menu-bar compilation]
1202 (cons "Errors" compilation-menu-map))
1204 "Keymap for `compilation-shell-minor-mode'.")
1206 (defvar compilation-button-map
1212 "Keymap for compilation-message buttons.")
1213 (fset 'compilation-button-map compilation-button-map)
1215 (defvar compilation-mode-map
1217 ;; Don't inherit from compilation-minor-mode-map,
1224 (define-key map "\C-c\C-k" 'kill-compilation)
1225 (define-key map "\M-n" 'compilation-next-error)
1226 (define-key map "\M-p" 'compilation-previous-error)
1227 (define-key map "\M-{" 'compilation-previous-file)
1228 (define-key map "\M-}" 'compilation-next-file)
1229 (define-key map "\t" 'compilation-next-error)
1230 (define-key map [backtab] 'compilation-previous-error)
1238 (define-key map [menu-bar compilation]
1240 (set-keymap-parent submap compilation-menu-map))
1241 (define-key map [menu-bar compilation compilation-separator2]
1243 (define-key map [menu-bar compilation compilation-grep]
1245 (define-key map [menu-bar compilation compilation-recompile]
1247 (define-key map [menu-bar compilation compilation-compile]
1250 "Keymap for compilation log buffers.
1251 `compilation-minor-mode-map' is a parent of this.")
1253 (put 'compilation-mode 'mode-class 'special)
1255 (defvar compilation-skip-to-next-location t
1258 (defcustom compilation-skip-threshold 1
1263 info, are considered errors."
1267 :group 'compilation
1270 (defcustom compilation-skip-visited nil
1273 to from the current content in the current compilation buffer, even if it was
1276 :group 'compilation
1280 (defun compilation-mode (&optional name-of-mode)
1281 "Major mode for compilation log buffers.
1282 \\<compilation-mode-map>To visit the source for a line-numbered error,
1284 To kill the compilation, type \\[kill-compilation].
1286 Runs `compilation-mode-hook' with `run-mode-hooks' (which see).
1288 \\{compilation-mode-map}"
1291 (use-local-map compilation-mode-map)
1292 (setq major-mode 'compilation-mode
1295 compilation-page-delimiter)
1296 (compilation-setup)
1298 (run-mode-hooks 'compilation-mode-hook))
1300 (defmacro define-compilation-mode (mode name doc &rest body)
1302 The parent is always `compilation-mode' and the customizable `compilation-...'
1304 by replacing the first word, e.g `compilation-scroll-output' from
1307 `(define-derived-mode ,mode compilation-mode ,name
1312 "^compilation" mode-name
1319 '(compilation-buffer-name-function
1320 compilation-directory-matcher
1321 compilation-error
1322 compilation-error-regexp-alist
1323 compilation-error-regexp-alist-alist
1324 compilation-error-screen-columns
1325 compilation-finish-function
1326 compilation-finish-functions
1327 compilation-first-column
1328 compilation-mode-font-lock-keywords
1329 compilation-page-delimiter
1330 compilation-parse-errors-filename-function
1331 compilation-process-setup-function
1332 compilation-scroll-output
1333 compilation-search-path
1334 compilation-skip-threshold
1335 compilation-window-height))
1338 (defun compilation-revert-buffer (ignore-auto noconfirm)
1342 (if (or noconfirm (yes-or-no-p (format "Restart compilation? ")))
1343 (apply 'compilation-start compilation-arguments))))
1345 (defvar compilation-current-error nil
1349 (defvar compilation-messages-start nil
1350 "Buffer position of the beginning of the compilation messages.
1354 (defconst compilation-turn-on-font-lock 'turn-on-font-lock)
1356 (defun compilation-setup (&optional minor)
1357 "Prepare the buffer for the compilation parsing commands to work.
1359 `compilation-minor-mode'."
1360 (make-local-variable 'compilation-current-error)
1361 (make-local-variable 'compilation-messages-start)
1362 (make-local-variable 'compilation-error-screen-columns)
1368 ;; Note that compilation-next-error-function is for interfacing
1370 ;; coincidentally named similarly to compilation-next-error.
1371 (setq next-error-function 'compilation-next-error-function)
1374 (set (make-local-variable 'compilation-locs)
1382 (font-lock-add-keywords nil (compilation-mode-font-lock-keywords))
1389 (setq font-lock-defaults '(compilation-mode-font-lock-keywords t))
1391 (run-mode-hooks 'compilation-turn-on-font-lock)))
1394 (define-minor-mode compilation-shell-minor-mode
1395 "Toggle compilation shell minor mode.
1396 With arg, turn compilation mode on if and only if arg is positive.
1399 collide with Shell mode. See `compilation-mode'.
1400 Turning the mode on runs the normal hook `compilation-shell-minor-mode-hook'."
1402 :group 'compilation
1403 (if compilation-shell-minor-mode
1404 (compilation-setup t)
1405 (font-lock-remove-keywords nil (compilation-mode-font-lock-keywords))
1409 (define-minor-mode compilation-minor-mode
1410 "Toggle compilation minor mode.
1411 With arg, turn compilation mode on if and only if arg is positive.
1413 Compilation major mode are available. See `compilation-mode'.
1414 Turning the mode on runs the normal hook `compilation-minor-mode-hook'."
1416 :group 'compilation
1417 (if compilation-minor-mode
1418 (compilation-setup t)
1419 (font-lock-remove-keywords nil (compilation-mode-font-lock-keywords))
1422 (defun compilation-handle-exit (process-status exit-status msg)
1425 (status (if compilation-exit-message-function
1426 (funcall compilation-exit-message-function
1435 (if (and (numberp compilation-window-height)
1436 (zerop compilation-window-height))
1442 ;; Prevent that message from being recognized as a compilation error.
1444 (append '(compilation-handle-exit t) nil))
1451 (if compilation-finish-function
1452 (funcall compilation-finish-function cur-buffer msg)))
1453 (run-hook-with-args 'compilation-finish-functions cur-buffer msg)))
1455 ;; Called when compilation process changes state.
1456 (defun compilation-sentinel (proc msg)
1457 "Sentinel for compilation buffers."
1464 ;; Write something in the compilation buffer
1466 (compilation-handle-exit (process-status proc)
1473 (setq compilation-in-progress (delq proc compilation-in-progress)))))
1475 (defun compilation-filter (proc string)
1476 "Process filter for compilation buffers.
1484 (run-hooks 'compilation-filter-hook))))))
1486 ;;; test if a buffer is a compilation buffer, assuming we're in the buffer
1487 (defsubst compilation-buffer-internal-p ()
1488 "Test if inside a compilation buffer."
1489 (local-variable-p 'compilation-locs))
1491 ;;; test if a buffer is a compilation buffer, using compilation-buffer-internal-p
1492 (defsubst compilation-buffer-p (buffer)
1493 "Test if BUFFER is a compilation buffer."
1495 (compilation-buffer-internal-p)))
1497 (defmacro compilation-loop (< property-change 1+ error limit)
1507 (error ,error compilation-error)
1514 (error ,error compilation-error))
1515 (or (< (cadr msg) compilation-skip-threshold)
1519 (if compilation-skip-visited
1521 (if compilation-skip-to-next-location
1526 (defun compilation-next-error (n &optional different-file pt)
1527 "Move point to the next error in the compilation buffer.
1532 (or (compilation-buffer-p (current-buffer))
1533 (error "Not in a compilation buffer"))
1551 (compilation-loop > next-single-property-change 1-
1559 (compilation-loop < previous-single-property-change 1+
1563 (error "No %s here" compilation-error))))
1565 (defun compilation-previous-error (n)
1566 "Move point to the previous error in the compilation buffer.
1571 (compilation-next-error (- n)))
1573 (defun compilation-next-file (n)
1577 (compilation-next-error n t))
1579 (defun compilation-previous-file (n)
1583 (compilation-next-file (- n)))
1585 (defun kill-compilation ()
1588 (let ((buffer (compilation-find-buffer)))
1597 Use this command in a compilation log buffer. Sets the mark at point there."
1600 (or (compilation-buffer-p (current-buffer))
1601 (error "Not in a compilation buffer"))
1605 (setq compilation-current-error (point))
1608 ;; Return a compilation buffer.
1609 ;; If the current buffer is a compilation buffer, return it.
1610 ;; Otherwise, look for a compilation buffer and signal an error
1612 (defun compilation-find-buffer (&optional avoid-current)
1613 (next-error-find-buffer avoid-current 'compilation-buffer-internal-p))
1616 (defun compilation-next-error-function (n &optional reset)
1621 (setq compilation-current-error nil))
1622 (let* ((columns compilation-error-screen-columns) ; buffer's local value
1624 (loc (compilation-next-error (or n 1) nil
1625 (or compilation-current-error
1626 compilation-messages-start
1630 (setq compilation-current-error (point-marker)
1633 compilation-current-error
1640 (with-current-buffer (compilation-find-file marker (caar (nth 2 loc))
1655 (compilation-move-to-column (car col) columns))
1661 (compilation-goto-locus marker (nth 3 loc) (nth 3 end-loc))
1664 (defvar compilation-gcpro nil
1666 (make-variable-buffer-local 'compilation-gcpro)
1668 (defun compilation-fake-loc (marker file &optional line col)
1686 (setq file (compilation-get-file-structure file))
1687 ;; Between the current call to compilation-fake-loc and the first occurrence
1689 ;; weak hash-table compilation-locs, so we need to prevent this entry
1690 ;; in compilation-locs from being GC'd away. --Stef
1691 (push file compilation-gcpro)
1692 (let ((loc (compilation-assq (or line 1) (cdr file))))
1693 (setq loc (compilation-assq col loc))
1699 (defcustom compilation-context-lines nil
1702 compilation output window; an arrow in the left fringe points to
1706 :group 'compilation
1709 (defsubst compilation-set-window (w mk)
1710 "Align the compilation output window W with marker MK near top."
1711 (if (integerp compilation-context-lines)
1715 (- 1 compilation-context-lines))
1727 (defun compilation-goto-locus (msg mk end-mk)
1731 ;; Show compilation buffer in other window, scrolled to this error.
1732 (let* ((from-compilation-buffer (eq (window-buffer (selected-window))
1736 (w (if (and from-compilation-buffer pre-existing)
1747 (compilation-set-window w msg)
1748 compilation-highlight-regexp)))
1752 (unless pre-existing (compilation-set-window-height w))
1754 (if from-compilation-buffer
1755 ;; If the compilation buffer window was selected,
1756 ;; keep the compilation buffer in this window;
1780 (unless compilation-highlight-overlay
1781 (setq compilation-highlight-overlay
1783 (overlay-put compilation-highlight-overlay 'face 'next-error))
1793 (move-overlay compilation-highlight-overlay
1796 (move-overlay compilation-highlight-overlay
1802 'compilation-goto-locus-delete-o)
1804 (delete-overlay compilation-highlight-overlay))
1810 'compilation-goto-locus-delete-o)))))))
1816 (defun compilation-goto-locus-delete-o ()
1817 (delete-overlay compilation-highlight-overlay)
1822 'compilation-goto-locus-delete-o))
1825 (defun compilation-find-file (marker filename directory &rest formats)
1827 Search the directories in `compilation-search-path'.
1828 A nil in `compilation-search-path' means to try the
1835 (let ((dirs compilation-search-path)
1861 (compilation-set-window (display-buffer (marker-buffer marker))
1865 compilation-error filename)
1887 (defun compilation-get-file-structure (file &optional fmt)
1895 (or (gethash file compilation-locs)
1904 ;; (This is very useful for compilation-minor-mode in an rlogin-mode
1916 ;; If compilation-parse-errors-filename-function is
1918 (when compilation-parse-errors-filename-function
1920 (funcall compilation-parse-errors-filename-function
1933 (or (gethash (list filename) compilation-locs)
1936 compilation-locs))
1937 compilation-locs))))
1939 (add-to-list 'debug-ignored-errors "^No more [-a-z ]+s yet$")
1945 (defun compilation-compat-error-properties (err)
1955 keymap compilation-button-map
1964 (compilation-internal-error-properties
1967 (defun compilation-compat-parse-errors (limit)
1968 (when compilation-parse-errors-function
1969 ;; FIXME: We should remove the rest of the compilation keywords
1973 (setq compilation-error-list nil)
1974 ;; Reset compilation-parsing-end each time because font-lock
1980 (if compilation-parsing-end
1981 (set-marker compilation-parsing-end (point))
1982 (setq compilation-parsing-end (point-marker)))
1986 (funcall compilation-parse-errors-function limit nil)
1988 (dolist (err (if (listp compilation-error-list) compilation-error-list))
2004 (defun compilation-forget-errors ()
2007 (setq compilation-locs (make-hash-table :test 'equal :weakness 'value))
2008 (setq compilation-gcpro nil)
2012 ;; FIXME: The old code moved compilation-current-error (which was
2013 ;; virtually represented by a mix of compilation-parsing-end and
2014 ;; compilation-error-list) to point-min, but that was only meaningful for
2015 ;; the internal uses of compilation-forget-errors: all calls from external
2016 ;; packages seem to be followed by a move of compilation-parsing-end to
2018 ;; compilation-current-error to point-max (since the external package
2020 (setq compilation-current-error nil)
2024 (setq compilation-messages-start
2033 (add-to-list 'auto-mode-alist '("\\.gcov\\'" . compilation-mode))