I use variable-pitch-mode with org buffers. Normally I set org-block to fixed-pitch and the code between #+BEGIN_SRC and #+END_SRC are properly rendered as fixed width fonts, also with proper syntax highlighting. However starting from last week, for some reason, although the code block font still had proper syntax highlighting, the face became the same as the variable-pitch-face as normal org-mode texts. I update my packages periodically and I think an update in org-mode caused the issue but I'm not sure what happened.
Update:
Turns out this is actually related to org-block-background face, which has been removed in org version 8.3.1 in commit f8b42e8, thus the bug. Not sure if there's a solution yet. https://stackoverflow.com/questions/26290924/fontify-r-code-blocks-in-org-mode-8 https://lists.gnu.org/archive/html/emacs-orgmode/2015-08/msg00510.html
I'm currently just locking my org-mode version to the older one.
Update 2:
The newest org-mode release, version 9.0.0, apparently lets src-blocks inherit org-block face, while the org-block-background face becomes obsolete. So now just by setting org-block face you should be able to have fixed-width fonts for all codes.