Function: smart-objc

smart-objc is an autoloaded, interactive and byte-compiled function defined in hmouse-tag.el.

Signature

(smart-objc &optional IDENTIFIER NEXT)

Documentation

Jump to the definition of optional Objective-C IDENTIFIER or the one at point.

Optional second arg NEXT means jump to next matching Objective-C tag.

It assumes that its caller has already checked that the key was pressed in an appropriate buffer and has moved the cursor to the selected buffer.

See the documentation for smart-objc-oo-browser for the behavior of this function when the OO-Browser has been loaded. Otherwise:
 (1) on a #include statement, the include file is displayed;
     Look for include file in directory lists objc-cpp-include-path and
     objc-include-path;
 (2) on an Objective-C identifier, the identifier definition is displayed,
     assuming the identifier is found within an etags generated tag file
     in the current directory or any of its ancestor directories;
 (3) if smart-c-use-lib-man is non-nil, the Objective-C identifier is
     recognized as a library symbol, and a man page is found for the
     identifier, then the man page is displayed.

Key Bindings

Source Code

;; Defined in ~/.emacs.d/elpa/hyperbole-20260414.325/hmouse-tag.el
;;;###autoload
(defun smart-objc (&optional identifier next)
  "Jump to the definition of optional Objective-C IDENTIFIER or the one at point.
Optional second arg NEXT means jump to next matching Objective-C tag.

It assumes that its caller has already checked that the key was pressed in an
appropriate buffer and has moved the cursor to the selected buffer.

See the documentation for `smart-objc-oo-browser' for the behavior of this
function when the OO-Browser has been loaded.
Otherwise:
 (1) on a `#include' statement, the include file is displayed;
     Look for include file in directory lists `objc-cpp-include-path' and
     `objc-include-path';
 (2) on an Objective-C identifier, the identifier definition is displayed,
     assuming the identifier is found within an `etags' generated tag file
     in the current directory or any of its ancestor directories;
 (3) if `smart-c-use-lib-man' is non-nil, the Objective-C identifier is
     recognized as a library symbol, and a man page is found for the
     identifier, then the man page is displayed."

  (interactive)

  (if (fboundp 'objc-to-definition)
      ;; Only fboundp if the OO-Browser has been loaded.
      (smart-objc-oo-browser)
    (or (if identifier nil (smart-c-include-file))
	(smart-objc-tag identifier next))))