From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ryan Subject: Bug: org-in-src-block-p always returns nil [8.2.7b (8.2.7b-1-ga5beff-elpaplus @ /Users/ryan/.emacs.d/.cask/24.3.1/elpa/org-plus-contrib-20140714/)] Date: Thu, 07 Aug 2014 15:36:00 -0700 Message-ID: <53E3FF50.2050409@thompsonclan.org> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:36538) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XFWI8-0002jd-Eb for emacs-orgmode@gnu.org; Thu, 07 Aug 2014 18:36:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XFWI3-0006F8-3z for emacs-orgmode@gnu.org; Thu, 07 Aug 2014 18:36:12 -0400 Received: from mail-pd0-f171.google.com ([209.85.192.171]:58466) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XFWI2-0006CQ-Um for emacs-orgmode@gnu.org; Thu, 07 Aug 2014 18:36:07 -0400 Received: by mail-pd0-f171.google.com with SMTP id z10so5943109pdj.30 for ; Thu, 07 Aug 2014 15:36:05 -0700 (PDT) Received: from wireless-122-19.scripps.edu (wireless-122-19.scripps.edu. [137.131.122.19]) by mx.google.com with ESMTPSA id wc3sm18670960pac.18.2014.08.07.15.36.02 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 07 Aug 2014 15:36:03 -0700 (PDT) List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org Remember to cover the basics, that is, what you expected to happen and what in fact did happen. You don't know how to make a good report? See http://orgmode.org/manual/Feedback.html#Feedback Your bug report will be posted to the Org-mode mailing list. ------------------------------------------------------------------------ I was doing some programming and wanted to use the result of org-in-src-block-p. I discovered that this function always returned nil, because for some reason (overlays-at (point)) was always returning nil everywhere that I tried it, including inside src blocks. So I rewrote org-in-src-block-p to use org-element-at-point instead of looking at overlays at point. My new implementation is below: (defun org-in-src-block-p (&optional inside) "Whether point is in a code source block. When INSIDE is non-nil, don't consider we are within a src block when point is at #+BEGIN_SRC or #+END_SRC." (and ;; In a src block (eq (car (org-element-at-point)) 'src-block) ;; Not at block delimiter, if requested (not (and inside (let ((case-fold-search t)) (save-match-data (save-excursion (beginning-of-line) (looking-at ".*#\\+\\(begin\\|end\\)_src")))))))) Emacs : GNU Emacs 24.3.1 (x86_64-apple-darwin13.2.0, NS apple-appkit-1265.20) of 2014-06-01 on tennine-slave.macports.org Package: Org-mode version 8.2.7b (8.2.7b-1-ga5beff-elpaplus @ /Users/ryan/.emacs.d/.cask/24.3.1/elpa/org-plus-contrib-20140714/) current state: ============== (setq org-tab-first-hook '(org-hide-block-toggle-maybe org-src-native-tab-command-maybe org-babel-hide-result-toggle-maybe org-babel-header-arg-expand) org-speed-command-hook '(org-speed-command-default-hook org-babel-speed-command-hook) org-occur-hook '(org-first-headline-recenter) org-metaup-hook '(org-babel-load-in-session-maybe) org-confirm-shell-link-function 'yes-or-no-p org-support-shift-select t org-after-todo-state-change-hook '(org-clock-out-if-current) org-from-is-user-regexp "\\" org-src-mode-hook '(org-src-babel-configure-edit-buffer org-src-mode-configure-edit-buffer) org-agenda-before-write-hook '(org-agenda-add-entry-text) org-babel-pre-tangle-hook '(save-buffer) org-mode-hook '(#[nil "\300\301\302\303\304$\207" [org-add-hook change-major-mode-hook org-show-block-all append local] 5] #[nil "\300\301\302\303\304$\207" [org-add-hook change-major-mode-hook org-babel-show-result-all append local] 5] org-babel-result-hide-spec org-babel-hide-all-hashes) org-ctrl-c-ctrl-c-hook '(org-babel-hash-at-point org-babel-execute-safely-maybe) org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-hide-drawers org-cycle-hide-inline-tasks org-cycle-show-empty-lines org-optimize-window-after-visibility-change) org-confirm-elisp-link-function 'yes-or-no-p org-metadown-hook '(org-babel-pop-to-session-maybe) org-clock-out-hook '(org-clock-remove-empty-clock-drawer) )